【GPT4】微软对 GPT-4 的全面测试报告(2)
欢迎关注【youcans的GPT学习笔记】原创作品,火热更新中
微软对 GPT-4 的全面测试报告(1)
微软对 GPT-4 的全面测试报告(2)
【GPT4】微软对 GPT-4 的全面测试报告(2)
- 2. 多模态与跨学科的组合(Multimodal and interdisciplinary composition)
- 2.1 综合能力(Integrative ability)
- 2.2 视觉(Vision)
- 2.2.1 超越记忆的图像生成
- 2.2.2 按照详细说明生成图像 (a la Dall-E风格)
- 2.2.3 草图生成的应用可能:将 GPT-4 与现有图像合成模型结合
- 2.3 音乐
- 3. 代码生成(Coding)
- 4. 数学能力
- 5. 与世界交互
- 6. 与人类交互
- 7. 判别力
- 8. GPT4 的局限性
- 9. 社会影响
- 10. 结论与对未来展望
2023 年 3 月24日,微软研究院在 arXiv上发布了论文【Sparks of Artificial General Intelligence: Early experiments with GPT-4】,公开了对 GPT-4 进行的全面测试。 基本结论如下:
- **通用人工智能(AGI)是指拥有推理、计划、解决问题、抽象思维、理解复杂思想、快速学习和从经验中学习的能力。 **
- **通过严格的测试证明, GPT-4 除了掌握语言之外, 无需任何特殊提示就可以解决跨越数学、编程、视觉、医学、法律、心理学等领域的新颖而困难的任务。 **
- 在所有这些任务中,GPT-4 的性能惊人地接近甚至超过人类的水平,远远超过以前的模型,包括 ChatGPT。
- GPT-4 可以被视为 通用人工智能(AGI)的早期版本。
本系列介绍该文的主要内容。
2. 多模态与跨学科的组合(Multimodal and interdisciplinary composition)
衡量智力的一个关键指标是综合来自不同来源或模态的信息的能力,以及跨越不同背景或学科应用知识和技能的能力。
在本节中我们将看到,GPT-4 不仅在文学、医学、法律、数学、物理科学和编程等不同领域表现出很高水平的熟练程度,而且还能够流畅地将来自多个领域的技能和概念结合起来,显示出对复杂思想的深刻理解。
除了自然语言实验,我们还针对语言模型探索了两种特殊模态:视觉和音频。注意我们的实验是在GPT-4 的早期版本上进行的,该版本本身并不支持多模态。
注:目前讨论的 GPT4 的”多模态“是指多模态输入。本文中的 GPT 测试版本不带多模态输入功能,本节所指的”多模态“,是以文本方式输入,要求 GPT 生成多模态的输出结果,例如通过编程绘制图形、生成乐谱。
2.1 综合能力(Integrative ability)
为了展示 GPT-4 模型优秀的整合能力,我们从几个需要结合多学科的知识或技能来生成文本和代码的示例开始。我们故意挑选了训练数据很少涵盖的领域的组合,例如文学和数学,或编程和艺术。
- 为了测试模型结合艺术和编程的能力,我们要求GPT-4“生成生成画家康定斯基风格随机图像的
JavaScript代码”。参见图2.1和图b - 1中的示例图像和代码。

图2.1中,左图是 Composition 8,Wassily Kandinsky 的艺术作品,中间和右图分别由
GPT-4 和 ChatGPT 制作。prompt 是:“写一段 JavaScript 代码,随机生成绘画图像,看起来像Kandinsky 的风格。“
- 该模型能够以莎士比亚的文学风格,证明存在无限多个素数(图2.2)。

图2.2中,分别是 GPT4 和 ChatGPT 输出的结果。最后我们请 GPT4 进行了点评。
prompt:假如你是老师,你能比较下上面的两个输出吗?
GPT-4:我认为两个学生都做得很好,用莎士比亚戏剧的风格写了一个质数有无穷多个的证明。他们都使用了相同的证明的基本思想,即假设只有有限个素数,然后构造一个更大的素数,与这个假设相矛盾。他们还使用了适当的语言和词汇,以匹配莎士比亚戏剧的风格。
不过,我认为GPT-4在押韵和格律的运用上做得更好,让对话更有诗意和戏剧性。ChatGPT 完全没有使用押韵,韵律也不一致。我还觉得 GPT-4 在创造双方的对比上做得更好,一方自信,另一方怀疑,而 ChatGPT 用的是罗密欧和朱丽叶,双方都是一致和相爱的。
因此,我会给 GPT-4 打一个比ChatGPT 更高的分数。我会给GPT-4打A,给ChatGPT打B。
- 我们测试了模型结合历史和物理知识的能力,要求它写一封信支持电子粒子(Electron)作为美国总统候选人,信是由圣雄甘地(Mahatma Gandhi)写给他的妻子(Kasturba Gandhi)的(图2.3)。

图2.3中,分别是 GPT4 和 ChatGPT 输出的结果。最后我们请 GPT4 进行了点评。
prompt:假如你是老师,你能比较下上面的两个输出吗?
GPT-4:我认为两位学生都做得很好,以圣雄甘地(Mahatma Gandhi)的口吻为美国总统候选人电子(Electron)写了一封支持信。他们都用了同样的基本思路,解释了电子(Electron)为什么是一个合适且合格的候选人,电子(Electron)的愿景和计划如何与圣雄甘地的非暴力和公民不服从原则相一致。他们还用恰当的语言和语调传达了圣雄甘地对(Kasturba Gandhi)的尊重和钦佩,以及他对电子候选人资格的热情和乐观。
不过,我认为 GPT-4 在使用隐喻和意象方面做得更好,让这封信更有说服力和吸引力。GPT-4 使用电子(Electron)如何代表和影响生活的各个方面的例子,如能量、创造力、多样性、领导力、催化剂、信使和和平缔造者。ChatGPT 使用了更多事实性和技术性的描述来描述电子的属性,如尺寸、重量、稳定性、导电性和适应性。我还认为,GPT-4 在概述电子的具体提案和政策方面做得更好,而 ChatGPT 则更加模糊和笼统。
因此,我会给 GPT-4 打一个比 ChatGPT 更高的分数。我会给 GPT-4 打分 A,给 ChatGPT 打分 B+。
- 我们提示模型“为一个程序生成 python 代码,该程序将患者的年龄、性别、体重、身高和血液测试结果向量作为输入,并表明该人患糖尿病的风险是否增加”,代码在图b - 3中。
GPT-4 编写的代码如下。
# Define a function that calculates the body mass index (BMI) from weight and height
def bmi(weight, height):return weight / (height / 100) ** 2# Define a function that checks if the blood test results are abnormal
def abnormal_results(results):# Assume the results vector has four elements: fasting glucose, HbA1c, triglycerides and HDL cholesterol# Define the normal ranges for each test according to the American Diabetes Association criterianormal_glucose = (5.6, 7.0) # mmol/Lnormal_hba1c = (5.7, 6.4) # %normal_triglycerides = (0.45, 1.7) # mmol/Lnormal_hdl = (1.0, 1.6) # mmol/L for men, (1.3, 2.2) for women# Check if any of the results are outside the normal rangesabnormal_glucose = results[0] < normal_glucose[0] or results[0] > normal_glucose[1]abnormal_hba1c = results[1] < normal_hba1c[0] or results[1] > normal_hba1c[1]abnormal_triglycerides = results[2] < normal_triglycerides[0] or results[2] > normal_triglycerides[1]if results[3] < normal_hdl[0] or (sex == "male" and results[3] > normal_hdl[1]) or (sex == "female" and results[3] > normal_hdl[3]):abnormal_hdl = Trueelse:abnormal_hdl = False# Return True if any of the results are abnormal, False otherwisereturn abnormal_glucose or abnormal_hba1c or abnormal_triglycerides or abnormal_hdl# Define a function that indicates if the patient is in increased risk for diabetes
def diabetes_risk(age, sex, weight, height, results):# Calculate the BMI from weight and heightbmi_value = bmi(weight, height)# Define the BMI thresholds for overweight and obesity according to the World Health Organization criteriaoverweight = 25obesity = 30# Check if the patient is overweight or obeseif bmi_value >= obesity:weight_status = "obese"elif bmi_value >= overweight:weight_status = "overweight"else:weight_status = "normal"# Check if the patient has abnormal blood test resultsabnormal = abnormal_results(results)# Define the age threshold for increased risk according to the American Diabetes Association criteriaage_threshold = 45# Check if the patient is older than the age thresholdold = age > age_threshold# Print a message indicating the patient's risk level based on the combination of factorsif weight_status == "obese" and abnormal and old:print("You are in very high risk for diabetes. Please consult your doctor as soon as possible.")elif (weight_status == "obese" and (abnormal or old)) or (weight_status == "overweight" and abnormal and old):print("You are in high risk for diabetes. Please consult your doctor for further evaluation and advice.")elif (weight_status == "overweight" and (abnormal or old)) or (weight_status == "normal" and abnormal and old):print("You are in moderate risk for diabetes. Please monitor your blood sugar and cholesterol levels regularly and maintain a healthy lifestyle.")elif weight_status == "normal" and (abnormal or old):print("You are in low risk for diabetes. However, you may have some risk factors that need attention. Please check with your doctor if you have any symptoms or concerns.")else:print("You are in minimal risk for diabetes. Keep up the good work and stay healthy.")
chatGPT 编写的代码如下。
def is_at_risk(age, sex, weight, height, blood_tests):# Calculate body mass index (BMI)bmi = weight / (height ** 2)# Determine if the person is at increased risk based on age, sex, and BMIif (sex == "male" and age >= 45) or (sex == "female" and age >= 55):risk = Trueelif bmi >= 25:risk = Trueelse:risk = False# Check blood test results to see if they indicate increased risk for diabetesfor test in blood_tests:if test > normal_range:risk = Truebreakreturn risk
以上这些例子表明,GPT-4 不仅学习了一些不同领域和风格的通用原则和模式,而且还可以以创造性和新颖的方 式来合成这些内容。这些跨学科技能并不是 GPT-4 所独有的,ChatGPT 也可以产生一些答案,显示出对任务和所涉及领域的一些理解(见图2.2、B.2、B.3),但它们往往是不完整的,可以说,相当缺乏创造性。例如,在图2.3 中,GPT-4 在几个方面优于 ChatGPT,它会根据写信人(甘地)、收件人(他的妻子)、候选人(电子)和工作(美国总统)正确地个性化地书写信件。我们没有一个精确的方法来评估这些任务的结果,或者对两个模型进行严格的比较,但我们想让读者了解两个模型有什么不同(请注意,我们也直接要求 GPT-4 来评估差异,参见图2.2和图2.3)。
2.2 视觉(Vision)
当提示模型使用矢量图形(SVG)生成诸如猫、卡车或字母的图像时,模型产生的代码编译后通常能给出详细的、可识别的图像(图2.4)。ChatGPT对各种示例的重新运行参见附录B.2。

2.2.1 超越记忆的图像生成
有人可能会假设,模型只是从出现类似图像的训练数据中复制了代码。考虑到 GPT4 模型(不带有多模态输入的早期版本)仅在文本内容上进行训练,人们还可能认为,没有理由期望它会理解视觉概念,更不用说它将能够创建、解析和操纵图像。
然而,GPT4 模型(早期版本)似乎具有处理视觉任务的真正能力,而不是仅仅从训练数据中的类似例程中复制代码。下面的证据有力地支持了这一说法,并证明了该模型可以处理视觉概念,尽管它是纯文本训练。在第一个例子中,我们通过组合字母 Y、O 和 H 的形状来提示模型绘制一个人(具体的提示和结果见图2.5)。
如图所示,O、H 和 Y 的字母是使用 draw-line 和 draw-circle 命令创建的,模型设法将它们定位在一个看起来合理的简笔画中。训练数据包含不同字母几何形状的信息是合理的,也许字母 Y 可以看起来像手臂向上的躯干这一事实也可以从训练数据中推断出来。
可以说,为了画出一个看起来合理的简笔画,模型能够从训练数据中推断出哪些是放置这些字母的合理方式,这就不那么明显了。

在第二次迭代中,我们提示模型修正躯干和手臂的比例,并将头部放在中心位置。最后,我们要求模型添加一件衬衫和裤子(具体的提示和结果见图2.5)。为了进一步探索模型对几何概念的把握,我们还要求它创建将物体与字母表中的字母混合在一起的图像。该模型必须首先发明一种合理的方法来合并物体和字母,然后生成图像。图2.6 表明,GPT-4 通常可以保持物体和字母的身份,并以创造性的方式将它们结合在一起。

2.2.2 按照详细说明生成图像 (a la Dall-E风格)
为了进一步测试 GPT-4 生成和操纵图像的能力,我们测试了它在遵循详细说明来创建和编辑图形的性能。这项任务不仅需要生成技能,还需要解释、构图和空间技能。
第一个例子指示模型生成一个 2D图像,描述是:“一只青蛙跳进银行,问出纳员,‘你有免费的睡莲叶吗?’
出纳员回答,‘没有,但我们确实为池塘升级提供低息贷款。’”。
我们做了几次尝试来生成图像,每次生成的图像都匹配了青蛙、出纳员、银行和两个文本的关键对象的描述。我们选择了视觉上最吸引人的版本。受标准图像生成工作流程的启发,我们随后要求 GPT-4 通过添加更多细节来提升图像。GPT-4 添加了一个银行标识、一些窗户、一辆汽车、一个交通灯、几朵云,并让青蛙捧着一朵花。最后,我们让 GPT-4 执行各种任务,比如在现有的物体的基础上添加几个物体,给一些物体重新上色,改变一些物体在z轴上的顺序。GPT-4正确地完成了所有的任务。最终的结果如图2.7 (a)和图b - 4所示的提示。
我们的第二个例子是尝试用 JavaScript 生成一个 3D 模型。我们的提示是:“漂浮的岛屿、瀑布和桥梁组成的梦幻景观,天空中有一条飞龙,最大的岛屿上有一座城堡”。与 2D 实验类似,我们要求 GPT-4 以各种方式修改 3D 模型,例如添加、重新定位、重新着色物体以及改变龙的轨迹。同样,GPT-4 正确地完成了许多任务。最终的结果如图2.7 (b)所示,提示如图b-5所示。这是一个3D动画,有多条龙在岛屿上空盘旋。

2.2.3 草图生成的应用可能:将 GPT-4 与现有图像合成模型结合
近年来,文本到图像合成模型被广泛探索,但它们往往缺乏空间理解能力,无法遵循复杂的指令。例如,给定“在左边画一个蓝色的圆,在右边画一个红色的三角形”这样的提示,这些模型可能会产生视觉上吸引人的图像,但与所期望的布局或颜色不匹配。
GPT-4 可以从提示符生成代码,提示符可以被渲染为图像,以一种更准确的方式忠实于指令。然而,渲染后的图像质量通常很低。在这里,我们通过使用 GPT-4 输出作为草图来探索将 GPT-4 与现有图像合成模型结合的可能性。
如图2.8所示,这种方法可以生成质量更好的图像,并且比单独使用任何一个模型都更紧密地遵循说明。我们相信,这是一个很有希望的方向,可以充分发挥 GPT-4 和现有图像合成模型的优势。它也可以被视为让 GPT-4 使用工具的第一个例子,我们在5.1节中更深入地探讨了这个想法。

2.3 音乐
训练模型的数据还包含编码为 ABC 符号的音乐信息。这是一个使用字母、数字和符号,以紧凑和可读的方式来表示音乐音高、持续时间、和弦和其他元素的系统。
我们感兴趣的是探索该模型如何从这种数据中获得音乐技能,例如创作新的旋律,转换现有的旋律,以及理解音乐模式和结构。
当指示生成一个短曲子(图2.9)时,模型能够产生有效的 ABC 记谱法。曲调具有清晰的结构,小节之间的拍子记号是一致的,音符遵循递增和递减的模式。这首曲子在旋律中也使用了一组一致的音符,节奏也有重复的模式。然而,该模型似乎并没有获得理解和声的技巧。事实上,在生成的曲调中,连续的音符几乎总是彼此相邻的(也就是说,C 后面的音符通常不是 B 就是 D),在测试10个生成的曲调时,我们无法提取任何清晰的和弦或琶音。
随后,我们要求模型用音乐术语来描述曲调。它能够从重复、旋律的上升或下降部分以及在某种程度上的节奏方面成功地给出结构的技术描述。然而,似乎对和声和和弦的描述与音符并不一致(事实上,它指的是相邻音符的序列,这些音符并不构成有效的和弦,如琶音)。然后,我们要求模型用两种方式来操纵旋律。首先,我们指示它把一个特定的上升序列变成下降序列,它成功地做到了。然后,我们要求模型将曲调转换为添加低音的二重唱。该模型成功地用第二个五线谱扩展了ABC符号,该五线谱具有兼容的节奏,并在较低的八度上演奏,但两者之间缺乏和谐的声音。
总之,该模型能够以 ABC 记谱法产生有效的曲调,并在某种程度上解释和操纵它们的结构。然而,我们无法让模型产生任何非平凡形式的和声。需要注意的是,ABC 记谱法并不是一种使用非常广泛的格式,事实上,该模型甚至无法产生 ABC 记谱法中最知名的曲调(如欢乐颂Ode to Joy、致爱丽丝Fur Elise 或绿袖Greensleeves,这些曲调在网上很丰富),也无法识别这些曲调。

3. 代码生成(Coding)
4. 数学能力
5. 与世界交互
6. 与人类交互
7. 判别力
8. GPT4 的局限性
9. 社会影响
10. 结论与对未来展望
【本节完,待续】
版权声明:
youcans@xupt 作品,转载必须标注原文链接:
【微软对 GPT-4 的全面测试报告(2)】:https://blog.csdn.net/youcans/category_12244543.html
Copyright 2022 youcans, XUPT
Crated:2023-3-28
参考资料:
【GPT-4 微软研究报告】:
Sparks of Artificial General Intelligence: Early experiments with GPT-4, by Sébastien Bubeck, Varun Chandrasekaran, Ronen Eldan, et al.
下载地址:https://arxiv.org/pdf/2303.12712.pdf
相关文章:
【GPT4】微软对 GPT-4 的全面测试报告(2)
欢迎关注【youcans的GPT学习笔记】原创作品,火热更新中 微软对 GPT-4 的全面测试报告(1) 微软对 GPT-4 的全面测试报告(2) 【GPT4】微软对 GPT-4 的全面测试报告(2)2. 多模态与跨学科的组合&…...
Docker打包exe运行环境
Docker打包exe运行环境 本文运行环境 Window安装Docker环境 修改配置 点击Switch to Window containers OS/Arch 变为 windows/amd64 拉取window镜像 访问Nano Server找到需要的Window版本拉取镜像 运行镜像测试 进入到容器内部 其他内容就自由发挥啦~~ 参考内容…...
springboot+vue田径运动会成绩管理系统java
springboot是基于spring的快速开发框架, 相比于原生的spring而言, 它通过大量的java config来避免了大量的xml文件, 只需要简单的生成器便能生成一个可以运行的javaweb项目, 是目前最火热的java开发框架 田径运动会成绩管理系统,主要的模块包括首页、个人中心、赛…...
我能“C”——详解操作符(上)
目录 1.操作符的分类: 2. 算数操作符 3.移位操作符 4.位操作符 5.赋值操作符 6.单目操作符 7.关系操作符 8.逻辑操作符 THE END 1.操作符的分类: 操作符也叫运算符 算术操作符 移位操作符 位操作符 赋值操作符 单目操作符 关系操作符 逻辑…...
第一章Vue基础
文章目录前端发展史前端三要素JavaScript框架UI框架JavaScript构建工具三端合一什么是VueVue的好处什么是MVVM为什么要使用MVVM环境配置第一个Vue程序声明式渲染模板语法绑定样式数据绑定为什么要实现数据的双向绑定el与data的两种写法条件渲染事件驱动事件的基本用法事件修饰符…...
【虚幻引擎UE】UE5核心效率插件推荐
一、UnrealEditorPythonScripts (基于UE5 的Python支持插件) 支持Python语言基于UE5进行开发 GIT地址:https://github.com/mamoniem/UnrealEditorPythonScripts 二、Haxe-UnrealEngine5 (基于UE5 的Haxe支持插件) Haxe是一门新兴的开源编程语言,是一种开源的编程语言。…...
记录丨阿里云校招生的成长经历
为了帮助大家更好地了解阿里云云原生应用平台团队同学的成长路径,我们采访了6位各个时间点加入阿里云的学长学姐们,希望他们的经历可以帮助到大家。 经历分享 钰诚丨2022年加入阿里云,校招 大家好,我叫钰诚,目前刚来…...
蓝桥杯第14天(Python版)
并查集的使用# 并查集模板 N400 fa[] def init(): # 初始化,默认自身为根接点for i in range(N):fa.append(i)def merge(x,y): # 发现可以合并,默认选x的根节点为根接点fa[find(x)]find(y)def find(x): # 相等就是根结点,不然就递归查找根…...
双指针常用方法
1.双指针介绍 双指针是解题时一种常见的思路,一般有两种用法。 1)两个指针反方向,分别从数组开头和结尾开始移动,例如对有序数组的搜索。 2)两个指针同方向移动,例如快慢指针,都是从数组开头…...
人工智能大模型之ChatGPT原理解析
前言 近几个月ChatGPT爆火出圈,一路狂飙;它功能十分强大,不仅能回答各种各样的问题,还可以信写作,给程序找bug…我经过一段时间的深度使用后,十分汗颜,"智障对话"体验相比,…...
傅里叶谱方法-傅里叶谱方法的原理、快速傅里叶变换及其Matlab程序实现
第 3 章 傅里叶谱方法 本章介绍的求解偏微分方程(组)的方法都包含着周期性边界条件, 尽管周期性边界条件不属于数学物理方法中常见的传统三类边界条件, 但它并不脱离实际。某些科学问题的研究重点不受边界的影响, 如孤子之间的相互作用 (非线性薛定谔方程或 K d V \mathrm{…...
11万字数字政府智慧政务大数据建设平台(大数据底座、数据治理)
本资料来源公开网络,仅供个人学习,请勿商用,如有侵权请联系删除。部分资料内容: 一.1.1 数据采集子系统 数据采集需要实现对全区各委办单位的数据采集功能,包括离线采集、准实时采集和实时采集的采集方式,根…...
Node.js学习笔记——Node.js模块化
一、介绍 1.1.什么是模块化与模板? 将一个复杂的程序文件依据一定规则(规范)拆分成多个文件的过程称之为模块化。 其中拆分出的每个文件就是一个模块,模块的内部数据是私有的,不过模块可以暴露内部数据以便其他模块…...
【洛谷刷题】蓝桥杯专题突破-广度优先搜索-bfs(12)
目录 写在前面: 题目:P1746 离开中山路 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目描述: 输入格式: 输出格式: 输入样例: 输出样例: 解题思路: 代码: …...
【数据结构】堆(堆的实现 堆向下调整算法 堆的创建 堆的插入 堆的删除 堆的代码实现 堆的应用)
文章目录堆的实现堆向下调整算法堆的创建堆的插入堆的删除堆的代码实现堆的应用堆的实现 堆是属于操作系统进程地址空间内存区域的划分。 我们下面实现数据结构中的堆。 堆是一个完全二叉树:分为小根堆和大根堆。 小根堆:任何一个节点的值都<孩子的…...
JDBC数据库驱动的下载与安装与连接
目录 JDBC数据库驱动下载 Intellij IDEA安装JDBC驱动 在使用 JDBC 之前,需要下载相应的 JDBC 驱动程序,该驱动程序应该与你使用的数据库的版本相对应。可以在数据库官网上找到相应的 JDBC 驱动程序。 JDBC数据库驱动下载 点击官方链接 MySQL :: MySQ…...
如何更改 PDF 背景颜色?
PDF 是用于简洁演示的文件格式,许多员工都参考它来演示文件。如果您想要 PDF 文本的最佳对比度方案,我们建议您更改PDF 背景颜色。您甚至可以更改 PDF 颜色的文本,但它不会有太大吸引力,而是尝试使用 PDF 背景更改器应用程序。如果…...
room数据库使用以及增加表的使用
依赖 "androidx.room:room-runtime:2.2.6" "androidx.room:room-compiler:2.2.6" 1.实体类 实体类需要保存到数据库的新类用Entity注解表示 tableName是数据库中表的名字,my_advert可以根据自己需要自定义 PrimaryKey,NonNull主键…...
WiFi-交互过程分析
目录 1.802.11 标准简介 2.802.11 协议格式 2.1管理帧协议格式 2.1.1(Beacon (信标) 帧) 2.1.2(Probe Request (探测请求) 帧) 2.1.3(Probe Response (探测响应) 帧) 2.1.4(ATIM 帧) 2.1.5(Disassociation (解除关联) 与 Deauthentication (解除认证) 帧) 2.1.6(Assoc…...
基于ZYNQ+linux+xenomai 的多轴运动控制平台关键技术研发-测试系统搭建(四)
本章搭建实验测试平台,对多轴运动控制平台的硬件功能和系统任务通信功能 进行测试。通过测试结果,进行平台硬件设计正确性验证和系统实时处理与同步控制 的功能与性能验证。 5.1 测试平台搭建 多轴运动控制系统的测试平台搭建如图 5.1 所示。测试平台由安…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...
Linux 文件类型,目录与路径,文件与目录管理
文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...
Java 二维码
Java 二维码 **技术:**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...
【C++】纯虚函数类外可以写实现吗?
1. 答案 先说答案,可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...
SpringAI实战:ChatModel智能对话全解
一、引言:Spring AI 与 Chat Model 的核心价值 🚀 在 Java 生态中集成大模型能力,Spring AI 提供了高效的解决方案 🤖。其中 Chat Model 作为核心交互组件,通过标准化接口简化了与大语言模型(LLM࿰…...
【Linux】Linux安装并配置RabbitMQ
目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的,需要先安…...
Linux-进程间的通信
1、IPC: Inter Process Communication(进程间通信): 由于每个进程在操作系统中有独立的地址空间,它们不能像线程那样直接访问彼此的内存,所以必须通过某种方式进行通信。 常见的 IPC 方式包括&#…...
C++11 constexpr和字面类型:从入门到精通
文章目录 引言一、constexpr的基本概念与使用1.1 constexpr的定义与作用1.2 constexpr变量1.3 constexpr函数1.4 constexpr在类构造函数中的应用1.5 constexpr的优势 二、字面类型的基本概念与使用2.1 字面类型的定义与作用2.2 字面类型的应用场景2.2.1 常量定义2.2.2 模板参数…...
python3GUI--基于PyQt5+DeepSort+YOLOv8智能人员入侵检测系统(详细图文介绍)
文章目录 一.前言二.技术介绍1.PyQt52.DeepSort3.卡尔曼滤波4.YOLOv85.SQLite36.多线程7.入侵人员检测8.ROI区域 三.核心功能1.登录注册1.登录2.注册 2.主界面1.主界面简介2.数据输入3.参数配置4.告警配置5.操作控制台6.核心内容显示区域7.检…...
