基于 ChatGPT 快速编程

119次阅读

共计 2288 个字符,预计需要花费 6 分钟才能阅读完成。

基于 ChatGPT 快速编程插图

ChatGPT 是一个由 OpenAI 训练的大型语言模型,可以进行对话、文本生成、问答等多种任务。它使用了 Transformer 架构,能够从大量语料中学习语言特征。

基于 ChatGPT 快速编程插图1

基于 ChatGPT 快速编程插图2

ChatGPT 在编程领域的应用

ChatGPT 可以在编程领域有多种应用,其中一些主要的应用如下:

代码生成:可以根据输入的需求或描述生成相应的代码。

代码提示:可以根据用户输入的代码片段,提供相应的代码提示和补全。

故障诊断:可以利用 ChatGPT 分析错误日志并给出相应的解决方案。

文档生成:可以根据输入的代码生成相应的文档。

自动测试:可以根据输入的代码生成相应的单元测试。

数据科学:可以使用 ChatGPT 来自动生成模型和数据集的描述。

不过需要注意的是, ChatGPT 是一个非常强大的语言模型,但它并不是万能的,在生成代码的场景下还需要人工编程和检查。

基于 ChatGPT 快速编程插图3

ChatGPT 是一个语言模型,它不能直接编写代码,但可以根据输入的需求或描述生成相应的代码

ChatGPT 是一个通用语言模型,能够学习任何语言。所以它可以支持许多编程语言,包括但不限于:JavaScript, Python, C++, C#, Java, Ruby, PHP, R, Swift 等。

需要注意的是,ChatGPT 的能力取决于它所学习的语料,如果语料中没有某种语言的代码,那么 ChatGPT 就不能生成这种语言的代码。

这篇文章会介绍怎样利用 ChatGPT 生成 MATLAB 的代码,实现基于 ChatGPT 的快速编程。

基于 ChatGPT 快速编程

ChatGPT 在编程领域的应用

ChatGPT 在编程领域的应用

打开 ChatGPT 网站

怎么能使用 ChatGPT,确实是一个难题,需要两个条件:

会用除了香港外的全局代理

会使用接码

大家自行搜索吧。

ChatGPT 界面如下:

基于 ChatGPT 快速编程插图4

用英文描绘问题

虽然 ChatGPT 支持中文,但个人经验觉得用 英文描述,ChatGPT 更能明白你的意思

这里举一个例子,如果我想让 ChatGPT 生成一个,基于 MATLAB 的,对图片进行 DoG filter 的函数,可以这么说:

基于 ChatGPT 快速编程插图5

这里我直接用的 DoG 来代指 Difference of Gaussians,ChatGPT 照样是可以理解的。

这是 ChatGPT 给出的代码:

基于 ChatGPT 快速编程插图6

代码:

function filtered_image = dog_filter(image, sigma1. sigma2) % convert image to grayscale image_gray = rgb2gray(image); % apply Gaussian filter with sigma1 g1 = fspecial(‘gaussian’, [5 5], sigma1); filtered1 = imfilter(image_gray, g1. ‘same’); % apply Gaussian filter with sigma2 g2 = fspecial(‘gaussian’, [5 5], sigma2); filtered2 = imfilter(image_gray, g2. ‘same’); % subtract filtered2 from filtered1 to get DoG filter result filtered_image = filtered1 – filtered2;end

这里 ChatGPT 对于变量的命名以及注释都是值得学习的,同时 ChatGPT 还给出了这个函数的使用案例和说明:

基于 ChatGPT 快速编程插图7

细化描述,让 ChatGPT 优化代码

这里 ChatGPT 给出的函数,默认的 kernel 是 [5 5]

如果我们想把这个 kernel 变成 函数里需要传入的变量,可以进一步添加描述。

因为 ChatGPT 有上下文的记忆,所以可以直接问:

基于 ChatGPT 快速编程插图8

这里会发现虽然 kernel 变成了可定义的变量,但 ChatGPT 默认这个 kernal 不是高斯的了。

我们可以进一步修正我们的描述:

基于 ChatGPT 快速编程插图9

还非常贴心的告诉我,这个 filter 有什么特点和作用:

基于 ChatGPT 快速编程插图10

修正后的代码:

function filtered_image = dog_filter(image, sigma1. sigma2. kernel_size) % convert image to grayscale image_gray = rgb2gray(image); % apply Gaussian filter with sigma1 g1 = fspecial(‘gaussian’, kernel_size, sigma1); filtered1 = imfilter(image_gray, g1. ‘same’); % apply Gaussian filter with sigma2 g2 = fspecial(‘gaussian’, kernel_size, sigma2); filtered2 = imfilter(image_gray, g2. ‘same’); % subtract filtered2 from filtered1 to get DoG filter result filtered_image = filtered1 – filtered2;end

同样,我也尝试了用 ChatGPT 自动生成 ImageJ macro,在提出一些简单任务的时候,ChatGPT 表现是很好的。

例如生成一段 ImageJ macro,实现打开图片并二值化:

基于 ChatGPT 快速编程插图11

把 for 循环加在里面:

基于 ChatGPT 快速编程插图12

以上两段 Macro 都是可以运行的。但如果再复杂一点,给更多的限定条件,那么 ChatGPT 就会出错了:

基于 ChatGPT 快速编程插图13

这里错在 getResult()函数,函数输入参数应该是:

基于 ChatGPT 快速编程插图14

ChatGPT 只选择对了”Column”,但 row 选错了。

所以 ChatGPT 暂时还不太能完成 ImageJ macro 的正确编写,但可以在它编写的 Macro 基础上进行修改,这样同样省时省力。

最后:

基于 ChatGPT 快速编程插图15

正文完
 
天天
版权声明:本站原创文章,由 天天 2023-07-13发表,共计2288字。
转载说明:

本文由 天天资讯网 整理发布,转载请注明出处.
版权声明:部分文章内容或图片来源于网络,我们尊重作者的知识产权。如有侵犯,请联系我们在第一时间删除。