同济大学轻量化低成本具身导航!COSMO:基于选择性记忆组合的低开销视觉语言导航
- 作者:Siqi Zhang 1 ^{1} 1, Yanyuan Qiao 3 ^{3} 3, Qunbo Wang 2 ^{2} 2, Zike Yan 4 ^{4} 4, Qi Wu 3 ^{3} 3, Zhihua Wei 1 ^{1} 1, Jing Liu 1 ^{1} 1
- 单位: 1 ^{1} 1同济大学计算机科学与技术学院, 2 ^{2} 2中科院自动化研究所, 3 ^{3} 3阿德莱德大学澳大利亚机器学习研究所, 4 ^{4} 4清华大学人工智能产业研究院
- 论文标题:COSMO: Combination of Selective Memorization for Low-cost Vision-and-Language Navigation
- 论文链接:https://arxiv.org/pdf/2503.24065
主要贡献
- 论文提出COSMO架构,结合了选择性记忆,旨在实现低成本且高效的视觉语言导航。
- 引入RSS模块Round Selective Scan (RSS),用于在单个扫描中捕获标记间的全面关系,增强空间建模能力。
- 引入CS3模块Cross-modal Selective State Space Module (CS3) ,用于促进跨模态交互,适应视觉语言导航任务的需求。
- COSMO在多个基准数据集上表现出色,同时显著降低了计算成本,参数和FLOPs分别仅为DUET的15.5%和9.3%。
研究背景
研究问题
- 论文主要解决的问题是如何在低成本的情况下实现高效的视觉语言导航(VLN)。
- VLN任务在人工智能研究中具有重要意义,尤其是在家庭助理机器人和动态环境中的自主导航系统中。
研究难点
该问题的研究难点包括:
- 现有的VLN方法通常依赖于Transformer架构,并结合外部知识库或地图信息来提高性能,但这导致了模型变大、计算成本增加;
- 此外,随着指令长度的增加,路径复杂性也随之增加,导致当前方法的导航性能下降。
相关工作
-
视觉语言导航(VLN):
- VLN任务是实现多功能具身导航智能体的关键组成部分,吸引了广泛的研究关注。早期方法采用编码器-解码器框架来记忆先前访问的位置,随后采用基于Transformer的架构显著提升了导航性能。
- 基于地图的方法通过构建拓扑图、顶向下语义图或网格图来显式地记忆导航历史。
- 近期研究还引入了世界模型的概念,用于未来图像预测和心理规划,以增强导航性能。
- 一些方法通过结合更全面的视觉线索(如深度和地图信息)或常识知识来提升导航性能。
- 最近,Nav-iLLM引入了一个能够处理多种具身任务的通用智能体,但模型规模的扩大导致了更高的计算成本。
-
状态空间模型(SSMs):
- SSMs在序列建模中显示出显著的有效性。HiPPO通过使用高阶正交多项式压缩输入来捕捉长期序列依赖性。
- S4通过将结构化状态矩阵分解为低秩和平常项来减少计算和内存需求。
- Mamba通过引入选择机制和输入依赖的SSM层来增强S4的性能。
- 后续研究扩展了Mamba的应用领域,如视觉、多模态、生成和机器人等领域。
- 在视觉领域,Mamba的潜力激发了一系列医学图像分割的工作。在多模态领域,VL-mamba和Cobra利用Mamba进行多模态推理。
-
论文指出,尽管SSMs在长序列和因果数据建模中表现出色,但在处理不同长度的序列和多模态信息时仍面临挑战。
-
COSMO通过引入为VLN任务定制的选择性状态空间模块来解决这些问题。
理论基础
问题定义
在标准的离散环境设置中,VLN任务的目标是让智能体根据自然语言指令在导航图中找到目标位置。具体来说:
- 环境被定义为一个无向导航图 G = { V , E } \mathcal{G} = \{\mathcal{V}, \mathcal{E}\} G={V,E},其中 V = { V i } i = 1 K \mathcal{V} = \{V_i\}_{i=1}^K V={Vi}i=1K 表示 K K K 个可导航节点, E \mathcal{E} E 表示连接边。
- 给定一个包含 L L L 个单词的指令 I = { w i } i = 1 L \mathcal{I} = \{w_i\}_{i=1}^L I={wi}i=1L,智能体的任务是根据指令遍历导航图到达目标位置,并在需要时找到指定物体。
- 在每一步 t t t,智能体接收一个全景视图 O t \mathcal{O}_t Ot 和当前节点 V t V_t Vt 的相邻节点 N ( V t ) \mathcal{N}(V_t) N(Vt)。
- 视图 O t \mathcal{O}_t Ot 可以被分割成 N N N 个视图图像 O t = { v i t } i = 1 N \mathcal{O}_t = \{v_i^t\}_{i=1}^N Ot={vit}i=1N,其中 v i v_i vi 表示节点 V t V_t Vt 的第 i i i 个视图图像。
- 动作空间 A t \mathcal{A}_t At 包含导航到 V t + 1 ∈ N ( V t ) V_{t+1} \in \mathcal{N}(V_t) Vt+1∈N(Vt) 或在 V t V_t Vt 处停止。
状态空间模型
SSMs是一种用于序列建模的方法,通常被视为线性时不变系统(LTI),通过隐藏状态 h ( t ) h(t) h(t) 将输入 x ( t ) x(t) x(t) 映射到输出响应 y ( t ) y(t) y(t)。
-
连续时间的SSMs通常通过线性常微分方程(ODEs)表示:
h ′ ( t ) = A h ( t ) + B x ( t ) , y ( t ) = C h ′ ( t ) + D x ( t ) h'(t) = A h(t) + B x(t), \quad y(t) = C h'(t) + D x(t) h′(t)=Ah(t)+Bx(t),y(t)=Ch′(t)+Dx(t)
其中 A ∈ R N × N A \in R^{N \times N} A∈RN×N 是演化矩阵, B ∈ R N × 1 B \in R^{N \times 1} B∈RN×1 和 C ∈ R N × 1 C \in R^{N \times 1} C∈RN×1 是与系统输入和输出相关的投影参数, D ∈ R D \in R D∈R 是跳过连接的权重。 -
为了集成到深度模型中,连续时间的SSMs需要进行离散化。通过引入时间尺度参数 Δ ∈ R \Delta \in R Δ∈R,可以将连续参数 A A A 和 B B B 转换为离散参数 A ‾ \overline{A} A 和 B ‾ \overline{B} B:
A ‾ = exp ( Δ A ) \overline{A} = \exp(\Delta A) A=exp(ΔA)
B ‾ = exp ( Δ A ) − 1 ( exp ( Δ A ) − I ) ⋅ Δ B ≈ Δ B \overline{B} = \exp(\Delta A)^{-1} (\exp(\Delta A) - I) \cdot \Delta B \approx \Delta B B=exp(ΔA)−1(exp(ΔA)−I)⋅ΔB≈ΔB
离散化后,方程可以重写为:
h t = A ˉ h t − 1 + B ˉ x t , y t = C h t + D x t h_t = \bar{A} h_{t-1} + \bar{B} x_t, \quad y_t = C h_t + D x_t ht=Aˉht−1+Bˉxt,yt=Cht+Dxt -
在实践中, x t x_t xt 是一个具有 D D D 维度的特征向量,方程对每个维度独立操作。
Mamba的选择性机制
Mamba通过学习输入依赖的参数来选择数据,超越了传统的SSMs:
- 输入依赖的参数通过线性投影层 S B S_B SB 和 S C S_C SC 来选择数据:
B t = S B ( x t ) , C t = S C ( x t ) , Δ t = τ Δ ( S Δ ( x t ) ) B_t = S_B(x_t), \quad C_t = S_C(x_t), \quad \Delta_t = \tau_{\Delta}(S_{\Delta}(x_t)) Bt=SB(xt),Ct=SC(xt),Δt=τΔ(SΔ(xt))
其中 τ Δ \tau_{\Delta} τΔ 是SoftPlus,ReLU的平滑近似。
方法
基线方法
COSMO以DUET为基线模型,采用双流架构,包括文本编码器、全景编码器和跨模态编码器。
文本编码器
- 每个指令中的单词被嵌入,并添加位置嵌入和类型嵌入。
- 所有单词标记被输入到预训练的语言编码器中,以获得单词表示,记为 W = { w ^ 1 , . . . , w ^ L } \mathcal{W} = \{\hat{w}_1, ..., \hat{w}_L\} W={w^1,...,w^L}。
全景编码器
- 在时间步 t t t,智能体接收包含 N N N 个视图的全景观察 O t = { v i } i = 1 N \mathcal{O}_t = \{v_i\}_{i=1}^N Ot={vi}i=1N。
- 使用预训练的视觉Transformer提取每个视图的全局表示。
- 这些特征随后被输入多层Transformer以建模视图之间的空间关系。
跨模态编码器
- 粗尺度编码器构建拓扑图,其中所有视图的均值代表访问过的节点和当前节点,而部分观察的平均值代表幽灵节点。
- 视觉特征(粗尺度上的拓扑图,细尺度上的当前节点)和文本特征被输入多个跨模态Transformer块以生成多模态特征。
动作预测
- 跨模态编码器的输出多模态特征被输入到单独的前馈网络(FFNs)以获取动作预测。
- 这些预测通过一个可学习的标量动态融合,以获得最终的动作。
COSMO
Round Selective Scan (RSS)
- RSS模块用于空间建模,通过在单个扫描轮次内捕获标记间的关系来提高效率。
- 输入序列 x ′ x' x′ 被翻转并与原始序列 x x x 连接,形成新的序列 x = [ x ′ ∣ flip ( x ′ ) ] x = [x' \mid \text{flip}(x')] x=[x′∣flip(x′)]。
- 通过一次扫描过程,RSS模块能够捕获更全面的上下文信息。
- 输出 y y y 在标记维度上均分并反转第二半,以获得RSS结果。
Cross-modal Selective State Space Module (CS3)
- CS3模块用于跨模态交互,将选择性机制适应到双流结构中。
- 输入为两个模态的特征向量 x x x 和 y y y,分别表示视觉和文本特征。
- CS3模块通过以下步骤更新状态空间:
- y ′ y' y′ 是 y y y 的翻转和连接版本,以使所有标记能够访问和影响类标记。
- y in y_{\text{in}} yin 是通过卷积和激活函数处理后的 y ′ y' y′。
- B B B 和 Δ \Delta Δ 基于 y y y 构建,以更新状态空间。
- C C C 基于 x x x 构建,以指导从状态空间到输出的转换。
- 通过状态空间更新后, y y y 的类标记输出作为门来选择性地过滤来自 x x x 的相关信息。
混合架构
- 节点编码器在构建拓扑图后,对当前节点及其未访问的邻居节点进行编码。
- 全局跨模态编码器在全局层面上选择下一个动作或停止。
- 局部跨模态编码器在局部层面上关注当前位置并选择相应的视图或决定停止。
实验
实验设置
COSMO模型在三个主流的视觉-语言导航数据集上进行评估:R2R、REVERIE和R2R-CE。
数据集
- R2R:提供分步指令,分为训练、验证和测试集。训练集包含61个房子,验证集和测试集分别包含11和18个房子。
- R2R-CE:将R2R中的路径转移到连续环境中,路径长度平均为9.89米,指令平均包含32个单词。
- REVERIE:提供粗粒度指令,主要描述目的地和目标对象。训练集包含60个房子,验证集和测试集分别包含46和16个房子。
与其他方法的比较
导航性能
- 在REVERIE数据集上,COSMO在验证未见集上表现出色,成功率达到50.81%,优于NaviLLM和DUET。
- 在R2R数据集上,COSMO在测试集上表现出色,成功率达到71%,接近DUET的性能。
- 在R2R-CE数据集上,COSMO在测试集上超越了DUET和GridMM,显示出更好的泛化能力。
计算成本
- COSMO在计算成本上具有显著优势,仅需要DUET 9.3%的计算量和15.5%的参数。
- 通过减少计算复杂性和参数数量,COSMO在保持高性能的同时降低了计算成本。
消融研究
双流结构的必要性
- 直接应用Mamba到VLN任务会导致性能下降,表明双流结构的重要性。
RSS模块的优势
- 替换RSS模块会导致成功率和路径长度标准化成功率(SPL)的下降,验证了RSS模块的有效性。
CS3模块的优势
- 替换CS3模块会导致成功率和SPL的显著下降,表明CS3在跨模态交互中的优越性。
模型架构的必要性
- 通过比较不同的模型架构,验证了SSMs在Transformer之前的必要性。
定量和定性分析
定量分析
- 通过比较不同长度指令的成功率,验证了COSMO在长指令上的优越性。
定性分析
- 通过可视化预测路径,展示了COSMO在处理复杂环境时的优势。
总结
- 本文提出的COSMO通过结合两种定制的VLN选择性状态空间模块(RSS和CS3),实现了低成本的VLN。
- 实验结果表明,COSMO在处理长指令时表现出显著的导航性能提升,同时显著降低了计算成本。
- COSMO展示了在保持竞争力的导航性能的同时,显著减少计算成本的能力。
相关文章:
同济大学轻量化低成本具身导航!COSMO:基于选择性记忆组合的低开销视觉语言导航
作者:Siqi Zhang 1 ^{1} 1, Yanyuan Qiao 3 ^{3} 3, Qunbo Wang 2 ^{2} 2, Zike Yan 4 ^{4} 4, Qi Wu 3 ^{3} 3, Zhihua Wei 1 ^{1} 1, Jing Liu 1 ^{1} 1单位: 1 ^{1} 1同济大学计算机科学与技术学院, 2 ^{2} 2中科院自动化研究所࿰…...
【Ubuntu | 网络】Vmware虚拟机里的Ubuntu开机后没有网络接口、也没有网络图标
😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 😎金句分享😎&a…...
第二十一讲 XGBoost 回归建模 + SHAP 可解释性分析(利用R语言内置数据集)
下面我将使用 R 语言内置的 mtcars 数据集,模拟一个完整的 XGBoost 回归建模 SHAP 可解释性分析 实战流程。我们将以预测汽车的油耗(mpg)为目标变量,构建 XGBoost 模型,并用 SHAP 来解释模型输出。 🚗 示例…...
HP惠普打印机:解决每次打印后额外产生@PJL SET USERNAME=文档的情况
情况描述 惠普商用打印机型号:Color LaserJet Managed MFP E78223 在每次打印文档后都会出现包含我个人电脑用户名的额外文档: 这不是我希望的,因此我联系了惠普官方客服,并得到了解决 解决方案 原因 具客服所说,这些是…...
MariaDB MaxScale 的用途与实现细节
MaxScale 主要用途 MariaDB MaxScale 是一个智能数据库代理(proxy),主要用于增强 MySQL/MariaDB 数据库的高可用性、可扩展性和安全性,同时简化应用程序与数据库基础设施之间的交互。它的核心功能包括: 负载均衡&…...
CTF--eval
一、原网页: 二、步骤: 1.代码分析: <?phpinclude "flag.php"; // 引入一个文件,该文件可能定义了一些变量(例如 $flag)$a $_REQUEST[hello]; // 从用户请求中获取参数 hello 的值&#x…...
Android学习总结之算法篇七(图和矩阵)
有向图的深度优先搜索(DFS)和广度优先搜索(BFS)的示例,以此来模拟遍历 GC Root 引用链这种有向图结构: 一、深度优先搜索(DFS) import java.util.*;public class GraphDFS {privat…...
vmcore分析锁问题实例(x86-64)
问题描述:系统出现panic,dmesg有如下打印: [122061.197311] task:irq/181-ice-enp state:D stack:0 pid:3134 ppid:2 flags:0x00004000 [122061.197315] Call Trace: [122061.197317] <TASK> [122061.197318] __schedule0…...
【vue3】vue3+express实现图片/pdf等资源文件的下载
文件资源的下载,是我们业务开发中常见的需求。作为前端开发,学习下如何自己使用node的express框架来实现资源的下载操作。 实现效果 代码实现 前端 1.封装的请求后端下载接口的方法,需求配置aixos的请求参数里面的返回数据类型为blob // 下载 export…...
【BUG】Redis RDB快照持久化及写操作禁止问题排查与解决
1 问题描述 在使用Redis 的过程中,遇到如下报错,错误信息是 “MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk...”,记录下问题排查过程。 2 问题排查与解决 该错误提示表明&#…...
【HD-RK3576-PI】定制用户升级固件
硬件:HD-RK3576-PI 软件:Linux6.1Ubuntu22.04 在进行 Rockchip 相关开发时,制作自定义的烧写固件是一项常见且重要的操作。这里主要介绍文件系统的修改以及打包成完整update包升级的过程。 一、修改文件系统镜像(Ubuntu环境操作&…...
【AI学习】李宏毅老师讲AI Agent摘要
在b站听了李宏毅2025最新的AI Agent教程,简单易懂,而且紧跟发展,有大量最新的研究进展。 教程中引用了大量论文,为了方便将来阅读相关论文,进一步深入理解,做了截屏纪录。 同时也做一下分享。 根据经验调整…...
狂神SQL学习笔记十:修改和删除数据表字段
1、修改与删除表 alter 修改表的名称: 增加表的字段: 修改表的字段(重命名,修改约束): 修改约束 重命名 删除表的字段 删除表...
OSPF综合实验
一、网络拓扑 二、实验要求 1,R5为ISP,其上只能配置IP地址;R4作为企业边界路由器; 2,整个0SPF环境IP基于172.16.0.8/16划分; 3,所有设备均可访问R5的环回; 4,减少LSA的更新量,加快收敛…...
2025 cs144 Lab Checkpoint 2 小白超详细版
文章目录 1 环形索引的实现1.1 wrap类wrapunwrap 2 实现tcp_receiver2.1 tcp_receiver的功能2.2 传输的报文格式TCPSenderMessageTCPReceiverMessage 2.3 如何实现函数receive()send() 1 环形索引的实现 范围是0~2^32-1 需要有SY…...
VMware虚拟机安装Ubuntu 22.04.2
一、我的虚拟机版本 二、浏览器搜索Ubuntu 三、下载Ubuntu桌面版 四、下这个 五、创建新的虚拟机 六、选择典型,然后下一步 七、选择稍后安装操作系统,然后下一步 八、选择Linux ,版本选择Ubuntu 64位 九、选择好安装位置 十、磁盘大小一般选20G就够用了…...
XSS漏洞及常见处理方案
文章背景: 在近期项目安全测试中,安全团队发现了一处潜在的 跨站脚本攻击(XSS)漏洞,该漏洞可能导致用户数据被篡改或会话劫持等安全风险。针对这一问题,项目组迅速响应,通过代码修复、输入过滤、…...
TCP标志位抓包
说明 TCP协议的Header信息,URG、ACK、PSH、RST、SYN、FIN这6个字段在14字节的位置,对应的是tcp[13],因为字节数是从[0]开始数的,14字节对应的就是tcp[13],因此在抓这几个标志位的数据包时就要明确范围在tcp[13] 示例1…...
C/C++条件判断
条件判断 if语句的三种形态 if(a<b){} 、 if(a<b){}else{} 、 if(a<b){}else if(a>b) else{} if语句的嵌套 嵌套的常见错误(配对错误),与前面最近的,而且还没有配对的if匹配 错误避免方法:严格使用 { }、先写&am…...
单位门户网站被攻击后的安全防护策略
政府网站安全现状与挑战 近年来,随着数字化进程的加速,政府门户网站已成为政务公开和服务公众的重要窗口。然而,网络安全形势却日益严峻。国家互联网应急中心的数据显示,政府网站已成为黑客攻击的重点目标,被篡改和被…...
# 工具记录
工具记录 键盘操作可视化工具openark64系统工具dufs-webui文件共享zotero文献查看cff explorerNoFencesfreeplane开源思维导图...
C/C++运算
C语言字符串的比较 #include <string.h> int strcmp( const char *str1, const char *str2 );例如: int ret; ret strcmp(str1, str2);返回值: str1 < str2时, 返回值< 0(有些编译器返回 -1) str1 > str2时…...
CloudWeGo 技术沙龙·深圳站回顾:云原生 × AI 时代的微服务架构与技术实践
2025 年 3 月 22 日,CloudWeGo “云原生 AI 时代的微服务架构与技术实践”主题沙龙在深圳圆满落幕。作为云原生与 AI 微服务融合领域的深度技术聚会,本次活动吸引了来自企业、开发者社区的百余位参与者,共同探讨如何通过开源技术应对智能时代…...
STM32移植文件系统FATFS——片外SPI FLASH
一、电路连接 主控芯片选型为:STM32F407ZGT6,SPI FLASH选型为:W25Q256JV。 采用了两片32MB的片外SPI FLASH,电路如图所示。 SPI FLASH与主控芯片的连接方式如表所示。 STM32F407GT6W25Q256JVPB3SPI1_SCKPB4SPI1_MISOPB5SPI1_MOSI…...
华为HG8546M光猫宽带密码破解
首先进光猫管理界面 将password改成text就可以看到加密后的密码了 复制密码到下面代码里 import hashlibdef sha256(todo):return hashlib.sha256(str(todo).encode()).hexdigest()def md5(todo):return hashlib.md5(str(todo).encode()).hexdigest()def find_secret(secret,…...
驱动-兼容不同设备-container_of
驱动兼容不同类型设备 在 Linux 驱动开发中,container_of 宏常被用来实现一个驱动兼容多种不同设备的架构。这种设计模式在 Linux 内核中非常常见,特别 是在设备驱动模型中。linux内核的主要开发语言是C,但是现在内核的框架使用了非常多的面向…...
UE5 检测球形范围的所有Actor
和Untiiy不同,不需要复杂的调用 首选确保角色添加了Sphere Collision 然后直接把sphere拖入蓝图,调用GetOverlappingActors来获取碰撞范围内的所有Actor...
AI大模型学习十:Ubuntu 22.04.5 调整根目录大小,解决根目录磁盘不够问题
一、说明 由于默认安装时导致home和根目录大小一样,导致根目录不够,所以我们调整下 二、调整 # 确认/home和/是否为独立逻辑卷,并属于同一卷组(VG) rootnode1:~# lsblk NAME MAJ:MIN RM SIZE…...
在ros2上使用opencv显示一张图片
1.先将图片放到桌面上 2.打开终端ctrlaltT,查看自己是否已安装opencv 3.创建工作环境 4.进入工作目录并创建ROS2包添加OpenCV依赖项 5.进入/home/kong/opencv_ws/opencv_use/src目录创建.cpp文件并编辑 6.代码如下 my_opencv.cpp #include <cstdio> #include…...
训练神经网络的原理(前向传播、反向传播、优化、迭代)
训练神经网络的原理 通过前向传播计算预测值和损失,利用反向传播计算梯度,然后通过优化算法更新参数,最终使模型在给定任务上表现更好。 核心:通过计算损失函数(通常是模型预测与真实值之间的差距)对模型参…...
每日一题(小白)暴力娱乐篇30
顺时针旋转,从上图中不难看出行列进行了变换。因为这是一道暴力可以解决的问题,我们直接尝试使用行列转换看能不能得到想要的结果。 public static void main(String[] args) {Scanner scan new Scanner(System.in);int nscan.nextInt();int mscan.next…...
【HTTPS】免费SSL证书配置Let‘s Encrypt自动续期
【HTTPS】免费SSL证书配置Lets Encrypt自动续期 1. 安装Certbot1.1 snapd1.2 certbot2. 申请泛域名证书使用 DNS 验证申请泛域名证书3.配置nginx申请的 SSL 证书文件所在目录nginx配置证书示例查看证书信息和剩余时间4.自动续期手动自动5.不同服务器使用1. 安装Certbot 1.1 sn…...
企业应如何防范 AI 驱动的网络安全威胁?
互联网技术和 AI 科技为世界开启了一个新的发展篇章。同时,网络攻击也呈现出愈发强势的发展势头:高级持续性威胁 (APT:Advanced Persistent Threat)组织采用新的战术、技术和程序 (TTP)、AI 驱动下攻击数量和速度的提高…...
决策树简介
【理解】决策树例子 决策树算法是一种监督学习算法,英文是Decision tree。 决策树思想的来源非常朴素,试想每个人的大脑都有类似于if-else这样的逻辑判断,这其中的if表示的是条件,if之后的else就是一种选择或决策。程序设计中的…...
ScrollView(滚动视图)详解和按钮点击事件
文章目录 **ScrollView(滚动视图)详解****1. 核心特性****2. 基本用法****XML 示例:简单滚动布局** **3. 水平滚动:HorizontalScrollView****4. 高级用法****(1) 嵌套滚动控件****(2) 动态添加内容****(3) 监听滚动事件** **5. 注…...
2025年3月,再上中科院1区TOP,“等级熵+状态识别、故障诊断”
引言 2025年3月,研究者在国际机械领域顶级期刊《Mechanical Systems and Signal Processing》(JCR 1区,中科院1区 Top,IF:7.9)上以“Rating entropy and its multivariate version”为题发表科学研究成果。…...
根据pdf文档生成问答并进行评估
目标是根据pdf文档生成问答,并进行评估。 首先,安装依赖 pip install PyPDF2 pandas tqdm openai -q 具体过程如下: 1、将pdf放在opeai_blog_pdfs目录下,引用依赖 2、上传pdf文件,创建向量库 3、单个提问的向量检索…...
计算机网络 - 四次挥手相关问题
通过一些问题来讨论 TCP 的四次挥手断开连接 说一下四次挥手的过程?为什么需要四次呢?time-wait干嘛的,close-wait干嘛的,在哪一个阶段?状态CLOSE_WAIT在什么时候转换成下一个状态呢?为什么 TIME-WAIT 状态…...
SLAM | 两组时间戳不同但同时开始的imu如何对齐
场景: 两个手机在支架上,同时开始采集数据 需求: 对齐两个数据集的imu数据 做到A图片 B imu 做法: 取出来两组imu数据到excel表中,画图 A组 B组: x轴 : 所有imu的时间戳减去第一个时间…...
code review时线程池的使用
一、多线程的作用 多个任务并行执行可以提升效率异步,让与主业务无关的逻辑异步执行,不阻塞主业务 二、问题描述 insertSelective()方法是一个并发度比较高的业务,主要是插入task到任务表里,新建task,并且insertSele…...
物流网络暗战升级DHL新布局将如何影响eBay卖家库存分布策略?
物流网络暗战升级:DHL新布局将如何影响eBay卖家库存分布策略? 跨境电商发展迅猛,卖家对物流的依赖程度不言而喻。尤其是平台型卖家,例如在eBay上经营多站点的卖家,物流成本和时效几乎直接决定了利润空间与客户满意度。…...
JAMA Netw. Open:机器学习解码大脑:精准预测PTSD症状新突破
创伤后应激障碍(PTSD)是一种常见的心理健康状况,它可以在人们经历或目睹创伤性事件(如战争、严重事故、自然灾害、暴力攻击等)后发展。PTSD的症状可能包括 flashbacks(闪回)、噩梦、严重的焦虑、…...
域控制器升级的先决条件验证失败,证书服务器已安装
出现“证书服务器已安装”导致域控制器升级失败时,核心解决方法是卸载已安装的证书服务。具体操作如下: 卸载证书服务 以管理员身份打开PowerShell,执行命令: Remove-WindowsFeature -Name AD-Certificate该命令会移除A…...
Node.js入门
Node.js入门 html,css,js 30年了 nodejs环境 09年出现 15年 nodejs为我们解决了2个方面的问题: 【锦上添花】让我们前端工程师拥有了后端开发能力(开接口,访问数据库) - 大公司BFF(50)【✔️】前端工程…...
使用CubeMX新建EXTI外部中断工程——不使用回调函数
具体的使用CubeMX新建工程的步骤看这里:STM32CubeMX学习笔记(3)——EXTI(外部中断)接口使用_cubemx exti-CSDN博客 之前一直都是在看野火的视频没有亲手使用CubeMX生成工程,而且野火给的例程代码框架和自动生成的框架也不一样&…...
Verilog的整数除法
1、可变系数除法实现----利用除法的本质 timescale 1ns / 1ps // // Company: // Engineer: // // Create Date: 2025/04/15 13:45:39 // Design Name: // Module Name: divide_1 // Project Name: // Target Devices: // Tool Versions: // Description: // // Depe…...
win32汇编环境,网络编程入门之十九
;win32汇编环境,网络编程入门之十九 ;在这一编程里,我们学习一下如何使用gethostbyname函数,也顺便学一下如何将C定义的函数在WIN32汇编环境中使用 ;先看一下官方解释:从主机数据库中检索与主机名对应的主机信息。 ;它的原理是从你的电脑DNS中…...
Java学习手册:Java线程安全与同步机制
在Java并发编程中,线程安全和同步机制是确保程序正确性和数据一致性的关键。当多个线程同时访问共享资源时,如果不加以控制,可能会导致数据不一致、竞态条件等问题。本文将深入探讨Java中的线程安全问题以及解决这些问题的同步机制。 线程安…...
在生信分析中,从生物学数据库中下载的序列存放在哪里?要不要建立一个小型数据库,或者存放在Gitee上?
李升伟 整理 在Galaxy平台中使用时,从NCBI等生物学数据库下载的DNA序列的存储位置和管理方式需要根据具体的工作流程和需求进行调整。以下是详细的分步说明和建议: 一、Galaxy中DNA序列的默认存储位置 在Galaxy的“历史记录”(History&…...
Python异步编程入门:Async/Await实战详解
引言 在当今高并发的应用场景下,传统的同步编程模式逐渐暴露出性能瓶颈。Python通过asyncio模块和async/await语法为开发者提供了原生的异步编程支持。本文将手把手带你理解异步编程的核心概念,并通过实际代码案例演示如何用异步爬虫提升10倍效率&#…...