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

Gemini Robotics:将人工智能带入物理世界

25年3月来自谷歌的技术报告“Gemini Robotics: Bringing AI into the Physical World”。

大型多模态模型的最新进展,已使数字领域出现卓越的通才能力,但将其转化为机器人等物理智体仍然是一项重大挑战。一般有用的机器人需要能够理解周围的物理世界,并与之进行有效和安全的交互。本报告介绍专为机器人设计并建立在 Gemini 2.0 基础上的AI 模型系列。

Gemini Robotics,是一种能够直接控制机器人的视觉-语言-动作 (VLA) 通才模型。Gemini Robotics 执行流畅且反应灵敏的动作,处理各种复杂的操作任务,同时还能对物体类型和位置的变化具有鲁棒性,能够处理未见过的环境以及遵循多样化的开放词汇指令。通过额外的微调,Gemini Robotics 可以专注于新功能,包括解决长期、高度灵巧的任务,例如折叠纸狐狸或玩纸牌游戏,从少至 100 个演示中学习新的短期任务,适应全新的机器人具身,包括双臂平台和高自由度人形机器人。这是因为 Gemini Robotics 建立在 Gemini Robotics-ER 模型之上。Gemini Robotics-ER(具身推理)将 Gemini 的多模态推理能力扩展到物理世界,增强空间和时间理解。这实现与机器人相关的功能,包括物体检测、指向、轨迹和抓取预测,以及以多视图对应和 3D 边框预测形式实现的 3D 理解。这种组合可以支持各种机器人应用,例如零样本(通过机器人代码生成)或少样本(通过上下文学习)。与这种机器人基础模型相关的安全因素,也已经考虑。

如图概述Gemini 机器人系列:

请添加图片描述

现代人工智能 (AI) 模型取得了显著进展,并在大型数据集上进行了预训练,重新定义了信息处理,展示了对文本、图像、音频和视频等多种模态的熟练程度和泛化能力。这为数字领域的交互式和辅助系统开辟了广阔的前景,从多模态聊天机器人到虚拟助手。然而,要在物理世界中发挥通用自主人工智能的潜力,需要从数字世界进行重大转变,在数字世界中,物理基础的智体必须展示出强大的人类水平的具身推理能力:一套世界知识,包含在本质上物理具身的世界中运作和行动至关重要的基本概念。虽然具身推理能力是理所当然的,例如感知环境的 3D 结构、解释复杂的目标关系或理解直观的物理,但这些能力构成任何具身智体的重要基础。此外,具身智体还必须超越被动地理解现实世界的空间和物理概念;它还必须学会采取对外部环境有直接影响的行动,从而弥合被动感知和主动物理交互之间的差距。 随着机器人硬件的最新进展,创建能够执行高度灵巧任务的具身智体具有潜力。考虑到这一点,我们要问:如何才能赋予最先进的数字人工智能模型以与世界进行一般和灵巧的互动所需的具身推理能力?

该论文以利用前沿视觉-语言模型 (VLM)(如 Gemini 2.0)固有的先进多模态理解和推理能力为前提。这些基础模型所提供的广义理解,以及它们解释视觉输入和复杂文本指令的能力,为构建具身智体奠定了坚实的基础。这一努力取决于两个基本要素。首先,Gemini 需要获得强大的具身推理能力,从而能够理解物理世界丰富的几何和时空细节。其次,Gemini 能够理解物理动作、理解接触物理、动力学和现实世界互动的复杂性,从而将这种具身推理应用到物理世界中。最终,这些部分必须结合起来,才能在现实世界中快速、安全、灵活地控制机器人。

Gemini 2.0 是一种视觉-语言模型 (VLM),它能够完成的任务远不止视觉理解和语言处理。具体来说,该模型展现了先进的具身推理 (ER) 能力。将 ER 定义为视觉语言模型将现实世界中的物体和空间概念落地的能力,以及为下游机器人应用合成这些信号的能力。请参见下图中此类能力的一些示例。

请添加图片描述

ERQA 基准

为了捕捉 VLM 具身推理的进展,引入 ERQA,即具身推理问答的缩写,这是一个基准,专门关注具身智体与物理世界交互可能需要的能力。ERQA 包含 400 个多项选择视觉问答 (VQA) 式问题,涵盖各种类别,包括空间推理、轨迹推理、动作推理、状态估计、指向、多视图推理和任务推理。问题类型分布的细分如图所示。

请添加图片描述

如图显示 ERQA 的一些示例问题和答案。有些问题需要 VLM 识别和注册跨多帧的目标;其他则需要推理物体的affordance和与场景其余部分的 3D 关系。

请添加图片描述

Gemini 2.0 模型具有高级推理能力——如果用思维链 (CoT) 提示 (Wei,2022),可以显著提高 Ge使用以下指令作为附加在每个问题末尾的 CoT 提示:“逐步推理答案,并展示你每一步的工作。只有在那之后,才能继续得出最终答案。”结果如表所示。

请添加图片描述

有了 CoT 提示,Gemini 2.0 Flash 的性能超过没有 CoT 的 Gemini 2.0 Pro Experimental,而 CoT 进一步提高 Gemini 2.0 Pro Experimental 的性能。下图突出显示两个这样的推理轨迹,Gemini 2.0 Pro Experimental 在没有 CoT 的情况下回答错误,但在有 CoT 的情况下回答正确。推理轨迹表明 Gemini 2.0 能够 1) 将其空间理解精确地建立在图像观察的基础上;2) 利用这种基础进行复杂的、逐步的具体推理。

请添加图片描述

Gemini 2.0 的具身推理能力

Gemini 2.0 可以理解图像中的各种 2D 空间概念:

  1. 物体检测:Gemini 2.0 可以执行开放世界 2D 物体检测,提供精确的 2D边框,查询可以是显式的(例如,描述物体名称)或隐式的(类别、属性或功能)。
  2. 指向:给定任何自然语言描述,该模型能够指向显式实体,如物体和物体部分,以及隐式概念,如affordance(在哪里抓取,在哪里放置)、自由空间和空间概念。
  3. 轨迹预测:Gemini 2.0 可以利用其指向功能生成基于其观察的 2D 运动轨迹。例如,轨迹可以基于一种对物理运动或交互的描述。
  4. 抓握预测:这是 Gemini Robotics-ER 中引入的一项新功能。它扩展 Gemini 2.0 的指向功能,以预测自上而下的抓握。

Gemini 2.0 还具有 3D 空间推理能力。凭借“3D 视图”能力,Gemini 2.0 可以更好地理解大小、距离和方向等概念,并可以利用这种理解来推理场景的状态和在 3D 中要执行的操作。

  1. 多视图对应:用图像表示 3D 信息的一种自然方式是通过多视图(例如立体)图像。 Gemini 2.0 可以从多视角图像中理解 3D 场景,并预测同一场景的多个摄像机视图之间的 2D 点对应关系。
  2. 3D 边框检测:这种 3D 理解也适用于单幅图像 - Gemini 2.0 可以直接从单目图像中预测度量 3D 边框。与 2D 检测和指向功能一样,Gemini 2.0 可以通过开放词汇描述来检测物体。

虽然可以为每个任务单独创建专家模型,但将它们融合到单个基础模型(例如 Gemini 2.0)中,可以让模型使用开放世界的自然语言指令执行具身推理任务,响应反馈并维持多轮交互。特别是,Gemini 2.0 可以将场景理解与推理相结合,以解决更复杂的任务,例如编写机器人代码。

Gemini 2.0 支持零样本和少样本机器人控制

Gemini 2.0 的具身推理能力使得无需使用任何机器人动作数据进行训练即可控制机器人。它可以开箱即用地执行所有必要的步骤,包括感知、状态估计、空间推理、规划和控制。之前的工作需要为此构建多个模型(Ahn,2022 ;Kwon ,2024 ;Liang ,2023 ;Vemprala ,2023),而 Gemini 2.0 将所有必需的功能整合到一个模型中。

下面研究两种不同的方法:通过代码生成的零样本机器人控制和通过上下文学习(ICL)的少样本控制 - 根据少量上下文演示来调整模型,以达到新行为的目的。 Gemini Robotics-ER 在两种环境下的一系列不同任务中均取得了良好的表现,尤其是零样本机器人控制性能与更好的具身理解密切相关:Gemini Robotics-ER 为此接受了更全面的训练,与 Gemini 2.0 相比,其任务完成率提高了近 2 倍。

通过代码生成进行零样本控制。为了测试 Gemini 2.0 的零样本控制能力,将其天生的代码生成能力与具身推理能力相结合。在双手 ALOHA 2(Team et al.,2024;Zhao et al.,2025)机器人上进行实验。为了控制机器人,Gemini 2.0 可以访问 API(Arenas,2023;Kwon,2024;Liang,2023),该 API 可以将每个夹持器移动到指定的姿势,打开和关闭每个夹持器,并提供当前机器人状态的读数。该 API 还提供感知功能;不调用外部模型,而是由 Gemini 2.0 本身检测物体边框、物体上的点,并生成自上而下的抓取姿势。

在一次episode中,Gemini 2.0 最初会收到系统提示、机器人 API 的描述和任务指令。然后,Gemini 2.0 迭代地接收显示场景当前状态、机器人状态和执行反馈的图像,并输出在环境中执行以控制机器人的代码。生成的代码使用 API 来理​​解场景并移动机器人,执行循环允许 Gemini 2.0 在必要时做出反应并重规划。如图给出 API 和 episodic 控制流的概述。

请添加图片描述

通过上下文示例进行小样本控制。先前的结果展示如何有效地使用 Gemini Robotics-ER 来完全零样本地处理一系列任务。然而,一些灵巧的操作任务超出 Gemini 2.0 目前执行零样本的能力。受此类案例的启发,该模型可以根据少量上下文演示进行调节,然后可以立即模拟这些行为。与前面的示例不同,不是生成代码,而是提示模型直接生成末端执行器姿势的轨迹,遵循演示中的示例。

扩展 (Di Palo & Johns, 2024) 中提出的方法,该方法将 𝑘 个遥控机器人动作轨迹转换为目标和末端执行器姿势列表,将它们标记为文本并将它们添加到提示中。得益于 Gemini Robotics-ER 的具身推理能力,不需要任何外部模型来提取视觉关键点和物体姿势(如参考文献中所做的那样);Gemini Robotics-ER 可以自己完成这项工作。除了观察来自上下文轨迹的自然语言推理,并且变得更好,例如,了解何时使用哪个手臂,或者更准确地预测在哪里与物体交互。使用大型多模态模型的一个优点是能够根据观察、动作和语言来调节其行为,所有这些的组合都优于任何单独的模态。

Gemini 2.0 Flash 和 Gemini Robotics-ER 都能够有效地使用完全在上下文中的演示来提高性能。 Gemini 2.0 Flash 在模拟中的表现达到 51%,而 Gemini Robotics-ER 在模拟和现实世界中的表现达到 65%。与零样本代码生成方法相比,大部分性能改进来自更灵巧的任务,例如交接物体、折叠衣服或打包玩具,这些演示可以调节模型以输出更精确的双手轨迹。

Gemini 2.0 Flash 及其 ER 增强版本 Gemini Robotics-ER 可直接用于控制机器人,作为感知模块(例如,物体检测)、规划模块(例如,轨迹生成)和/或通过生成和执行代码来协调机器人运动。它还显示具身推理能力的模型性能与下游机器人控制之间的强相关性。同时,该模型还能够利用上下文学习的强大功能,只需几个演示即可学习,并通过直接输出末端执行器姿势的轨迹来提高折叠衣服等更灵巧和双手任务的性能。然而,作为 VLM,机器人控制存在固有的局限性,尤其是对于更灵巧的任务,因为需要中间步骤将模型固有的具身推理能力与机器人动作联系起来。

Gemini Robotics:模型和数据

模型。像 Ge​​mini Robotics-ER 这样的大型 VLM 中,推理通常很慢,并且需要特殊的硬件。这可能会在 VLA 模型的背景下造成问题,因为推理可能无法在机载上运行,并且由此产生的延迟可能与实时机器人控制不兼容。Gemini Robotics 旨在解决这些挑战。它由两个组件组成:托管在云中的 VLA 主干(Gemini Robotics 主干)和在机器人机载计算机上运行的本地动作解码器(Gemini Robotics 解码器)。Gemini Robotics 主干由 Gemini Robotics-ER 的精简版本组成,其查询到响应延迟已从几秒优化到 160 毫秒以下。机器人上的 Gemini Robotics 解码器补偿主干的延迟。当主干和本地解码器组合在一起时,从原始观测到低级动作块的端到端延迟约为 250 毫秒。当块中有多个动作时,有效控制频率为 50Hz。尽管主干存在延迟,但整个系统不仅可以产生流畅的动作和反应行为,而且还保留主干的泛化能力。模型架构概览如图所示:

请添加图片描述

数据。在 12 个月内收集一批 ALOHA 2 机器人(Team et al.,2024;Zhao et al.,2025)的大规模遥控机器人动作数据集,其中包括数千小时的真实世界专家机器人演示。该数据集包含数千个不同的任务,涵盖了具有不同操作技能、目标、任务难度、情节范围和灵活性要求的场景。训练数据还包括非动作数据,例如 Web 文档、代码、多模态内容(图像、音频、视频)以及具身推理和视觉问答数据。这提高了模型理解、推理和概括许多机器人任务和请求的能力。

基线。将 Gemini Robotics 与两种最先进的模型进行比较:第一个是 𝜋0 重实现,这是对开放权重最先进的 𝜋0 VLA 模型 (Black,2024) 的重实现。在多样化的训练混合上训练 𝜋0 重实现,发现该模型的表现优于发布的公共检查点,因此,将其报告为实验中性能最高的 VLA 基线。第二个是多任务扩散策略(受 ALOHA Unleashed(Zhao 等人,2025)启发,但经过修改以适应任务),该模型已被证明可有效地从多模态演示中学习灵巧的技能。这两个基线都使用多样化数据混合的相同组合进行训练以达到收敛。 Gemini Robotics 主要在云端运行,使用本地动作解码器,而两个基线都在配备 Nvidia RTX 4090 GPU 的工作站本地运行。数据均基于严格的现实世界机器人实验,并进行了 A/B 测试和统计分析。

Gemini Robotics 可以开箱即用地解决各种灵巧操作任务

对所有模型进行了开箱即用的评估,即没有任何特定于任务的微调或额外提示,评估了从数据集中抽样的 20 个任务。选择了不同可变形体的灵巧操作(例如,“将电线缠绕在耳机上”)。

Gemini Robotics 模型可以熟练完成一半的开箱即用任务,成功率超过 80%。值得注意的是,模型擅长可变形体操作(“折叠粉色布料”、“将电线缠绕在耳机上”),而基线则难以完成这些任务。对于更具挑战性的任务(例如“打开粉色文件夹”、“插入红色积木”、“将电线缠绕在耳机上”),Gemini Robotics 是唯一能够实现非零成功的方法,这突显出高容量模型架构与所有模态(视觉、语言和动作)的高质量多样化数据相结合对于多任务策略学习至关重要。最后,一些最灵巧的任务仅从多任务设置中学习仍然相当具有挑战性(例如“插入鞋带”)。

Gemini Robotics 可以紧密遵循语言指令

选择 25 条语言指令,在五个不同的评估场景中进行评估,包括训练场景以及具有未见过物体和容器的新场景。评估侧重于必须精确遵循的语言命令(例如,“将蓝色夹子放在黄色便签的右侧”)——与“清理桌子”等开放式抽象指令形成对比。

强大的可操纵性,源于高质量多样化数据和强大的视觉语言主干的结合。即使在简单的分布场景中,Gemini Robotics 和 𝜋0 重实现也优于扩散基线,这表明需要强大的语言编码器。然而,尤其是在具有新物体和细粒度指令的具有挑战性场景中(例如,“将牙膏放在牙膏盒的底部隔间中”),Gemini Robotics 比任何基线都更有效。虽然基于 PaliGemma 的 𝜋0 重实现正确地贴近训练期间看到的物体,但它在解释描述性语言属性(例如,“顶部黑色容器”、“蓝色夹子”)方面遇到困难,并且无法解决带有未见过的物体和语言描述符的任务。

Gemini Robotics 将 Gemini 的泛化带入物理世界

缺乏强大的泛化,是机器人在家庭和工业应用中大规模部署的关键瓶颈。评估 Gemini Robotics 处理沿三个轴的变化的能力,这在先前的工作中被认为是重要的(Gao,2025)。

视觉泛化:模型应该对场景的视觉变化保持不变,这些变化不会影响解决任务所需的操作。这些视觉变化可能包括背景、光照条件、干扰目标或纹理的变化。
指令泛化:模型应该理解自然语言指令中的不变性和等效性。除了细粒度可操纵性之外,模型还应该理解释义、对拼写错误具有鲁棒性、理解不同的语言和不同程度的特殊性。
动作泛化:模型应该能够调整学习的动作或合成新的动作,例如泛化到训练期间未见过的初始条件(例如,物体放置)或物体实例(例如,形状或物理属性)。

相关文章:

Gemini Robotics:将人工智能带入物理世界

25年3月来自谷歌的技术报告“Gemini Robotics: Bringing AI into the Physical World”。 大型多模态模型的最新进展,已使数字领域出现卓越的通才能力,但将其转化为机器人等物理智体仍然是一项重大挑战。一般有用的机器人需要能够理解周围的物理世界&am…...

2.5[frontEnd]

requestAnimationFrame 是 浏览器原生 API,定义在 window 对象中,属于 Web API 的一部分。无需任何导入即可直接使用,其类型定义包含在 TypeScript 标准库中。 React 组件挂载时执行该 useEffect 初始化节流计时器 lastEmit 和 25ms 触发间隔…...

【动手学深度学习】#2线性神经网络

主要参考学习资料: 《动手学深度学习》阿斯顿张 等 著 【动手学深度学习 PyTorch版】哔哩哔哩跟李牧学AI 目录 2.1 线性回归2.1.1 线性回归的基本元素线性模型损失函数解析解随机梯度下降 2.1.3 最大似然估计 2.2 线性回归从零开始实现2.2.1 生成数据集2.2.2 读取数…...

C语言动态内存管理(上)

欢迎拜访:雾里看山-CSDN博客 本篇主题:C语言动态内存管理(上) 发布时间:2025.3.16 隶属专栏:C语言 目录 为什么需要动态内存管理静态分配的局限性动态分配的优势 动态内存函数malloc函数介绍函数使用 free函数介绍函数使用 calloc…...

图解多头注意力机制:维度变化一镜到底

目录 一、多头注意力机制概述二、代码实现1. pyTorch 实现2. tensorFlow实现 三、维度变化全流程详解1. 参数设定2. 维度变化流程图3. 关键步骤维度变化 四、关键实现细节解析1. 多头拆分与合并2. 注意力分数计算3. 掩码处理技巧 五、完整运行示例六、总结与常见问题1. 核心优势…...

Navicat如何查看密码

近期遇到需要将大部分已存储的navicat数据库转发给其他人,于是乎进行导出文件 奈何对方不用navicat,无法进行文件的导入从而导入链接 搜罗navicat的密码查看,大部分都为php代码解析 以下转载GitHub上看到的一个python代码解析的脚本 这里是对…...

第4节:分类任务

引入: 独热编码(one-hot):对于分类任务的输出,也就是是或不是某类的问题,采取独热编码的形式将y由一离散值转化为连续的概率分布,最大值所在下标为预测类 输入的处理:对于任意一张…...

EasyCVR安防视频汇聚平台助力工业园区构建“感、存、知、用”一体化智能监管体系

在现代工业园区的安全管理和高效运营中,视频监控系统扮演着不可或缺的角色。然而,随着园区规模的扩大和业务的复杂化,传统的视频监控系统面临着诸多挑战,如设备众多难以统一管理、数据存储分散、智能分析能力不足、信息利用率低下…...

计算机网络——DNS

一、什么是DNS? DNS(Domain Name System,域名系统) 是互联网的核心服务,负责将人类可读的域名(如 www.baidu.com)转换为机器可识别的 IP地址(如 14.119.104.254)。它像一…...

STC89C52单片机学习——第20节: [8-2]串口向电脑发送数据电脑通过串口控制LED

写这个文章是用来学习的,记录一下我的学习过程。希望我能一直坚持下去,我只是一个小白,只是想好好学习,我知道这会很难,但我还是想去做! 本文写于:2025.03.15 51单片机学习——第20节: [8-2]串口向电脑发送数据&电脑通过串口控制LED 前言…...

1.5[hardware][day5]

Link类跳转指令可以拆分为两个部分,一个是跳转,即下一个PC的生成,如果将分支条件的比较放到译码级来进行,则这部分只涉及取值级和译码级流水;另一个是Link操作,简单来说就是写寄存器,这部则主要…...

Java 多线程编程:提升系统并发处理能力!

多线程是 Java 中实现并发任务执行的关键技术,能够显著提升程序在多核处理器上的性能以及处理多任务的能力。本文面向初级到中级开发者,从多线程的基本定义开始,逐步讲解线程创建、状态管理、同步机制、并发工具以及新兴的虚拟线程技术。每部…...

Mininet 的详细设计逻辑

Mininet 是一个轻量级网络仿真工具,其核心目标是在单台物理机上快速构建复杂的虚拟网络拓扑,支持 SDN(软件定义网络)和传统网络协议的实验与验证。其设计逻辑围绕 虚拟化、模块化 和 灵活性 展开,以下是其详细设计架构…...

原生微信小程序实现导航漫游(Tour)

效果&#xff1a; 小程序实现导航漫游 1、组件 miniprogram/components/tour/index.wxml <!--wxml--> <view class"guide" wx:if"{{showGuide}}"><view style"{{guideStyle}}" class"guide-box"><view class&quo…...

Spring(6)——Spring、Spring Boot 与 Spring MVC 的关系与区别

Spring、Spring Boot 与 Spring MVC 的关系与区别 1. 核心定位 Spring 定位&#xff1a;基础框架&#xff0c;提供 IoC&#xff08;控制反转&#xff09; 和 DI&#xff08;依赖注入&#xff09; 核心功能&#xff0c;管理对象生命周期及依赖关系。功能&#xff1a;支持事务管…...

神聖的綫性代數速成例題2. 行列式的性質

性質 1&#xff1a;行列式與它的轉置行列式相等&#xff1a; 設為行列式&#xff0c;為其轉置行列式&#xff0c;則。 性質 2&#xff1a;交換行列式的兩行 (列)&#xff0c;行列式變號&#xff1a; 若行列式經過交換第行和第行得到行列式&#xff0c;則。 性質 3&#xff…...

ModelScope推理QwQ32B

文章目录 ModelScope推理QwQ32Bmodel_scope下载QwQ32BModelScope 调用QwQ-32B ModelScope推理QwQ32B 以下载 qwq32b 为例子 需要安装的 python 包 transformers4.49.0 accelerate>0.26.0 torch2.4.1 triton3.0.0 safetensors0.4.5可以使用 conda 创建一个虚拟环境安装 cond…...

使用unsloth进行grpo强化学习训练

说明 unsloth框架可以进行各种sft训练&#xff0c;包括lora和grpo训练。我参考官方方法&#xff0c;使用模型Qwen2.5-3B-Instruct和数据集gsm8k&#xff0c;写了一个grpo训练的例子。 代码 这个代码加载模型Qwen2.5-3B-Instruct和数据集gsm8k。训练完成后先保存lora模型然后…...

【c++】【智能指针】shared_ptr底层实现

【c】【智能指针】shared_ptr底层实现 智能指针之前已经写过了&#xff0c;但是考虑到不够深入&#xff0c;应该再分篇写写。 1 shared_ptr 1.1 shared_ptr 是什么 std::shared_ptr是一个类模板&#xff0c;它的对象行为像指针&#xff0c;但是它还能记录有多少个对象共享它…...

python拉取大视频导入deepseek大模型解决方案

使用Python拉取大视频并导入大模型&#xff0c;需要综合考虑数据获取、存储、处理和资源管理&#xff0c;确保高效稳定地处理大视频数据&#xff0c;同时充分利用大模型的性能&#xff0c;以下是分步方案及代码示例&#xff1a; --- 1. 分块下载大视频&#xff08;避免内存溢出…...

【Python】面向对象

编程的两大特点 面向过程&#xff1a;着重于做什么面向对象&#xff08; oop&#xff09;&#xff1a;着重于谁去做 python是面向对象语言&#xff0c;面向对象三大特点&#xff1a;封装、继承、多态 面向对象&#xff1a;便于代码管理&#xff0c;方便迭代更新。 新式类、经…...

leetcode日记(100)填充每个节点的下一个右侧节点指针

和层序遍历差不多的思路&#xff0c;将节点储存在队列里&#xff0c;一边取出节点一边放入取出节点的左右节点&#xff0c;直到队列空。 /* // Definition for a Node. class Node { public:int val;Node* left;Node* right;Node* next;Node() : val(0), left(NULL), right(NU…...

docker入门篇

使用docker可以很快部署相同的环境,这也是最快的环境构建,接下来就主要对docker中的基础内容进行讲解.Docker 是一个用于开发、交付和运行应用程序的开源平台&#xff0c;它可以让开发者将应用程序及其依赖打包到一个容器中&#xff0c;然后在任何环境中运行这个容器&#xff0…...

python语法

1. 前面先写import导入模块&#xff0c;完整的语法是&#xff1a; [from 模块名] import [模块 | 类 | 变量 | 函数 | *] [as 别名] 语法还可以是&#xff1a; from 模块名 import 功能名 如果import整个模块的话&#xff0c;需要用.功能名()&#xff0c;来用这个功能&#xff…...

Dify使用部署与应用实践

最近在研究AI Agent&#xff0c;发现大家都在用Dify&#xff0c;但Dify部署起来总是面临各种问题&#xff0c;而且我在部署和应用测试过程中也都遇到了&#xff0c;因此记录如下&#xff0c;供大家参考。Dify总体来说比较灵活&#xff0c;扩展性比较强&#xff0c;适合基于它做…...

微信小程序接入DeepSeek模型(火山方舟),并在视图中流式输出

引言&#xff1a; DeepSeek&#xff0c;作为一款先进的自然语言处理模型&#xff0c;以其强大的文本理解和生成能力著称。它能够处理复杂的文本信息&#xff0c;进行深度推理&#xff0c;并快速给出准确的回应。DeepSeek模型支持流式处理&#xff0c;这意味着它可以边计算边输…...

前端性能优化指标及优化方案

前端性能优化的核心目标是 提高页面加载速度、降低交互延迟、减少资源占用。常见的 Web 性能指标包括 LCP、FID、CLS、TTFB、TTI、FCP 等。 关键性能指标&#xff08;Web Vitals&#xff09; 指标优化方案 &#xff08;1&#xff09;LCP&#xff08;Largest Contentful Paint&…...

正则化介绍

简单介绍 正则化是用于控制模型的复杂度&#xff0c;防止模型在训练数据上过度拟合&#xff08;overfitting&#xff09;。正则化通过在模型的损失函数中引入额外的惩罚项&#xff0c;来对模型的参数进行约束&#xff0c;从而降低模型的复杂度。这个额外的惩罚通常与模型参数的…...

AI时代:数字媒体的无限可能

人工智能和数字媒体技术正深刻改变着我们的生活。通过大数据分析、机器学习等技术&#xff0c;人工智能不仅能精准预测用户需求&#xff0c;还能在医疗、金融等多个领域提供高效解决方案。与此同时&#xff0c;数字媒体技术的进步使得信息传播更加迅速和广泛。社会计算作为新兴…...

自动化爬虫drissionpage

自动化爬虫drissionpage官网 自动化测试框架&#xff1a;DrissionPage DrissionPage调用工具汇总 网络爬虫工具比较-DrissionPage、Selenium、Playwright...

禁毒知识竞赛主持稿串词

尊敬的各位领导、各位来宾、参赛选手们&#xff1a;大家好&#xff01; 在市禁毒委员会的领导下&#xff0c;今年我市开展了以“参与禁毒战争&#xff0c;构建和谐社会”为主题的禁毒宣传月活动。为了进一步加强我市禁毒宣传力度&#xff0c;促进社会治安的好转和社会主义物质文…...

【JDK17】Jlink一秒生成精简的JRE

之前介绍了 Java17模块化的JDK&#xff0c;模块化后按需使用Jlink 用于精简生成 JRE 环境&#xff0c;这让快速的开发环境增强了编码的愉悦感。在实际生产环境中使用 mave 进行项目的构建&#xff0c;其次再是精简 JRE 缩小容器镜像体积&#xff0c;为实现一体化的流程&#xf…...

机器学习周报--文献阅读

文章目录 摘要Abstract 1 文章内容1.1 模型结构1.1.1 LSTMAT的结构设置1.1.2 AWPSO算法优化模型 1.2 实验与结果讨论1.2.1 处理缺失数据1.2.2 模型评估指标1.2.3 比较实验1.2.4 消融实验&#xff08;ABLATION EXPERIMENTS&#xff09; 2相关知识2.1 自适应权重粒子群优化&#…...

硬件地址反序?用位操作为LED灯序“纠偏”。反转二进制数即可解决

特别有意思&#xff0c;LED的灯序与其硬件地址刚好相反&#xff0c;没办法直接通过加1实现二进制进位的亮灯操作&#xff0c;查了一些资料说用数组和switch实现&#xff0c;觉得太麻烦了&#xff0c;思索良久&#xff0c;就想到了反转二进制数解决这个问题。 reverse_bits( )是…...

A* floyd算法 bellman-ford

求源点到目标点最短距离 排序的里面要加上与目标点一个预估距离,与dj算法差距只有这儿 预估要小于等于真实的最短距离,吸引力要适当 越接近实际距离越快 #include<bits/stdc.h> using namespace std;// 方向向量&#xff1a;上、右、下、左 const vector<int> …...

【数据挖掘】KL散度(Kullback-Leibler Divergence, KLD)

KL散度&#xff08;Kullback-Leibler Divergence, KLD&#xff09; 是衡量两个概率分布 P 和 Q之间差异的一种非对称度量。它用于描述当使用分布 Q 逼近真实分布 P 时&#xff0c;信息丢失的程度。 KL散度的数学定义 给定两个离散概率分布 P(x)和 Q(x)&#xff0c;它们在相同的…...

Linux shell 进度条

概述 在 Linux Shell 中实现一个简单的进度条可以通过 printf 命令结合特殊字符来实现&#xff0c;以下是一个示例脚本&#xff0c;它模拟了一个从 0% 到 100% 的进度条。 作用 反馈任务进度&#xff1a;让用户直观了解任务执行的进展情况&#xff0c;比如文件拷贝、系统更新…...

ctfshow web刷题记录

RCE 第一题 eval代码执行 &#xff1a; 1、使用system 加通配符过滤 ?csystem("tac%20fl*") ; 2、反字节执行 xxx %20 echo 反字节 3、变量转移 重新定义一个变量 让他代替我们执行 4、伪协议玩法 ?cinclude$_GET[1]?>&1php://filter/readc…...

leetcode日记(101)填充每个节点的下一个右侧节点指针Ⅱ

意料之中有这题&#xff0c;将之前的思路换一下即可&#xff0c;层序遍历的思路将record&#xff08;记录下一个循环的次数&#xff09;手动加减。 /* // Definition for a Node. class Node { public:int val;Node* left;Node* right;Node* next;Node() : val(0), left(NULL)…...

大语言模型微调和大语言模型应用的区别?

1. 基本概念 微调&#xff08;Fine-tuning&#xff09; 定义&#xff1a;微调是指在预训练大语言模型的基础上&#xff0c;通过在特定领域或任务的数据上进一步训练&#xff0c;从而使模型在该特定任务上表现更优。 目的&#xff1a;适应具体的任务需求&#xff0c;比如法律文…...

Leetcode-131.Palindrome Partitioning [C++][Java]

目录 一、题目描述 二、解题思路 【C】 【Java】 Leetcode-131.Palindrome Partitioninghttps://leetcode.com/problems/palindrome-partitioning/description/131. 分割回文串 - 力扣&#xff08;LeetCode&#xff09;131. 分割回文串 - 给你一个字符串 s&#xff0c;请你…...

DeepSeek:开启机器人智能化的革命性突破

引言 在2025年全球机器人产业格局中&#xff0c;中国AI公司深度求索&#xff08;DeepSeek&#xff09;凭借开源机器人智能控制系统DeepSeek-R1&#xff0c;正在掀起一场从底层算法到应用生态的技术革命。不同于传统机器人依赖预设程序的局限&#xff0c;DeepSeek通过深度推理能…...

解决load()文件报错zipfile.BadZipFile: File is not a zip file

报错如下图&#xff1a; 有可能是资源没有关闭造成了错误&#xff0c;这个网上已经有很多解决方案了&#xff0c;大家可自行查阅。 如果你在别的地方都没有找到解决问题&#xff0c;那么可能是以下这种情况。 1、描述 我在服务器上的代码load()加载文件时&#xff0c;出现了…...

【Tools】Visual Studio Code安装保姆级教程(2025版)

00. 目录 文章目录 00. 目录01. Visual Studio Code概述02. Visual Studio Code下载03. Visual Studio Code安装04. Visual Studio Code配置05. 附录 01. Visual Studio Code概述 Visual Studio Code&#xff08;简称 VS Code&#xff09;是由微软开发的一款免费、开源且跨平台…...

Python库安装报错解决思路以及机器学习环境配置详细方案

文章目录 概要第三方库gdalmahotasgraphviznltk-datalazypredictscikit-surprisenb_extensions 机器学习GPU-torch安装torch_geometric安装ubuntu安装显卡驱动dlib安装torch-cluster、torch-scatter、torch-sparse和torch-geometricYOLOapextensorflow-gpu Python && P…...

ETIMEDOUT 网络超时问题

根据日志显示&#xff0c;你遇到的 ​**ETIMEDOUT 网络超时问题** 是由于 npm 无法连接到企业内部的 Nexus 仓库&#xff08;http://192.168.55.12:8001&#xff09;导致的。以下是具体原因和解决方案&#xff1a; 一、问题根源 ​Nexus 仓库不可达 日志中所有依赖包均尝试从 h…...

superset部署记录

具备网络条件的&#xff0c;完全可以一键部署&#xff0c;不需要折腾。网络条件不具备时&#xff0c;部署记录留存备查。 1、正常模式 详细介绍参考&#xff1a;【开源项目推荐】Apache Superset——最优秀的开源数据可视化与数据探索平台-腾讯云开发者社区-腾讯云 (tencent.c…...

todolist docker 小工具

参考链接 前排提示 没有中文&#xff0c;可使用浏览器 翻译 前提 安装docker安装docker-compose 下载仓库 git clone https://github.com/JordanKnott/taskcafe进行安装 cd taskcafe docker-compose -p taskcafe up -d服务启动后会监听在 3333 端口上&#xff0c;通过浏览器…...

PowerToys:解锁Windows生产力的终极武器

欢迎来到涛涛聊AI。今天想着把win键和加号的组合键映射为win键和Q键盘。经过搜索发现PowerToys。 在数字化办公的浪潮中&#xff0c;效率是职场人永恒的追求。微软推出的 PowerToys 作为Windows官方系统强化工具&#xff0c;凭借其强大的功能和开源免费的特性&#xff0c;已成为…...

内存管理:

我们今天来学习一下内存管理&#xff1a; 1. 内存分布&#xff1a; 我们先来看一下我们下面的图片&#xff1a; 这个就是我们的内存&#xff0c;我们的内存分为栈区&#xff0c;堆区&#xff0c;静态区&#xff0c;常量区&#xff1b; 我们的函数栈帧开辟消耗的内存就是我们…...