一篇VLA综述阅读
论文链接:Vision-Language-Action Models for Robotics: A Review Towards Real-World Applications 如果用一句话概括这篇《Vision‑Language‑Action Models for Robotics: A Review Towards Real‑World Applications》,那就是:它第一次用“全栈视角”认真回答——到底怎样把大模型真正变成会干活的机器人。 很多文章谈“让 LLM 控制机器人”,停留在高层规划:模型输出“去拿红杯子”,下面是另一个控制模块去执行。作者认为,这还称不上真正的 Vision‑Language‑Action(VLA) 模型。他们给了一个非常严格的定义: “VLA 模型以视觉观测和自然语言指令为必需输入,并直接输出控制命令;只做技能索引的高层策略不算 VLA。” 这篇文章的野心,就是在这个定义之上,给出 VLA 领域从挑战 → 架构 → 模态处理 → 训练与数据 → 机器人平台 → 评测与实践指南的一条完整主线(见论文第 2 页图 1)。 下面我按“读者视角” ...
缓存机制深度解析:Golang 实现与优化
1. LRU 缓存概述LRU(Least Recently Used,最近最少使用)是一种经典的缓存淘汰策略。其核心思想是:当缓存空间不足时,优先淘汰最久未被访问的数据。 LRU 缓存广泛应用于操作系统(如页面置换)、数据库(如缓冲池)、Web 服务器(如 HTTP 缓存)以及各类应用系统中,用于在有限内存中高效管理热点数据。 2. LRU 缓存的核心操作一个标准的 LRU 缓存需支持以下操作: Get(key):获取 key 对应的值;若 key 不存在,返回 -1(或其他约定值)。访问后,该 key 应被标记为“最近使用”。 Put(key, value):插入或更新 key-value 对。若缓存已满,则淘汰最久未使用的项。 时间复杂度要求: Get 和 Put 操作均需 O(1) 时间复杂度。 3. 数据结构选择要实现 O(1) 的 Get 和 Put,需结合两种数据结构: 3.1 哈希表(map) 提供 O(1) 的 key 查找。 存储 key 到链表节点的映射。 3.2 双向链表(Doubly Linked List) 头部:最近使用的元素。 尾部:最久未使 ...
gin的中间件机制
中间件的概念和原理What is 中间件在Web应用开发中,中间件(Middleware)是位于应用程序与服务器之间的软件组件,能够拦截HTTP请求和响应,并执行特定的逻辑处理。说通俗一点就是,在开始做你真正想做的事之前,要把一些杂活先干完。例如鉴权登录、身份验证、日志记录等等等等。 Why is 中间件中间件的核心思想是 分层处理 和 职责分离。通过将通用的、与业务无关的逻辑抽象出来,放在中间件中处理,可以让业务代码更加 简洁、专注、易于维护。同时,中间件采用 链式调用 的方式,形成一个处理管道,请求依次经过各个中间件,每个中间件都可以在请求到达业务逻辑之前或之后执行特定的操作。这样做一定程度上可以避免屎山产生,对于整个项目的架构和可拓展性起着很重要的作用。 How is 中间件Gin的中间件工作原理基于责任链模式(Chain of Responsibility Pattern)。这种设计模式允许多个处理器依次处理同一个请求,每个处理器专注于自己的职责领域。说白了就是挨个问一遍,谁能干谁干,干不了就甩给下家。每一层只关心自己那一档子事,能处理就处理,不能处理就把业务原封不动往下传,直 ...
深入解析Go中Slice底层实现
一、Slice的底层数据结构切片是 Go 中的一种基本的数据结构,是对底层数组的一个动态、灵活的视图。使用这种结构可以用来管理数据集合。切片的设计想法是由动态数组概念而来,为了开发者可以更加方便的使一个数据结构可以自动增加和减少。但是切片本身并不是动态数据或者数组指针。 在golang runtime中,slice的实现并不是一个指针,而是一组结构体:123456// runtime/slice.go 中的定义type slice struct { array unsafe.Pointer // 指向底层数组的指针 len int // 当前长度 cap int // 容量(从起始位置到底层数组末尾的元素个数)}切片本身并不是动态数组或者数组指针。它内部实现的数据结构通过指针引用底层数组,设定相关属性将数据读写操作限定在指定的区域内。切片本身是一个只读对象,其工作机制类似数组指针的一种封装。 切片(slice)是对数组一个连续片段的引用,所以切片是一个引用类型(因此更类似于 C++ 中的 Vect ...
搭建Docker私有镜像站
Harbor – Harbor Installation and Configuration 技术难度一般,因为它本身就是一个容器在跑,当成docker.io用就好。 1、什么是Docker私有仓库 Docker私有仓库是用于存储和管理Docker镜像的私有存储库。Docker默认会有一个公共的仓库[Docker Hub](https://zhida.zhihu.com/search?content_id=245844410&content_type=Article&match_order=1&q=Docker+Hub&zhida_source=entity),而与Docker Hub不同,私有仓库是受限访问的,只有授权用户才能够上传、下载和管理其中的镜像。这种私有仓库可以部署在本地云环境中,用于组织内部开发、测试和生产环境中的容器镜像管理。保证数据安全性。 2、Docker有哪些私有仓库以下是一些常见的Docker私有仓库: Harbor:作为一个企业级的Docker Registry服务,Harbor提供了安全、可信赖的镜像存储和管理功能。它支持RBAC权限控 ...
cpolar实现内网穿透
对于某些经常喜欢在宿舍干实验室活又没钱开公网的家伙比较有用,下面以ubuntu为例 1. 安装cpolar内网穿透 1.1 安装cpolar 在Ubuntu上打开终端,执行命令 首先,我们需要安装curl: 1sudo apt-get install curl 国内安装(支持一键自动安装脚本) 1curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash 安装成功,如下界面所示 或国外安装使用,通过短连接安装方式 1curl -sL https://git.io/cpolar | sudo 1.2 正常显示版本号即安装成功1cpolar version 1.3 token认证 登录[cpolar官网后台](https://dashboard.cpolar.com/get-started),点击左侧的验证,查看自己的认证token,之后将token贴在命令行里 1cpolar authtoken xxxxxxx 1.4 简单穿透测试一下1c ...
Agent时代基础设施--MCP协议介绍
What is MCPMCP (Model Context Protocol)是一种开放协议,用于标准化应用程序如何向大型语言模型(LLMs)提供上下文。可以将 MCP 想象为 AI 应用的 typec 接口。正如 typec 提供了一种标准化的方式将您的设备连接到各种外设和配件,MCP 也提供了一种标准化的方式,将 AI 模型连接到不同的数据源和工具。 MCP 协议由 Anthropic 在 2024 年 11 月底推出: 官方文档:Introduction GitHub 仓库:https://github.com/modelcontextprotocol MCP 集成教学: Git - Git 读取、操作、搜索。 Github - Repo 管理、文件操作和 GitHub API 集成。 Google Maps - 集成 Google Map 获取位置信息。 PostgreSQL - 只读数据库查询。 Slack - Slack 消息发送和查询。 MCP导航站 Why is MCP举个栗子,在过去,为了让大模型等 AI 应用使用我们的数据,要么复制粘贴,要么上传下载,非常麻 ...
一文教你学会看多目标检测中的指标
一、从找东西说起——理解检测任务想象你在玩一个”找物品”的游戏:房间里藏着10个不同种类的玩具,你需要用手机拍照后圈出每个玩具的位置并说出名称。目标检测任务就类似这个过程,需要完成两个核心目标: 找到物品位置:用矩形框或者各种奇形怪状的圈准确框住物体(定位) 认出物品类别:正确说出物品名称(分类) 评估系统好坏时,既不能漏掉目标(如找到8个但漏了2个),也不能乱标位置(如把猫的框画到狗身上),更不能乱起名字(如把坤哥说成牢大)。这就是mAP指标要解决的问题。 二、核心概念拆解2.1 IoU判断预测框是否正确的标准就像交朋友: IoU(交并比):计算预测框与真实框的”亲密指数” 计算方式:重叠面积 ÷ 合并后的总面积 通过阈值判断是否达标(通常0.5为及格线) IoU = \frac{Area(B_{pred} \cap B_{gt})}{Area(B_{pred} \cup B_{gt})} 2.2 预测结果分类 类型 判断标准 现实类比 TP 框的位置正确(IoU≥阈值)且名称正确 正确找到朋友并叫对名字 FP 框的位置错误 或 名称错误 认错人 或 把路 ...
树莓派配合公网服务器frp转发实现内网穿透
相信不少的同学都遇到过一个很麻烦的事情——实验室用的服务器只有连上实验室的内网后才能使用,一旦外出开impart或者回家后,就不能进入实验室的服务器继续玩耍(卷)了。这个时候怎么办呢?如果你没有一个公网服务器又不想花钱,cpolar是你的最佳选择,但是如果你有事情就变得完全不一样了——frp的优雅永不过时。 FRP 项目官网 GitHub 仓库 项目文档 frp是什么?frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。 为什么使用 frp ?通过在具有公网 IP 的节点上部署 frp 服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能特性,这包括: 客户端服务端通信支持 TCP、KCP 以及 Websocket 等多种协议。 采用 TCP 连接流式复用,在单个连接间承载更多请求,节省连接建立时间。 代理组间的负载均衡。 端口复用,多个服务通过同一个服务端端口暴露。 多个原生支持的客户端插件(静态文件查看,HTTP、SOCK5 代理等),便 ...
YOLOv3深入学习
鉴于yolov3对于目标识别界的重大开创性,跳过1、2两个版本直接学习yolov3,同时也作为后续版本的基石入门。 主要原理1. YOLOv3的核心思想YOLOv3(You Only Look Once version 3)是一种单阶段目标检测算法,其核心思想是将目标检测问题转化为一个回归问题。与传统的两阶段检测方法(如R-CNN系列)不同,YOLOv3通过单次前向传播直接预测目标的边界框和类别概率,从而实现高效的目标检测。 YOLOv3的主要特点包括: 单次前向传播:输入图像经过一次网络前向传播即可得到检测结果。 多尺度预测:通过不同尺度的特征图检测不同大小的目标。 锚点机制:使用预定义的锚点(anchors)来辅助预测边界框。 2. YOLOv3的网络结构YOLOv3的网络结构可以分为三个部分:Backbone(骨干网络)、Neck(特征融合部分)**和**Head(检测头)。 2.1 Backbone:Darknet-53YOLOv3的骨干网络是Darknet-53,它是一个包含53个卷积层的深度卷积神经网络。Darknet-53借鉴了ResNet的思想,使用了残差连接( ...
