当前位置: 首页 > news >正文

初识 GPT-4 和 ChatGPT

文章目录

    • LLM 概述
    • 理解 Transformer 架构及其在 LLM 中的作用
    • 解密 GPT 模型的标记化和预测步骤

    想象这样⼀个世界:在这个世界里,你可以像和朋友聊天⼀样快速地与计算机交互。那会是怎样的体验?你可以创造出什么样的应用程序?这正是OpenAI 努力构建的世界,它通过其 GPT 模型让设备拥有与⼈类对话的能力。作为人工智能(artificial intelligence,AI)领域的最新成果,GPT-4 和其他 GPT 模型是基于⼤量数据训练而成的大语言模型 (large language model,LLM),它们能够以非常高的准确性识别和生成人类可读的文本。

    这些 AI 模型的意义远超简单的语音助手。多亏了 OpenAI 的模型,开发人员现在可以利用自然语言处理(natural language processing,NLP)技术创建应用程序,使其以⼀种曾经只存在于科幻小说中的方式理解我们的需求。从学习和适应个体需求的创新型客户支持系统,到理解每个学生独特的学习风格的个性化教学工具,GPT-4 和 ChatGPT 打开了⼀扇门,让⼈们看见⼀个充满可能性的全新世界。GPT-4 和 ChatGPT 究竟是什么?

LLM 概述

    作为 LLM,GPT-4 和 ChatGPT 是 NLP 领域中最新的模型类型,NLP 是机器学习和⼈⼯智能的⼀个子领域。在深⼊研究 GPT-4 和 ChatGPT 之前,有必要了解 NLP 及其相关领域。AI 有不同的定义,但其中⼀个定义或多或少已成为共识,即 AI 是⼀类计算机系统,它能够执行通常需要⼈类智能才能完成的任务。根据这个定义,许多算法可以被归为 AI 算法,比如导航应用程序所用的交通预测算法或策略类视频游戏所用的基于规则的系统。从表面上看,在这些示例中,计算机似乎需要智能才能完成相关任务。

    机器学习(machine learning,ML)是 AI 的⼀个子集。在 ML 中,我们不试图直接实现 AI 系统使用的决策规则。相反,我们试图开发算法,使系统能够通过示例自己学习。自从在 20 世纪 50 年代开始进行 ML 研究以来,⼈们已经在科学文献中提出了许多 ML 算法。在这些 ML 算法中,深度学习(deep learning,DL)算法已经引起了广泛关注。DL 是 ML 的⼀个分支,专注于受大脑结构启发的算法。这些算法被称为人工神经网络(artificial neural network)。它们可以处理⼤量的数据,并且在图像识别、语音识别及 NLP 等任务上表现出色。

    GPT-4 和 ChatGPT 基于⼀种特定的神经网络架构,即 Transformer。Transformer 就像阅读机⼀样,它关注句子或段落的不同部分,以理解其上下文并产生连贯的回答。此外,它还可以理解句子中的单词顺序和上下文意思。这使 Transformer 在语⾔翻译、问题回答和文本生成等任务中非常有效。

图片名称
从 AI 到 Transformer 的嵌套技术集合

    NLP 是 AI 的⼀个子领域,专注于使计算机能够处理、解释和⽣成⼈类语言。现代 NLP 解决方案基于 ML 算法。NLP 的目标是让计算机能够处理自然语言文本。这个目标涉及诸多任务,如下所述。将输⼊文本归为预定义的类别。这类任务包括情感分析和主题分类。比如,某公司使用情感分析来了解客户对其服务的意见。电子邮件过滤是主题分类的⼀个例子,其中电子邮件可以被归类为“个⼈邮件”“社交邮件”“促销邮件”“垃圾邮件”等。

    将文本从⼀种语言自动翻译成另⼀种语言。请注意,这类任务可以包括将代码从⼀种程序设计语言翻译成另⼀种程序设计语言,比如从 Python翻译成 C++。根据给定的文本回答问题。比如,在线客服门户网站可以使用 NLP 模型回答关于产品的常见问题;教学软件可以使用 NLP 模型回答学生关于所学主题的问题。根据给定的输入文本(称为提示词 )生成连贯且相关的输出文本。

    如前所述,LLM 是试图完成文本生成任务的⼀类 ML 模型。LLM 使计算机能够处理、解释和生成⼈类语言,从而提高⼈机交互效率。为了做到这⼀点,LLM 会分析大量文本数据或基于这些数据进行训练,从而学习句子中各词之间的模式和关系。这个学习过程可以使用各种数据源,包括维基百科、Reddit、成千上万本书,甚至互联网本身。在给定输⼊文本的情况下,这个学习过程使得 LLM 能够预测最有可能出现的后续单词,从而生成对输入文本有意义的回应。于 2023 年发布的⼀些现代语言模型非常庞大,并且已经在⼤量⽂本上进行了训练,因此它们可以直接执行大多数 NLP 任务,如文本分类、自动翻译、问题回答等。GPT-4 和 ChatGPT 是在文本⽣成任务上表现出色的 LLM。

    LLM 的发展可以追溯到几年前。它始于简单的语言模型,如 n-gram 模型。n-gram 模型通过使用词频来根据前面的词预测句子中的下⼀个词,其预测结果是在训练⽂本中紧随前面的词出现的频率最高的词。虽然这种方法提供了不错的着手点,但是 n-gram 模型在理解上下文和语法方面仍需改进,因为它有时会生成不连贯的文本。为了提高 n-gram 模型的性能,⼈们引⼊了更先进的学习算法,包括循环神经网络(recurrent neural network,RNN)和长短期记忆(long short-term memory,LSTM)网络。与 n-gram 模型相比,这些模型能够学习更长的序列,并且能够更好地分析上下文,但它们在处理大量数据时的效率仍然欠佳。尽管如此,在很长的⼀段时间里,这些模型算是最高效的,因此在自动翻译等任务中被⼴泛使用。

理解 Transformer 架构及其在 LLM 中的作用

    Transformer 架构彻底改变了 NLP 领域,这主要是因为它能够有效地解决之前的 NLP 模型(如 RNN)存在的⼀个关键问题:很难处理长文本序列并记住其上下文。换句话说,RNN 在处理长文本序列时容易忘记上下文(也就是臭名昭著的“灾难性遗忘问题”),Transformer 则具备高效处理和编码上下文的能力。这场革命的核心支柱是注意力机制,这是⼀个简单而又强大的机制。模型不再将文本序列中的所有词视为同等重要,而是在任务的每个步骤中关注最相关的词。交叉注意力和自注意力是基于注意力机制的两个架构模块,它们经常出现在 LLM 中。Transformer 架构⼴泛使用了交叉注意力模块和自注意力模块。

    交叉注意力有助于模型确定输入文本的不同部分与输出⽂本中下⼀个词的相关性。它就像⼀盏聚光灯,照亮输⼊文本中的词或短语,并突出显示预测下⼀个词所需的相关信息,同时忽略不重要的细节。为了说明这⼀点,让我们以⼀个简单的句子翻译任务为例。假设输入文本
是这样⼀个英语句子:Alice enjoyed the sunny weather in Brussels(Alice 很享受布鲁塞尔阳光明媚的天气)。如果目标语言是法语,那么输出文本应该是:Alice a profité du temps ensoleillé à Bruxelles。在这个例子中,让我们专注于生成法语单词 ensoleillé,它对应原句中的 sunny。对于这个预测任务,交叉注意力模块会更关注英语单词 sunny 和 weather,因为它们都与ensoleillé 相关。通过关注这两个单词,交叉注意力模块有助于模型为句子的这⼀部分生成准确的翻译结果,如下图所示。

图片名称
交叉注意力模块使模型关注输⼊⽂本(英语句子)中的关键部分,以预测输出⽂本(法语句子)中的下⼀个单词

    自注意力机制是指模型能够关注其输入文本的不同部分。具体到 NLP 领域,自注意力机制使模型能够评估句子中的每个词相比于其他词的重要性。这使得模型能够更好地理解各词之间的关系,并根据输入文本中的多个词构建新概念。来看⼀个更具体的例子。考虑以下句子:Alice received praise from her colleagues(Alice 受到同事的赞扬)。假设模型试图理解 her 这个单词的意思。自注意力机制给句子中的每个单词分配不同的权重,突出在这个上下文中与 her 相关的单词。在本例中,自注意力机制会更关注 Alice 和 colleagues 这两个单词。如前所述,自注意力机制帮助模型根据这些单词构建新概念。在本例中,可能出现的⼀个新概念是 Alice’s colleagues,如下图所示。

图片名称
自注意力机制使新概念 Alice's colleagues 得以出现

    与 RNN 不同,Transformer 架构具有易于并行化的优势。这意味着 Transformer 架构可以同时处理输入文本的多个部分,而无须顺序处理。这样做可以提高计算速度和训练速度,因为模型的不同部分可以并行工作,而无须等待前⼀步骤完成。基于 Transformer 架构的模型所具备的并行处理能力与图形处理单元(graphics processing unit,GPU)的架构完美契合,后者专用于同时处理多个计算任务。由于高度的并行性和强大的计算能力,GPU 非常适合用于训练和运行基于 Transformer 架构的模型。硬件上的这⼀进展使数据科学家能够在大型数据集上训练模型,从而为开发 LLM 铺平了道路。

    Transformer 架构由来自谷歌公司的 Ashish Vaswani 等⼈在 2017 年的论文“Attention Is All You Need”中提出,最初用于序列到序列的任务,如机器翻译任务。标准的Transformer 架构有两个主要组件:编码器和解码器,两者都十分依赖注意力机制。编码器的任务是处理输入文本,识别有价值的特征,并生成有意义的文本表示,称为嵌入(embedding)。解码器使用这个嵌入来生成⼀个输出,比如翻译结果或摘要文本。这个输出有效地解释了编码信息。

    生成式预训练 Transformer(Generative Pre-trained Transformer,GPT)是⼀类基于 Transformer 架构的模型,专门利用原始架构中的解码器部分。在GPT 中,不存在编码器,因此无须通过交叉注意力机制来整合编码器产生的嵌⼊。也就是说,GPT 仅依赖解码器内部的自注意力机制来生成上下文感知的表示和预测结果。请注意,BERT 等其他⼀些众所周知的模型基于编码器部分,但本书不涉及这类模型。下图展示了 NLP 技术的演变历程。

图片名称
NLP 技术从 n-gram 到 LLM 的演变

解密 GPT 模型的标记化和预测步骤

    GPT 模型接收⼀段提示词作为输入,然后生成⼀段文本作为输出。这个过程被称为文本补全。举例来说,提示词可以是 The weather is nice today, so Idecided to(今天天气很好,所以我决定),模型的输出则可能是 go for a walk(去散步)。你可能想知道 GPT 模型是如何根据输入的提示词构建输出⽂本的。正如你将看到的,这主要是⼀个概率问题。当 GPT 模型收到⼀段提示词之后,它首先将输入拆分成标记(token)。这些标记代表单词、单词的⼀部分、空格或标点符号。比如,在前面的例子中,提示词可以被拆分成[The, wea, ther, is, nice, today, so, I, de, ci, ded, to]。几乎每个语言模型都配有自己的分词器。截至本书英文版出版之时,GPT-4的分词器还不可用,不过你可以尝试使用 GPT-3 的分词器。

    理解标记与词长的⼀条经验法则是,对于英语文本,100 个标记⼤约等于 75 个单词。因为有了注意力机制和 Transformer 架构,LLM 能够轻松处理标记并解释它们之间的关系及提示词的整体含义。Transformer 架构使模型能够高效地识别文本中的关键信息和上下文。为了生成新的句子,LLM 根据提示词的上下文预测最有可能出现的下⼀个标记。OpenAI 开发了两个版本的 GPT-4,上下文窗口大小分别为 8192 个标记和 32 768 个标记 。与之前的循环模型不同,带有注意力机制的Transformer 架构使得 LLM 能够将上下文作为⼀个整体来考虑。基于这个上下文,模型为每个潜在的后续标记分配⼀个概率分数,然后选择概率最高的标记作为序列中的下⼀个标记。在前面的例子中,“今天天气很好,所以我决定”之后,下⼀个最佳标记可能是“去”。

    接下来重复此过程,但现在上下文变为“今天天气很好,所以我决定去”,之前预测的标记“去”被添加到原始提示词中。这个过程会⼀直重复,直到形成⼀个完整的句子:“今天天气很好,所以我决定去散步。”这个过程依赖于 LLM 学习从大量文本数据中预测下⼀个最有可能出现的单词的能力。下图展示了这个过程。

图片名称
逐个标记地补全文本,整个过程是迭代式的

相关文章:

初识 GPT-4 和 ChatGPT

文章目录 LLM 概述理解 Transformer 架构及其在 LLM 中的作用解密 GPT 模型的标记化和预测步骤 想象这样⼀个世界:在这个世界里,你可以像和朋友聊天⼀样快速地与计算机交互。那会是怎样的体验?你可以创造出什么样的应用程序?这正是…...

【C语言】解决C语言报错:Array Index Out of Bounds

文章目录 简介什么是Array Index Out of BoundsArray Index Out of Bounds的常见原因如何检测和调试Array Index Out of Bounds解决Array Index Out of Bounds的最佳实践详细实例解析示例1:访问负索引示例2:访问超出上限的索引示例3:循环边界…...

【C++】一个极简但完整的C++程序

一、一个极简但完整的C程序 我们编写程序是为了解决问题和任务的。 1、任务: 某个书店将每本售出的图书的书名和出版社,输入到一个文件中,这些信息以书售出的时间顺序输入,每两周店主会手工计算每本书的销售量、以及每个出版社的…...

Lua迭代器详解(附加红点功能实例)

Lua迭代器详解与用法 1. 什么是迭代器2. 为什么需要理解迭代器的原理3. 迭代器的实现0. 闭包1. 有状态迭代器2. 无状态迭代器 4. 红点树系统基础 1. 什么是迭代器 迭代器是一种能让我们遍历一个集合中的所有元素的代码结构。比如常用ipairs()和pairs()。 2. 为什么需要理解迭代…...

锂磷硫(LPS)属于硫化物固态电解质 Li7P3S11是代表性产品

锂磷硫(LPS)属于硫化物固态电解质 Li7P3S11是代表性产品 锂磷硫(LPS),为非晶态材料,是硫化物固态电解质代表性产品之一,具有热稳定性好、成本较低等优点,在固态电解质中离子电导率较…...

PointCloudLib 点云边缘点提取 C++版本

0.实现效果 1.算法原理 PCL(Point Cloud Library)中获取点云边界的算法主要基于点云数据的几何特征和法向量信息。以下是对该算法的详细解释,按照清晰的格式进行归纳: 算法概述 PCL中的点云边界提取算法主要用于从3D点云数据中识别并提取出位于物体边界上的点。这些边界…...

【Qt】QList<QVariantMap>中数据修改

1. 问题 QList<QVariantMap> 类型中&#xff0c;修改QVariantMap中的值。 2. 代码 //有效代码1QVariantMap itemMap itemList.at(0);itemMap.insert("title", "test");itemList.replace(0, itemMap);//有效代码 2itemList.operator [](0).insert(…...

如何避免vue的url中使用hash符号?

目录 1. 安装 Vue Router 2. 配置 Vue Router 使用 history 模式 3. 更新 main.js 4. 配置服务器以支持 history 模式&#xff08;此处需要仔细测试&#xff09; a. Nginx 配置 b. Apache 配置 5. 部署并测试 总结 在 Vue.js 项目中&#xff0c;避免 URL 中出现 # 符号的…...

Java学习 - MySQL存储过程、函数和触发器练习实例

存储过程 存储过程是什么 存储过程是一组已经编译好的SQL语句存储过程优点有什么 安全 性能高 提高代码复用性创建存储过程的语法 DELIMITER $ # 不能加分号CREATE PROCEDURE 存储过程名(IN|OUT|INOUT 参数名 参数类型) BEGIN存储过程语句块 END;$DELIMITER ;创建一个无参的存储…...

【深度神经网络 (DNN)】

深度神经网络 (DNN) 深度神经网络 (DNN) 是机器学习领域中一种强大的工具&#xff0c;它由多层神经元组成&#xff0c;能够学习复杂的数据模式&#xff0c;解决各种任务&#xff0c;如图像识别、语音识别、自然语言处理等。 DNN 的构成&#xff1a; 神经元: DNN 的基本单元&…...

ES全文检索支持繁简和IK分词检索

ES全文检索支持繁简和IK分词检索 1. 前言2. 引入繁简转换插件analysis-stconvert2.1 下载已有作者编译后的包文件2.2 下载源码进行编译2.3 复制解压插件到es安装目录的plugins文件夹下 3. 引入ik分词器插件3.1 已有作者编译后的包文件3.2 只有源代码的版本3.3 安装ik分词插件 4…...

解决Visual Studio Code在Ubuntu上崩溃的问题

解决Visual Studio Code在Ubuntu上崩溃的问题 我正在使用Ubuntu系统&#xff0c;每次打开Visual Studio Code时&#xff0c;只能短暂打开一秒钟&#xff0c;然后就会崩溃。当通过终端使用code --verbose命令启动Visual Studio Code时&#xff0c;出现以下错误信息&#xff1a;…...

【OpenGauss源码学习 —— (ALTER TABLE(SET attribute_option))】

ALTER TABLE&#xff08;SET attribute_option&#xff09; ATExecSetOptions 函数 声明&#xff1a;本文的部分内容参考了他人的文章。在编写过程中&#xff0c;我们尊重他人的知识产权和学术成果&#xff0c;力求遵循合理使用原则&#xff0c;并在适用的情况下注明引用来源。…...

Elasticsearch 数据提取 - 最适合这项工作的工具是什么?

作者&#xff1a;来自 Elastic Josh Asres 了解在 Elasticsearch 中为你的搜索用例提取数据的所有不同方式。 对于搜索用例&#xff0c;高效采集和处理来自各种来源的数据的能力至关重要。无论你处理的是 SQL 数据库、CRM 还是任何自定义数据源&#xff0c;选择正确的数据采集…...

‘浔川画板v5.1’即将上线!——浔川python社

1 简介&#xff1a; 浔川画板是一款专业的数字绘画和漫画创作软件&#xff0c;它为艺术家和设计师提供了丰富的绘画工具、色彩管理功能以及易于使用的界面。用户可以使用浔川画板进行手绘风格的绘画、精细的素描、漫画分格、UI设计等多种创作。该软件支持多种笔刷和特效&#…...

RockChip Android12 System之Datetime

一:概述 本文将针对Android12 Settings二级菜单System中Date&time的UI修改进行说明。 二:Date&Time 1、Activity packages/apps/Settings/AndroidManifest.xml <activityandroid:name="Settings$DateTimeSettingsActivity"android:label="@stri…...

详解 ClickHouse 的副本机制

一、简介 副本功能只支持 MergeTree Family 的表引擎&#xff0c;参考文档&#xff1a;https://clickhouse.tech/docs/en/engines/table-engines/mergetree-family/replication/ ClickHouse 副本的目的主要是保障数据的高可用性&#xff0c;即使一台 ClickHouse 节点宕机&#…...

速卖通测评成本低见效快,自养号测评的实操指南,快速积累销量和好评

对于初入速卖通的新卖家而言&#xff0c;销量和评价的积累显得尤为关键。由于新店铺往往难以获得平台活动的青睐&#xff0c;因此流量的获取成为了一大挑战。在这样的背景下&#xff0c;进行产品测评以积累正面的用户反馈和销售记录&#xff0c;成为了提升店铺信誉和吸引潜在顾…...

php反序列化漏洞简介

目录 php序列化和反序列化简介 序列化 反序列化 类中定义的属性 序列化实例 反序列化实例 反序列化漏洞 序列化返回的字符串格式 魔术方法和反序列化利用 绕过wakeup 靶场实战 修复方法 php序列化和反序列化简介 序列化 将对象状态转换为可保持或可传输的格式的…...

力扣随机一题 模拟+字符串

博客主页&#xff1a;誓则盟约系列专栏&#xff1a;IT竞赛 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ 1910.删除一个字符串中所有出现的给定子字符串【中等】 题目&#xff1a; …...

java-正则表达式 1

Java中的正则表达式 1. 正则表达式的基本概念 正则表达式&#xff08;Regular Expression, regex&#xff09;是一种用于匹配字符串中字符组合的模式。正则表达式广泛应用于字符串搜索、替换和解析。Java通过java.util.regex包提供了对正则表达式的支持&#xff0c;该包包含两…...

Python xlrd库:读excel表格

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…...

开发中遇到的一个bug

遇到的报错信息是这样的&#xff1a; java: Annotation processing is not supported for module cycles. Please ensure that all modules from cycle [hm-api,hm-common,hm-service] are excluded from annotation processing 翻译过来就是存在循环引用的情况&#xff0c;导…...

Java面试题:对比不同的垃圾收集器(如Serial、Parallel、CMS、G1)及其适用场景

Java虚拟机&#xff08;JVM&#xff09;提供了多种垃圾收集器&#xff0c;每种垃圾收集器在性能和适用场景上各有不同。以下是对几种常见垃圾收集器&#xff08;Serial、Parallel、CMS、G1&#xff09;的对比及其适用场景的详细介绍&#xff1a; 1. Serial 垃圾收集器 Serial…...

每日一题——冒泡排序

C语言——冒泡排序 冒泡排序练习 前言&#xff1a;CSDN的小伙伴们&#xff0c;大家好&#xff01;今天我来给大家分享一种解题思想——冒泡排序。 冒泡排序 冒泡法的核心思想&#xff1a;两两相邻的元素进行比较 2.冒泡排序的算法描述如下。 (1)比较相邻的元素。如果第一 个比…...

javascript浏览器对象模型

BOM对象&#xff1a; BOM 是浏览器对象模型的简称。JavaScript 将整个浏览器窗口按照实现的功能不同拆分成若干个对象&#xff1b; 包含&#xff1a;window 对象、history 对象、location 对象和 document 对象等 window对象&#xff1a; 常用方法&#xff1a; 1.prompt();…...

C语言之链表以及单链表的实现

一&#xff1a;链表的引入 1&#xff1a;从数组的缺陷说起 &#xff08;1&#xff09;数组有两个缺陷。一个是数组中所有元素类型必须一致&#xff0c;第二是数组的元素个数必须事先指定并且一旦指定后不能更改 &#xff08;2&#xff09;如何解决数组的两个缺陷&#xff1a;数…...

AI在线免费视频工具2:视频配声音;图片说话hedra

1、视频配声音 https://deepmind.google/discover/blog/generating-audio-for-video/ https://www.videotosoundeffects.com/ &#xff08;免费在线使用&#xff09; 2、图片说话在线图片生成播报hedra hedra 上传音频与图片即可合成 https://www.hedra.com/ https://www.…...

Elastic字段映射(_source,doc_value,fileddata,index,store)

Elastic字段映射&#xff08;_source,doc_value,filed_data,index,store&#xff09; _source&#xff1a; source 字段用于存储 post 到 ES 的原始 json 文档。为什么要存储原始文档呢&#xff1f;因为 ES 采用倒排索引对文本进行搜索&#xff0c;而倒排索引无法存储原始输入…...

kotlin空类型安全 !! ?. ?:

1、定义可空类型 fun main(){// 定义可空类型var x:String? "hello"x null } 2、!! 强转类型 定义可空类型之后&#xff0c;如果使用其内置方法&#xff0c;编译不会通过&#xff0c;因为值有可能为null&#xff0c;可以使用 !! 把类型强转为不可空&#xff1a…...

通过 WireGuard 组建虚拟局域网 实现多个局域网全互联

本文后半部分代码框较多,欢迎点击原文链接获得更佳的阅读体验。 前言 上一篇关于 WireGuard 的文章通过 Docker 安装 wg-easy 的形式来使用 WireGuard,但 wg-easy 的功能比较有限,并不能发挥出 WireGuard 的全部功力。 如果只是想要出门在外连随时随地的连回家里的局域网,…...

qmt量化交易策略小白学习笔记第47期【qmt编程之期货仓单】

qmt编程之获取期货数据 qmt更加详细的教程方法&#xff0c;会持续慢慢梳理。 也可找寻博主的历史文章&#xff0c;搜索关键词查看解决方案 &#xff01; 感谢关注&#xff0c;咨询免费开通量化回测与获取实盘权限&#xff0c;欢迎和博主联系&#xff01; 期货仓单 提示 1…...

点云处理中阶 Sampling

目录 一、什么是点云Sampling 二、示例代码 1、下采样 Downsampling 2、均匀采样 3、上采样 4、表面重建 一、什么是点云Sampling 点云处理中的采样(sampling)是指从大量点云数据中选取一部分代表性的数据点,以减少计算复杂度和内存使用,同时保留点云的几何特征和重…...

为什么print语句被Python3遗弃?

在开发和维护python项目的时候发现经常有print语句报错&#xff0c;原因是python3放弃了print语句 print 语句 早就被列在了不可靠的语言特性列表中&#xff0c;例如 Guido 的“Python 之悔”&#xff08;Python Regrets&#xff09;演讲【1】&#xff0c;并计划在 Python 300…...

067、Python 高阶函数的编写:优质冒泡排序

以下写了个简单的冒泡排序函数&#xff1a; def bubble_sort(items: list) -> list:for i in range(1, len(items)):swapped Falsefor j in range(0, len(items) - 1):if items[j] > items[j 1]:items[j], items[j 1] items[j 1], items[j]swapped Trueif not swa…...

【Python】从基础到进阶(一):了解Python语言基础以及变量的相关知识

&#x1f525; 个人主页&#xff1a;空白诗 文章目录 引言一、Python简介1.1 历史背景1.2 设计哲学1.3 语言特性1.4 应用场景1.5 为什么选择Python 二、Python语言基础2.1 注释规则2.1.1 单行注释2.1.2 多行注释2.1.3 文件编码声明注释 2.2 代码缩进2.3 编码规范2.3.1 命名规范…...

AI学习指南机器学习篇-KNN的优缺点

AI学习指南机器学习篇-KNN的优缺点 在机器学习领域中&#xff0c;K最近邻&#xff08;K-Nearest Neighbors&#xff0c;KNN&#xff09;算法是一种十分常见的分类和回归方法之一。它的原理简单易懂&#xff0c;但在实际应用中也存在一些优缺点。本文将重点探讨KNN算法的优缺点…...

全网最全!25届最近5年上海理工大学自动化考研院校分析

上海理工大学 目录 一、学校学院专业简介 二、考试科目指定教材 三、近5年考研分数情况 四、近5年招生录取情况 五、最新一年分数段图表 六、历年真题PDF 七、初试大纲复试大纲 八、学费&奖学金&就业方向 一、学校学院专业简介 二、考试科目指定教材 1、考试…...

LANG、LC_MESSAGES和LC_ALL

在Linux系统中&#xff0c;环境变量LANG、LC_MESSAGES和LC_ALL用于控制系统和应用程序的语言和区域设置&#xff08;locale&#xff09;。它们的具体作用如下&#xff1a; LANG&#xff1a; LANG是最基本的环境变量&#xff0c;用于指定系统的默认语言和区域设置。它是一个全局…...

生成式AI和LLM的一些基本概念和名词解释

1. Machine Learning 机器学习是人工智能&#xff08;AI&#xff09;的一个分支&#xff0c;旨在通过算法和统计模型&#xff0c;使计算机系统能够从数据中学习并自动改进。机器学习算法使用数据来构建模型&#xff0c;该模型可用于预测或决策。机器学习应用于各种领域&#x…...

python项目(课设)——飞机大战小游戏项目源码(pygame)

主程序 import pygame from plane_sprites import * class PlaneGame: """ 游戏类 """ def __init__(self): print("游戏初始化") # 初始化字体模块 pygame.font.init() # 创建游戏…...

Chatgpt教我打游戏攻略

宝可梦朱 我在玩宝可梦朱的时候&#xff0c;我的同行队伍里有黏美儿&#xff0c;等级为65&#xff0c;遇到了下雨天但是没有进化&#xff0c;为什么呢&#xff1f; 黏美儿&#xff08;Goomy&#xff09;要进化为黏美龙&#xff08;Goodra&#xff09;&#xff0c;需要满足以下…...

最全信息收集工具集

吉祥学安全知识星球&#x1f517;除了包含技术干货&#xff1a;Java代码审计、web安全、应急响应等&#xff0c;还包含了安全中常见的售前护网案例、售前方案、ppt等&#xff0c;同时也有面向学生的网络安全面试、护网面试等。 所有的攻防、渗透第一步肯定是信息收集了&#xf…...

redis类型解析汇总

redis类型解析汇总 介绍数据类型简介主要数据类型&#xff1a;衍生类型&#xff1a; 字符串&#xff08;String&#xff09;底层设计原理图例设计优势字符串使用方法设置字符串值获取字符串值获取和设置部分字符串获取字符串长度追加字符串设置新值并返回旧值递增/递减同时设置…...

Unity3d自定义TCP消息替代UNet实现网络连接

以前使用UNet实现网络连接,Unity2018以后被弃用了。要将以前的老程序升到高版本,最开始打算使用Mirro,结果发现并不好用。那就只能自己写连接了。 1.TCP消息结构 (1). TCP消息是按流传输的,会发生粘包。那么在发射和接收消息时就需要对消息进行打包和解包。如果接收的消息…...

git fetch 和 git pull区别

git branch //查看本地所有分支 git branch -r //查看远程所有分支 git branch -a //查看本地和远程的所有分支 git branch <branchname> //新建分支 git branch -d <branchname> //删除本地分支 git branch -d -r <branchname> //删除远程分支&#x…...

冲击2024年CSDN博客之星TOP1:CSDN文章质量分查询在哪里?

文章目录 一&#xff0c;2023年博客之星规则1&#xff0c;不高的入围门槛2&#xff0c;[CSDN博文质量分测评地址](https://www.csdn.net/qc) 二&#xff0c;高分秘籍1&#xff0c;要有目录2&#xff0c;文章长度要足够&#xff0c;我的经验是汉字加代码至少1000字。3&#xff0…...

高性能并行计算华为云实验一:MPI矩阵运算

目录 一、实验目的 二、实验说明 三、实验过程 3.1 创建矩阵乘法源码 3.1.1 实验说明 3.1.2 实验步骤 3.2 创建卷积和池化操作源码 3.2.1 实验说明 3.2.2 实验步骤 3.3 创建Makefile文件并完成编译 3.4 建立主机配置文件与运行监测 四、实验结果与分析 4.1 矩阵乘法…...

库卡机器人减速机维修齿轮磨损故障

一、KUKA机器人减速器齿轮磨损故障的原因 1. 润滑不足&#xff1a;润滑油不足或质量不佳可能导致齿轮磨损。 2. 负载过重&#xff1a;超过库卡机械臂减速器额定负载可能导致齿轮磨损。 3. 操作不当&#xff1a;未按照说明书操作可能导致KUKA机器人减速器齿轮磨损。 4. 维护不足…...

【C/C++】我自己提出的数组探针的概念,快来围观吧

数组探针 在许多编程语言中如果涉及到数组那么就可以使用这个东西&#xff0c;便于遍历数组 中文名 数组探针 外文名 arrProbe 适用领域 大数据 所属学科 软件技术、编程 提出者 董翔 目录 1 概述2 工作原理3 应用场景 ▪ 数据处理和分析▪ 图像处理▪ 游戏开发▪…...