不同大模型代码解释对比

news2024/11/23 16:40:52

包含ChatGPT,讯飞星火,通义千问,腾讯元宝,智谱清言。

目标是想让大模型解释一个用于预处理人体骨骼关节三维坐标数据样本进行填补空帧的Python函数。

def f_padding_none(data):
    s = data.copy()
    # print('pad the null frames with the previous frames')
    for i_s, skeleton in enumerate(tqdm(s)):  # pad
        if skeleton.sum() == 0:
            print(i_s, ' has no skeleton')
        for i_p, person in enumerate(skeleton):
            if person.sum() == 0:
                continue
            if person[0].sum() == 0:
                index = (person.sum(-1).sum(-1) != 0)
                tmp = person[index].copy()
                person *= 0
                person[:len(tmp)] = tmp
            for i_f, frame in enumerate(person):
                if frame.sum() == 0:
                    if person[i_f:].sum() == 0:
                        rest = len(person) - i_f
                        num = int(np.ceil(rest / i_f))
                        pad = np.concatenate([person[0:i_f] for _ in range(num)], 0)[:rest]
                        s[i_s, i_p, i_f:] = pad
                        break
                    else:
                        person[i_f] = person[i_f - 1]
    return s

其填补空帧的逻辑主要有三个:

1. 如果数据开头就有空帧,则将数据的后续非空帧补到开头。

2. 如果数据末尾段全是空帧,则对数据末尾空帧进行重复填充。

3. 如果数据中间有一些空帧,则使用前面一帧进行填充。

没有提前prompt,直接新建对话就问:请解释以下代码 其输入为人体骨骼节点三维坐标数据(N,C,T,V,M)。

(大模型回复有随机性,测试也不严谨,不代表各模型真实水平)

一、ChatGPT

因为我之前在别的聊天中有问过相似的问题,所以我开启了ChatGPT的临时聊天:

可以看出解释的还是中规中矩的,三个主要的逻辑都有解释到位。

二、讯飞星火

可以看出解释的比较笼统,没有说出逻辑,只是阐述了算法是怎么进行的。

追问了一下:

可以看出上下文联系能力不强。

更详细的提示了一下,解释得还可以。

之后又试了一下讯飞星火的智能体iFlyCode,其回复类似:

三、通义千问

解释的相比上一个更加有逻辑性,但是对于逻辑2和3解释的不太到位,还是有些难理解。

和上一个一样继续追问一下:

上下文联系能力比上一个好一些。

此外也试了一下官方智能体:

对于逻辑2和3相比之前有了不错的进步,但尴尬的是竟然缺少了对逻辑1的解释。

此外上下文联系能力还是没有:

四、腾讯元宝

这个问题中没有换行是因为复制进去就是这样的,其他大模型复制问题的时候没有这个情况。

解释的一般,和讯飞星火一样没有说出逻辑,只是阐述了算法是怎么进行的。

虽然在回答中已经说过了但是还是追问一下:

上下文联系能力还是可以的,此外其会在每个问题下面会进行联想:

其也有丰富的智能体库,但不是官方的就不试了:

五、智谱清言

解释的挺不错的,和ChatGPT可以说是不相上下,三个逻辑都有解释。

追问一下:

上下文联系能力不错,且也有联想追问选项。

此外CodeGeeX应该是清华和智谱联合出品的,来试一下这个智能体:

更像是给代码做注释。

六、GitHub Copilot

顺便试了一下Pycharm中的GitHub Copilot(不知道怎么设置成中文,所以中文是百度翻译):

Within each skeleton, the function iterates over each person. If a person has no data, it skips to the next person. If the first frame of a person is empty, it identifies the frames that contain data and shifts them to the beginning:

在每个骨架内,该函数迭代每个人。如果一个人没有数据,它会跳到下一个人。如果一个人的第一帧是空的,它会识别包含数据的帧并将其移动到开头:

The function then iterates over each frame of the person. If a frame is empty, it checks if all subsequent frames are also empty. If so, it pads the remaining frames with repeated data from the previous frames. Otherwise, it fills the current empty frame with the data from the previous frame:

然后,该函数迭代人的每一帧。如果一个帧是空的,它会检查所有后续帧是否也是空的。如果是这样,它会用前一帧的重复数据来填充剩余的帧。否则,它将用前一帧的数据填充当前空帧:

其实解释的是挺到位的(百度翻译后有些问题,但是英文原文是准确的)。

总结

总体来说,ChatGPT和智谱清言(ChatGLM)的效果是比较好的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2109547.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Electron32-Vue3OS桌面管理os模板|vite5+electron32+arco后台os系统

原创新作electron32.xvue3arco.design仿ipad/windows桌面os系统。 基于最新跨平台技术Electron32、Vite5、Vue3 setup、Pinia2、Arco-Design、Echarts、Sortablejs实战开发桌面版osx管理系统。内置ipad/windows两种桌面风格模板、动态json配置桌面图标、自研栅格拖拽布局模板。…

Anthropic发布Claude企业计划 对标OpenAI的ChatGPT Enterprise

领先的人工智能初创公司 Anthropic 今天宣布推出Claude企业计划,以扩大Claude在企业中的应用。OpenAI 早在 2023 年就推出了名为ChatGPT Enterprise 的类似产品,并取得了相当大的成功。事实上,OpenAI 声称,财富 500 强中已有 92% …

CentOS文件和目录命令

CentOS文件和目录命令 在CentOS上,文件和目录是操作系统的核心部分,掌握其基本操作是使用Linux的第一步。文件系统是Linux用户和系统进行交互的主要方式,理解文件和目录的管理对于执行各种操作至关重要。以下是CentOS中与文件和目录相关的主…

【有啥问啥】数据结构哈希链(Hash Chain)的详解与技术探讨

数据结构哈希链(Hash Chain)的详解与技术探讨 引言 哈希链(Hash Chain)是一种利用哈希函数将一系列数据块(或区块)链接起来的数据结构,广泛应用于区块链技术、数据完整性验证以及安全存储等领…

校园订餐系统小程序的设计

管理员账户功能包括:系统首页,个人中心,餐厅信息管理,美食信息管理,订单管理 微信端账号功能包括:系统首页,餐厅信息,美食信息,购物车,我的 开发系统&#…

Java+Swing+dat文件存储实现学生选课管理系统

JavaSwingdat文件存储实现学生选课管理系统 一、系统介绍二、系统展示1.用户登陆、注册2.课程信息查询3.添加课程4.选课5.退课 三、系统实现四、其他1.其它系统 一、系统介绍 功能展示:用户注册、用户登陆 课程管理:课程信息的查询、添加、删除 我的选课…

嵌入式全栈开发学习笔记---C++(强制类型转换/异常和文件)

目录 强制类型转换 static_cast reinterpret_cast dynamic_cast const_cast const_cast笔试 异常处理 什么是异常处理机制? 异常的基本语法 异常处理基本思想 栈解旋 异常接口声明 throw抛出类对象 异常案例 标准异常库 C的文件操作 C输入输出流 …

Unity(2022.3.41LTS) - UI详细介绍- Panel(面板)和RectTransform组件

目录 零. 简介 一、功能与作用 二、属性与设置 三、使用方法 四、优化和注意事项 五.面板总结 六. RectTransform A、主要属性 B、布局控制 C、代码控制 D.实例 控制对象靠近底部 对象紧贴底部 零. 简介 在 Unity 中,Panel(面板&#xff0…

《ICT技术成熟度曲线(2024):API全生命周期管理》

来源:Gartner。 近期Gartner发布的《Hype Cycle for ICT in China, 2024》中,将全生命周期API管理收录其中。 •收益评级:高 •市场渗透率:目标受众的 5% 至 20% •成熟度:新兴阶段  &am…

ssm微信小程序的英语学习激励系统论文源码调试讲解

2 关键技术介绍 2.1 SSM框架 开发信息管理系统的主流框架是SSM(Spring Spring MVC MyBatis),SSM框架web层使用Spring MVC框架,使传输前后端数据变得简单;对于业务层使用Spring作为轻量级控制反转和面向切面的容器框…

基于B/S的城市公交线路管理及查询系统

2 系统需求分析 需求分析是对所要做的系统进行分析,通过使用文字和图表的综合形式,以相对来说容易让人理解的方式去描绘需求的数据、功能、行为,更可以直接评审其正确性、完整性和一致性[2]。通过查询相关的资料,对所做的系统进行…

黑种草:花语中的爱与思念

一、黑种草的神秘面纱 (一)产地 黑种草原产于欧洲南部,随着被引种栽培,现在在中国长江流域及华北、新疆、云南、西藏等地也有栽培。它性喜冷凉气候,忌高温高湿,对生长环境有一定要求。在适宜的环境中&…

好看的个人导航页面html源码

源码介绍 好看的个人导航页面html源码,适合做博客介绍页或者公司介绍页。喜欢的朋友可以下载使用,源码HTML源码,记事本简单修改文字即可,上传到服务器 效果预览 源码获取 好看的个人导航页面html源码

TypeError: ‘ChatCompletion‘ object is not subscriptable 解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

S3C2440开发板:时钟,PWM定时器控制蜂鸣器发声

时钟 时钟和电源管理模块由三部分组成:时钟控制,USB 控制和电源控制。 S3C2440A 中的时钟控制逻辑可以产生必须的时钟信号,包括 CPU 的 FCLK,AHB 总线外设的 HCLK 以及 APB 总线外设的 PCLK。S3C2440A 包含两个锁相环&#xff08…

QT新建项目并运行操作步骤

1、打开qt creator 2、选择new project后选择qt widgets application,点choose 3、输入工程名称和存储路径 4、点击下一步 5、选择Qwidget 6、点击下一步,完成项目新建 7、点击运行,程序即可运行结果,显示一个界面

U盘加密软件哪个好用?盘点2024最受欢迎的10款U盘加密软件(数据安全)

随着信息安全越来越受到重视,U盘作为便捷的数据存储工具,在携带和传输重要文件时,往往面临数据泄露和丢失的风险。为此,选择一款好用且安全的U盘加密软件变得尤为重要。 为了帮助大家在2024年更好地保护敏感数据,以下…

Vue如何将网页转换成图片或PDF并上传

一.使用html2canvas获取页面元素并绘制成图片 htmlcanvas中文文档 npm install --save html2canvas<template><div><button click"uploadImg">上传</button><div ref"yourDom"><!-- ...图片中页面内容 --><img s…

【Linux】自定义协议与序列化和反序列化

一、自定义协议 1.1 自定义报文格式 在前面的博客中&#xff0c;我们可以知道在TCP协议中&#xff0c;面向的是字节流&#xff1b;而UDP协议中面向的是数据报。因此&#xff0c;在手写简单的TCP和UDP服务器中&#xff0c;所使用的是接收函数和发送函数不同。因此&#xff0c;在…

docker images

docker 装好docker之后&#xff0c;先掌握一下docker启动与停止 docker启动关闭状态 systemctl 命令是系统服务管理器指令&#xff0c;它是 service 和 chkconfig 两个命令组合。 查看 docker 的启动状态 systemctl status docker关闭 docker systemctl stop docker启动 …