自动驾驶VLA模型技术解析与模型设计
1.前言
2025年被称为“VLA上车元年”,以视觉语言动作模型(Vision-Language-Action Model, VLA)为核心的技术范式正在重塑智能驾驶行业。VLA不仅融合了视觉语言模型(VLM)的感知能力和端到端模型的决策能力,更引入了“思维链”技术,实现了全局上下文理解与类人推理能力,革命性技术的落地将推动智能驾驶从“功能时代”迈向“体验时代”,并可能在未来两年内改写智能驾驶市场的竞争格局。2025年的智能驾驶:VLA上车元年
视觉语言动作模型(VLA)由 DeepMind 在 2023 年首次提出,应用于机器人领域,通过视觉与语言输入生成物理世界可执行的动作。VLA 模型被视为视觉语言模型(VLM)与端到端(End-to-End, E2E)技术的结合体,核心特性:
- 多模态感知与决策:能够基于视觉与语言信息进行实时感知,通过“思维链”技术构建类人逻辑,推理复杂场景下的最优驾驶决策。
- 全局上下文理解:能够理解长达数十秒的全局路况信息,这对于施工工区、潮汐车道等复杂场景尤为重要。
- 系统透明性与可解释性:推理过程全程可求导,能够通过车载显示向用户解释驾驶逻辑,增强用户信任感。
随着城区NOA(Navigate on Autopilot)的普及,用户对智能驾驶体验的需求从“能用”转向“好用”。传统VLM或端到端方案虽然在感知与决策方面有了显著提升,但在复杂路况下仍存在局限:
- 短视化问题:现有系统通常只能应对7秒内的路况推理,而在突发情况(如交通指挥手势)中表现不足。
- 缺乏解释能力:用户对“为什么这么开”的需求未被充分满足,导致体验层面信任不足。
- 决策全局性不足:面对动态复杂场景,传统方案难以统筹多重变量并实现安全优化。
2. 技术分析
谷歌在2024年11月份发表了一篇文章EMMA:面向自动驾驶的端到端多模态模型(EMMA: End-to-End Multimodal Model for Autonomous Driving),是比较典型的自动驾驶VLA模型,我们接下来分析其技术路线和模型设计。
论文地址:[2410.23262] EMMA: End-to-End Multimodal Model for Autonomous Driving
代码地址:https://github.com/taco-group/OpenEMMA/tree/main(第三方复现,谷歌未开源)
复现论文地址:https://arxiv.org/pdf/2412.15208
2.1 摘要
目前大语言模型较为成熟,因此无论是VLM或者VLA模型都是以大语言模型为基础的。MLLMs 拥有两大优势:一是训练数据来自大规模互联网,拥有广泛的“世界知识”;二是具备强大的推理能力(如 CoT chain-of-thought),这是现有驾驶模型难以具备的。EMMA 基于多模态大语言模型构建,能够直接将原始摄像头传感器数据映射为多种驾驶相关输出,包括规划轨迹、感知目标以及道路图结构等。为了最大程度利用预训练大语言模型的“世界知识”,EMMA 将所有非传感器输入(例如导航指令和自车状态)以及输出(如未来轨迹和三维坐标)统一表示为自然语言文本。通过将驾驶任务转化为视觉问答(VQA)问题,EMMA 能够在保留 Gemini 原有能力的基础上进行端到端的多任务驾驶决策。微调后,EMMA 能够生成未来轨迹、目标检测结果、道路结构等输出,并展现出可解释性和多任务能力。
从上图可以看出,EMMA的输入包括:
-
高层指令(Router Command):例如 "左转"、"直行" 等导航目的。
-
自车历史状态(Ego Vehicle History):以BEV格式的历史轨迹点表示。
-
环视摄像头图像(Surround-view Camera Videos):多视角图像输入。
输出包括:
- 未来自车轨迹(Ego Trajectory Prediction):用于运动规划,可转为实际控制命令。
- 推理解释(Rationale Text):模型在做决策前生成的逻辑解释,包括场景描述、关键对象、对象行为和驾驶决策。
- 其他模块能力:3D目标检测、道路图估计、场景问答(如“前方是否临时封闭?”)
模型的输入输出除了图像外,全部以自然语言文本格式生成,输入图像是单帧多摄像头组合,EMMA 没有使用相机的外参(extrinsics)或内参(intrinsics),也没有构建BEV特征图,而是通过大模型对上下文建模能力间接学习到的。这里感觉不太合适,因为不同的摄像头参数、车辆参数会导致图像不一致,简单点可以将摄像头的内外参作为prompt输入给模型,论文中的一些prompt参考形式如下:
这是来自前视摄像头的图像。该摄像头的参数如下:
- 内参矩阵 fx=1000, fy=1000, cx=640, cy=360;
- 相对于车辆坐标的位置为 (1.2m, 0.0m, 1.5m),方向为无旋转。
请根据该图像判断当前场景。
自车在过去3帧的状态为:
时刻-3:位置 (0.00, 0.00),速度 0.0 m/s,加速度 0.0 m/s²
时刻-2:位置 (1.50, 0.00),速度 5.0 m/s,加速度 1.0 m/s²
时刻-1:位置 (3.00, 0.10),速度 6.0 m/s,加速度 1.0 m/s²
导航提示:
- 当前处于城市快速路段,限速为100 km/h;
- 前方约300米有一个匝道口,将并入主路,请保持当前车速;
- 并线后继续直行,约1公里后准备右转下高速。
2.2 技术架构
EMMA 是建立在 Gemini 大模型之上,论文中提到使用的是Gemini 1.0 Nano-1(未开源),模型大小为1.8B左右。如果项复现论文,可以尝试前面提到的OpenEMMA中使用的开源模型,如LLaVA-1.6-Mistral-7B、LLaMA-3.2-11B-Vision、Qwen2-VL-7B等。这些模型采用相似的范式:首先是将图像进行编码,如CNN、ViT、CLIP-ViT(使用最为广泛,CLIP在大量图文对上训练),然后将图像编码特征通过MLP或者Q-Former映射到语言模型空间中的token,论文中采用了简单的MLP进行映射,然后结合图像特征token和文本token输入到LLM模型,LLM模型最终以文本的形式输出各个任务的结果,其数学公式可以表达为:
O = G(T, V)
其中:
G:Gemini 模型
T:自然语言提示(prompts)
V:图像或视频
O:自然语言输出
其结果输出均为文本,参考格式如下。在训练过程中,需要提供3D目标以及拓扑参数作为真值。另外,作为推理的R1-R4也是通过自动化方法构建标签。例如R1中场景描述可以通过数据记录log提取,R2通过感知模型获取,R3、R4通过记录的未来行驶轨迹对车辆行为进行描述,如前方车辆减速停止,前方红绿灯自车停车等待。
车辆 (12.50, -1.20, 1.10, 长4.2, 宽1.8, 高1.6, 朝向0.3rad)
行人 (9.20, 3.10, 0.0, 长0.8, 宽0.6, 高1.7, 朝向0.0)
将 T 个未来轨迹点 (xt, yt) 转成浮点文本:
未来轨迹为:
(3.00, 0.15), (5.80, 0.35), (8.50, 0.50), ...
R1 场景描述(天气、道路类型、交通)R2 关键物体(带坐标)R3 物体行为(静止、移动方向等)R4 驾驶决策(保持低速、刹车等)R1: 天气晴朗,道路为双向两车道,有人行道。
R2: 行人 [9.2, 3.1],车辆 [12.5, -1.2]
R3: 行人正准备过马路,车辆正在加速前行
R4: 我应该减速观察,准备停车
2.3 实验结果
实验1:预测未来 ego 轨迹
- WOMD 上,EMMA 与 MotionLM、Wayformer 相当,在前 5s 内表现更优(ADE 1~5s)
- nuScenes 上,EMMA 在 self-supervised 方法中表现最好,甚至超过部分 supervised 方法(比如 DriveVLM-Dual)
实验2:Chain-of-Thought 推理与数据扩
CoT 推理结构包括:
- R1: 场景描述
- R2: 关键目标位置
- R3: 目标行为描述
- R4: Meta driving decision
结果:
CoT 总体提升:+6.7%
R3(meta decision)+3.0%,R2(critical objects)+1.5%
R1 对性能中性,但提升了可解释性
实验3:感知任务实验(3D 目标检测、地图估计、场景理解)
感知任务:
3D Object Detection:在 WOD 上,与 BEVFormer、MV-FCOS3D++ 对比
Road Graph Estimation:预测 BEV 中的 lane graph polyline
Scene Understanding:识别是否有临时路障(如施工区、障碍物)
3D 检测结果(LET-Metric):
EMMA+ 相比 BEVFormer:
车辆 precision 提升 16.3%
pedestrian recall 与 MV-FCOS3D++ 持平
Road Graph:
动态采样、ego 对齐、shuffle target、加 padding、加分隔符等设计都显著提高性能
动态采样最重要:提升 40%~90% 精度
Scene understanding:
单任务 fine-tune 表现优于人类 baseline
2.4 结论
EMMA 在 nuScenes 数据集上的运动规划任务中实现了当前先进的性能,在 Waymo Open Motion Dataset(WOMD)上也取得了有竞争力的结果。同时,EMMA 在 Waymo Open Dataset(WOD)中也展现出较强的相机主导的 3D 目标检测能力。同时还发现,将 EMMA 共同训练在规划轨迹、目标检测和道路图任务上,可以在所有这三个领域带来性能提升,凸显了其作为通用模型在自动驾驶应用中的潜力。然而,EMMA 也存在一些局限性:它仅能处理少量图像帧、未集成准确的 3D 传感器如激光雷达或雷达,且计算开销较大。
相关文章:
自动驾驶VLA模型技术解析与模型设计
1.前言 2025年被称为“VLA上车元年”,以视觉语言动作模型(Vision-Language-Action Model, VLA)为核心的技术范式正在重塑智能驾驶行业。VLA不仅融合了视觉语言模型(VLM)的感知能力和端到端模型的决策能力,…...
【AI】Orin NX+ubuntu22.04上移植YoloV11,并使用DeepStream测试成功
【AI】郭老二博文之:AI学习目录汇总 1、烧写系统 新到的开发板,已经烧写好Ubuntu系统,版本为22.04。 如果没有升级到Ubuntu22.04,可以在电脑Ubuntu系统中使用SDKManager来烧写Ubuntu系统,网络情况好的话,也可以直接将CUDA、cuDNN、TensorRT、Deepstream等也安装上。 2…...
vscode 通过Remote-ssh远程连接服务器报错 could not establish connection to ubuntu
vscode 通过Remote-ssh插件远程连接服务器报错 could not establish connection to ubuntu,并且出现下面的错误打印: [21:00:57.307] Log Level: 2 [21:00:57.350] SSH Resolver called for "ssh-remoteubuntu", attempt 1 [21:00:57.359] r…...
ESP32S3 WIFI 实现TCP服务器和静态IP
一、 TCP服务器代码 代码由station_example_main的官方例程修改 /* WiFi station ExampleThis example code is in the Public Domain (or CC0 licensed, at your option.)Unless required by applicable law or agreed to in writing, thissoftware is distributed on an &q…...
第三课:Stable Diffusion图生图入门及应用
文章目录 Part01 图生图原理Part02 图生图基本流程Part03 随机种子作用解析Part04 图生图的拓展应用 Part01 图生图原理 当提示词不能足够表达用户需求的时候,加入图片能让AI更好的理解你的想法图片上的像素信息会在加噪和去噪的过程中,作为一种特征反映…...
蓝桥与力扣刷题(蓝桥 蓝桥骑士)
题目:小明是蓝桥王国的骑士,他喜欢不断突破自我。 这天蓝桥国王给他安排了 N 个对手,他们的战力值分别为 a1,a2,...,an,且按顺序阻挡在小明的前方。对于这些对手小明可以选择挑战,也可以选择避战。 身为高傲的骑士&a…...
Photoshop怎样保存为ico格式
1. 打开图像 开启 Photoshop 软件,选择 “文件” 菜单,点击 “打开” 选项,然后找到你想要保存为 ICO 格式的图像文件并打开。 2. 调整图像大小(可选) ICO 图标通常有特定尺寸要求,你可以根据需求调整图像…...
Ubuntu xinference部署本地模型bge-large-zh-v1.5、bge-reranker-v2-m3
bge-large-zh-v1.5 下载模型到指定路径: modelscope download --model BAAI/bge-large-zh-v1.5 --local_dir ./bge-large-zh-v1.5自定义 embedding 模型,custom-bge-large-zh-v1.5.json: {"model_name": "custom-bge-large…...
python笔记之判断月份有多少天
1、通过随机数作为目标月份 import random month random.randint(1,12)2、判断对应的年份是闰年还是平年 因为2月这个特殊月份,闰年有29天,而平年是28天,所以需要判断对应的年份属于闰年还是平年,代码如下 # 判断年份是闰年还…...
Kotlin泛型: 协变|逆变|不变
引言 无论java 通配符上限还是下限,都多少存在缺陷,要么存不安全,要么取不安全。而kotlin就解决这个问题。让out 纯输出, 让in纯输入。 java这块知识: java泛型的协变、逆变和不变-CSDN博客 协变 生产者out T 协变…...
高斯数据库的空分区的查看和清理
在 高斯数据库(GaussDB) 中,分区表是一种常见的表设计方式,用于优化大数据的查询性能。 一、空分区的影响: 存储空间占用 元数据开销:即使分区中没有数据,数据库仍然需要维护分区的元数据&…...
word使用自带的公式
文章目录 Word公式中word公式快捷键:word2016公式框输入多行word 公式加入空格:word公式如何输入矩阵:公式图片转为Latex语法word 能直接输入 latex 公式么word公式中有的是斜体有的不是 word文本中将文字转为上标的快捷键 Tips几个好用的网站࿱…...
Linux系统-ls命令
一、ls命令的定义 Linux ls命令(英文全拼:list directory contents)用于显示指定工作目录下之内容(列出目前工作目录所含的文件及子目录)。 二、ls命令的语法 ls [选项] [目录或文件名] ls [-alrtAFR] [name...] 三、参数[选项…...
数据结构:利用递推式计算next表
next 表是 KMP 算法的核心内容,下面介绍一种计算 next 表的方法:利用递推式计算 如图 6.3.1 所示,在某一趟匹配中,当对比到最后一个字符的时候,发现匹配失败(s[i] ≠ t[j])。根据 BF 算法&…...
Git操作
1 git init 项目初始化(init)成仓库 2、git add 管理文件 3、git commit -m <message> 告诉Git,把文件提交到仓库 4、git status 查看当前管理文件的状态,命令 5、git log 查看提交(commit)的…...
什么是快重传
原理: 在TCP连接中,接受方会对收到的数据包发送确认(ACK)。如果接受方收到一个乱序的数据包(即期望的下一个数据包尚未到达),它会重复发送对上一个已成功接受的数据包的确认。 当发送方连续收…...
计算机网络——物理层设备
目录 编辑 中继器 集线器(Hub) 集线器,中继器的一些特性 集线器和中继器不能“无限串联” 集线器连接的网络,物理上是星型拓扑,逻辑上是总线型拓扑 集线器连接的各网段会“共享带宽” 中继器 如果我们想要网络…...
CSS 预处理器
在面试中回答关于 CSS 预处理器的问题时,你可以从以下几个方面进行回答,展示你的知识深度和实践经验: 1. 什么是 CSS 预处理器? 你可以从定义和目的入手: “CSS 预处理器是一种扩展 CSS 功能的工具,它允许…...
解锁智能制造新体验:兰亭妙微 UE/UI 设计赋能行业变革
在智能制造时代的滚滚浪潮中,企业的数字化转型不仅是技术的革新,更是用户体验与交互界面的全面升级。然而,许多制造企业在这一转型过程中,面临着一系列 UI/UE 设计难题,严重阻碍了企业的数字化发展进程。兰亭妙微凭借专…...
计算机网络高频(三)UDP基础
计算机网络高频(三)UDP基础 1.UDP的头部格式是什么样的?⭐ UDP 头部具有以下字段: 源端口(Source Port):16 位字段,表示发送方的端口号。目标端口(Destination Port):16 位字段,表示接收方的端口号。长度(Length):16 位字段,表示 UDP 数据报(包括头部和数据部…...
Oracle数据库服务器地址变更与监听配置修改完整指南
一、前言 在企业IT运维中,Oracle数据库服务器地址变更是常见的运维操作。本文将详细介绍如何安全、高效地完成Oracle数据库服务器地址变更及相关的监听配置修改工作,确保数据库服务在迁移后能够正常运行。 二、准备工作 1. 环境检查 确认新旧服务器I…...
获取1688.item_password接口:解析淘口令真实URL
一、接口介绍 1688的item_password接口主要用于将1688平台的淘口令短链接转换为实际商品链接。它基于1688平台的后台数据和规则,对用户传入的淘口令进行解析和验证,通过相应的算法和数据匹配,找到对应的商品信息,并生成可直接访问…...
计算机网络的分类及其性能指标
一. 计算机网络的分类 1. 按分布范围分类 广域网(WAN) 也称远程网。广域网提供长距离通信,通常是几十千米到几千千米的区域,比如跨国通信。连接广域网的各结点交换机的链路一般是高速链路,具有较大的通信容量城域网&…...
Redis原理:watch命令
在前面的文章中有提到,在multi 前可以通过watch 来观察哪些key,被观察的这些key,会被redis服务器监控,涉及该key被修改时,则在exec 命令执行过程中会被识别出来,exec 就不会再执行命令。 源码分析 // 监控…...
微服务中的服务发现与注册中心
在微服务架构中,服务实例的数量可能随着流量负载自动扩展或缩减,因此服务之间如何高效地进行通信成为一个重要问题。本篇博客将介绍服务发现的概念,并结合 Consul 和 自定义注册中心 进行实践,帮助开发者在微服务架构下高效管理服…...
Flutter网络请求封装:高效、灵活、易用的Dio工具类
在Flutter开发中,网络请求是必不可少的功能。为了简化代码、提高开发效率,我们通常会封装一个网络请求工具类。本文基于Dio库,详细介绍如何封装一个高效、灵活、易用的网络请求工具类,支持以下功能: 单例模式…...
Axure项目实战:智慧城市APP(三)教育查询(显示与隐藏交互)
亲爱的小伙伴,在您浏览之前,烦请关注一下,在此深表感谢! 课程主题:教育查询 主要内容:教育公告信息,小升初、初升高、高考成绩查询;教育公告信息为传统的信息页面,小升…...
案例实践 | 招商局集团以长安链构建“基于DID的航运贸易数据资产目录链”
概览 案例名称 基于DID的航运贸易数据资产目录链 业主单位 招商局集团 上线时间 2024年10月 用户群体 供数用数企业和个人 用户规模 集团内20企业 案例背景 招商局集团深入落实“促进数据高效流通使用、赋能实体经济”精神,深化集团数字化水平,…...
计算机网络入门:物理层与数据链路层详解
🌐 (专业解析 中学生也能懂!) 📖 前言 计算机网络就像数字世界的“高速公路系统”,而物理层和数据链路层是这条公路的基石。本文用 专业视角 和 生活化比喻 ,带你轻松理解这两层的核心原理&a…...
使用 Docker 部署 RabbitMQ 的详细指南
使用 Docker 部署 RabbitMQ 的详细指南 在现代应用程序开发中,消息队列系统是不可或缺的一部分。RabbitMQ 是一个流行的开源消息代理软件,它实现了高级消息队列协议(AMQP)。本文将详细介绍如何使用 Docker 部署 RabbitMQ…...
数据结构之基本队列-顺序结构实现-初始化-判断队列是否为空(front=rear)-出队-入队-队尾满了,调整队列-获取队头元素
数据结构之基本队列-顺序结构实现-初始化-判断队列是否为空(frontrear)-出队-入队-队尾满了,调整队列-获取队头元素——完整可运行代码 #include <stdio.h>#define MAXSIZE 100 typedef int ElemType;typedef struct {ElemType data[MAXSIZE];int front;int…...
如何用 Postman 发送 POST 请求?
POST 请求是 HTTP 协议中用于提交数据的一种方法,Postman 提供了丰富的功能来支持用户发送包含各种信息的 POST 请求,如文本数据、JSON 或 XML 数据结构、文件等。 Postman 发送 post 请求教程...
基于Spring Boot的网上商城系统的设计与实现(LW+源码+讲解)
专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…...
mysql中的聚簇索引,什么是聚簇索引和非聚簇索引
文章目录 1. 什么是聚簇索引2. 非聚簇索引3. 聚簇索引的优缺点4. 聚簇索引的使用场景5. 聚簇索引和主键索引的异同前言: 在继续讲解专栏内容之前,先学习几个概念,以便更好了解: 什么是聚簇索引什么是回表这篇文章详细分析 聚簇索引。回表的理解可以进入这篇文章:什么是回表…...
涨薪技术|使用Dockerfile创建镜像
上次的推文内容中介绍了如何使用docker commit的方法来构建镜像,相反推荐使用被称为Dockerfile的定义文件和docker build命令来构建镜像。Dockerfile使用基本的基于DSL语法的指令来构建一个Docker镜像,之后使用docker build命令基于该Dockerfile中的指令…...
OpenFeign在微服务中的远程服务调用工作流程
OpenFeign作为声明式的HTTP客户端,在微服务架构中的远程调用工作流程可分为以下标准步骤: 一、初始化阶段 1. 接口定义(声明式API) @FeignClient(name = "user-service", path = "/api/users") public interface UserServiceClient {@GetMapping(&q…...
力扣14. 最长公共前缀:Java四种解法详解
力扣14. 最长公共前缀:Java四种解法详解 题目描述 编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。 示例: 输入:strs ["flower","flow","flight&quo…...
关于deepin上WPS读取windows上的docx文件
最近在尝试着用deepin替代windows,在deepin上安装了wps读取在windows上编辑的docx和xlsx文件,遇到类似如下的错误: 系统缺失字体:Symbol、Wingdings、Wingdings2、Wingdings3、Webdings、MT Extra WPS无法正确的显示某些符号&…...
利用python调接口获取物流标签,并转成PDF保存在指定的文件夹。
需求 调用get label 接口将接口返回的base64文件转换成pdf文件命名用接口返回值的单号命名保存再指定的文件夹重 实现代码 # -*- coding: utf-8 -*- import requests import base64 import os import json # 新增json模块导入url "http://releasud.com/api/label/Lab…...
31天Python入门——第15天:日志记录
你好,我是安然无虞。 文章目录 日志记录python的日志记录模块创建日志处理程序并配置输出格式将日志内容输出到控制台将日志写入到文件 logging更简单的一种使用方式 日志记录 日志记录是一种重要的应用程序开发和维护技术, 它用于记录应用程序运行时的关键信息和…...
“自动驾驶背后的数学” 专栏导读
专栏链接: 自动驾驶背后的数学 专栏以“自动驾驶背后的数学”为主题,从基础到深入,再到实际应用和未来展望,全面解析自动驾驶技术中的数学原理。开篇用基础数学工具搭建自动驾驶的整体框架,吸引儿童培养兴趣࿰…...
Redis中的数据类型与适用场景
目录 前言1. 字符串 (String)1.1 特点1.2 适用场景 2. 哈希 (Hash)2.1 特点2.2 适用场景 3. 列表 (List)3.1 特点3.2 适用场景 4. 集合 (Set)4.1 特点4.2 适用场景 5. 有序集合 (Sorted Set)5.1 特点5.2 适用场景 6. Redis 数据类型的选型建议结语 前言 Redis 作为一款高性能的…...
python并发爬虫
爬虫多线程方法生成 from threading import Threaddef func(name):for i in range(100):print(f"{name}完成了{i}项任务")if __name__ __main__:t1 Thread(targetfunc, args(老杨,))t2 Thread(targetfunc, args(老李,))t3 Thread(targetfunc, args(老孙,))t1.st…...
react-create-app整合windicss
引用:https://blog.csdn.net/gitblog_00339/article/details/142544145 package.json: "react": "^19.0.0","react-dom": "^19.0.0","react-scripts": "5.0.1","typescript": "^4.9.5…...
fircrawl本地部署
企业内部的网站作为知识库给dify使用,使用fircrawl来爬虫并且转换为markdown。 git clone https://github.com/mendableai/firecrawl.gitcd ./firecrawl/apps/api/ cp .env.example .env cd ~/firecrawl docker compose up -d 官方: https://githu…...
Linux 设备分类详解:字符设备、块设备与网络设备解析
引言 在嵌入式 Linux 领域,设备驱动程序是操作系统与硬件之间的桥梁。Linux 设备按照不同的访问方式和特性可以划分为字符设备、块设备和网络设备。理解它们的分类及特性,对于开发 Linux 设备驱动和操作底层硬件至关重要。本文将深入解析这三大类设备的…...
抽象的算法0.1.3.2版本
前言: 公式:(基础 基础 基础 ...更多的基础) 维度(影响因素) 问题 将问题分解成一个个基础和变量,便可轻松解决问题 ————不知名的作者 因为实在是写不出来了,所以直…...
JSON简介及C++中的JSON使用指南
1. 什么是JSON? JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用文本格式存储和传输数据。它易于人阅读和编写,同时也易于机器解析和生成。JSON广泛应用于Web API、配置文件、数据存储等领域。 JS…...
责任链模式-java
1、spring依赖注入模式 @Configuration public class ChainConfig {@Beanpublic ChainSpringFactory chainSpringFactory(List<IHandler<DemoOne,Boolean>> handlerList){return new ChainSpringFactory(handlerList);}} public class DemoOne { }public abstract…...
精华贴分享|从不同的交易理论来理解头肩形态,殊途同归
本文来源于量化小论坛策略分享会板块精华帖,作者为孙小迪,发布于2025年2月17日。 以下为精华帖正文: 01 前言 学习了一段时间交易后,我发现在几百年的历史中,不同门派的交易理论对同一种市场特征的称呼不一样&#x…...