- 博客(56)
- 收藏
- 关注
原创 大模型污染风险与全生命周期防御
评测分功能、安全、越权和恢复四套:直接注入、间接RAG注入、多轮诱导、编码/多模态绕过、数据外带、工具越权、模型提取和成本冲击分别测试。 每个工具声明最小权限、输入模式、目的、输出类型、超时、额度、网络出口和幂等键。模型卡记录数据集、硬件、依赖、评测和已知限制。 数据侧应监控来源新增率、重复内容、低质量文本、异常作者、跨语料复制、控制字符、不可见层、外链域名、敏感字段和许可证突变; 推理服务、模型服务器、向量数据库、编排器、笔记本、训练集群、CI/CD、对象存储和插件市场共同构成模型供应链。
2026-10-18 21:53:02
263
原创 C++ 高性能 AI 推理工程实操
Device,Unified内存位于何处;与哪个 stream 关联;拷贝操作何时完成。void*并非长期维护的理想方案,但适合作为演示核心职责的最小接口。后续可引入类型化 shape、RAII handle、设备 allocator 或 intrusive reference count,但应先固定内存语义,再增加抽象层级。
2026-10-18 21:43:01
349
原创 Nvidia Orin AGX实战之从量化到蒸馏:在 Orin 上落地的大模型压缩实战
INT8 变快但精度明显下降,不能直接得出“INT8 不好”的结论,还需要检查校准数据、输入范围和异常算子。对于对低精度敏感的任务,保留部分关键路径的高精度,往往比全局使用更低精度更合理。学生模型不是“全面逼近教师”,而是在目标场景中保留足够能力,并把参数、算子和数值表示调整到适合 Orin 的程度。如果设备需要同时运行视觉模型或 ROS,可以逐步降低 GPU 层数,观察 CPU、GPU 和内存之间的实际平衡。引擎构建通常只需要在部署阶段完成一次,但模型、JetPack 或运行时发生变化时,必须重新验证。
2026-10-18 16:54:46
568
原创 Nvidia Orin AGX实战之让大模型跑在Orin上:从量化到蒸馏的技术全景与选型思路
允许的最大模型体积;最大内存占用;输入和输出时延;是否必须离线运行;功耗上限;允许的最大质量损失;是否需要支持多并发;是否需要多模型共存。这些指标决定学生模型的容量、量化精度、上下文长度和运行时架构,不能等到训练或转换完成后才补充。
2026-10-18 16:48:12
339
原创 占据网格(OCC)的主要输出方式
在自动驾驶 OCC(Occupancy)算法里,最后的主要输出方式有三种,分别是:稠密体素-。这三种输出本质上是三种不同的空间离散化与特征组织方式。它们不是简单的“3D vs 2D”,而是涉及的系统性取舍。:规则 3D 网格,每个体素都存储特征/占据状态,表达最完整,但计算和内存最重。:只对非空或有意义的体素计算和存储,用稀疏卷积/哈希索引,效率高,但工程复杂。:2D 鸟瞰网格,高度维被压缩、投影或用通道隐式编码,部署最友好,但 3D 几何信息损失大。
2026-10-17 21:18:06
374
原创 深度学习踩坑之JIT ——即时编译(Just-In-Time Compilation)
JIT = Just-In-Time,即时编译 核心思想:程序运行时(Runtime),把中间代码动态编译成本地机器码执行。 对比两种经典执行模型:Java 源码 → javac 静态编译 → 字节码 (Bytecode,平台无关中间代码)注意:javac 只是生成中间码,不是机器码!JVM 加载 class 字节码,先用解释器逐条解释执行 ✅ 优势:程序可以快速启动,不需要等待全部代码编译。JVM 后台持续统计:循环、频繁调用的函数执行次数,达到阈值标记为HotSpot 热点代码。 典型热点:高频循环、
2026-07-22 14:46:19
422
原创 OpenMMLab 生态及 OpenMMLab 注册器机制实现动态构建模型
OpenMMLab是由港中文MMLab与商汤联合推出的PyTorch开源计算机视觉全栈框架生态,包含底层核心库(MMEngine训练引擎、MMCV算子库)、上层任务算法库(检测/分割/3D感知等20+方向)及部署工具。其核心设计采用注册器(Registry)机制,通过模块化注册和配置文件实现声明式模型构建,支持动态实例化组件。该机制将类与字符串映射解耦,配合嵌套配置实现"乐高式"算法开发,显著提升代码复用率和实验可复现性,尤其适合自动驾驶等需要快速迭代的CV任务。生态通过统一训练接口、标
2026-07-14 13:50:25
338
原创 FFmpeg - Jetson Orin 实战部署
FFmpeg是一个开源的跨平台音视频处理工具集,支持硬件加速。本文详细介绍了在Jetson Orin平台上部署支持NVMPI硬件编解码的FFmpeg完整流程,包括环境检查、依赖安装、NVMPI库编译、FFmpeg源码补丁、编译配置、系统环境设置及验证方法。同时提供了Orin常用工程命令示例和C++调用FFmpeg库的代码模板,适用于自动驾驶和多路摄像头等场景。该方案可充分发挥Jetson Orin的硬件编解码能力,显著提升音视频处理效率。
2026-07-09 13:36:51
477
原创 视频时序数据处理:CNN+LSTM
本文提出了一种基于CNN+LSTM的视频分析方案,通过CNN提取单帧空间特征,LSTM建模时序关系,实现高效的时空特征融合。该方案具有特征解耦、灵活适配可变长度视频、迁移学习能力强、可解释性好和部署友好等优势,适用于动作识别、异常检测等短时序视频任务。文章详细介绍了网络结构设计原理、PyTorch实现代码及关键调优技巧,包括帧采样策略、CNN微调方法和LSTM优化手段。该方案相比3D卷积更轻量化,能有效利用预训练模型,在小样本场景下表现优异,但不适用于高速密集运动或超长视频分析任务。
2026-07-06 09:40:57
695
原创 BEV感知端侧TensorRT Orin 专属内置 Plugin
本文介绍了NVIDIA Jetson/DRIVE Orin平台专属的4个TensorRT插件算子:VoxelPooling、GridSample、DeformableSample和BEVTransform,这些算子专为自动驾驶BEV(Bird's Eye View)算法优化,适用于CenterPoint、PETR、BEVFormer和BEVFusion等模型。这些插件通过算子融合、硬件优化(如TensorCore加速、L2缓存利用)和原生量化支持,显著提升了推理效率。例如,VoxelPooling可将点云处
2026-07-05 12:07:58
402
原创 模型端侧部署之 Nvidia Orin 异构硬件调度
一块芯片 / 设备里包含的计算单元。以 Orin 为例:ARM CPU(通用处理器)、Ampere GPU(通用并行计算)、DLA(专用 AI 固定加速器),三者指令集、内存、擅长任务完全不一样,这就是。: 一套统筹分配机制,把 AI 模型、业务流水线拆分成多个子任务,,让 CPU/GPU/DLA 同时并行干活,不闲置、不频繁跨设备拷贝数据,最终降低端到端延迟、提升硬件利用率、降低功耗。。
2026-07-04 18:58:24
370
原创 模型分析助手,DeepView AI Model Analyzer 完整详解
跨框架大一统,一套工具处理训练、转换、端侧编译全阶段模型;离线静态分析,无 GPU 占用,办公电脑即可批量评估;可视化 + 量化报表 + 优化建议一体化,省去手动计算 FLOPs;提前预判部署瓶颈,避免模型编译后才发现算力不足返工;支持矢量图导出,适合项目文档、论文配图。
2026-07-03 09:27:57
378
1
原创 BEV感知,Jetson Orin 端侧推理提速实用技巧
cpp运行// C++ VPI多流并行6路相机预处理// 输出device内存直接喂TensorRT输入binding,无host拷贝VPI 支持批量多图像并行,调度 Orin PVA 硬件,比纯 CUDA 快 30%,功耗更低统一使用/device 张量,全程驻留显存,杜绝循环调用不要 CPU 做图像 / 点云预处理,Host<->Device 拷贝延迟通常 > 10msPETR 注意力层不要全局 INT8,会造成 mAP/NDS 大幅下降,必须分层 FP16 保护。
2026-07-02 12:03:37
347
原创 模型端侧适配技能之ONNX 模型拆分
ONNX模型拆分核心技巧:拆分并非单纯提速,而是解决工程痛点的关键手段。典型场景包括异构硬件并行(GPU+CPU/NPU混用)、规避算子不兼容、多任务按需推理、超大模型分片等。主流工具有ONNX原生extract_model(简单网络)、onnx-graphsurgeon(复杂残差网络)和onnxslim(CLI快速操作)。拆分时需注意:避免切割残差连接,优先在框架导出前预拆分,拆分后需校验格式合法性和输出一致性。高频问题包括权重丢失、shape不匹配等,可通过完整复制原图、固定输入维度解决。工具选型建议:
2026-07-02 09:23:31
415
1
原创 OpenCV + Python 高效组合
手动滑动窗口是 Python 重灾区,全部交给 C++ 卷积python运行# 5x5均值模糊,无需双层循环滑窗:解决切片 / ROI 非连续内存触发 OpenCV 隐式拷贝,视频流收益最大;.astype():全图向量化类型转换,彻底消灭三层像素 for 循环;np.dstack:轻量通道堆叠,单通道转三通道、双通道融合场景比cv2.merge更快。
2026-07-01 17:02:29
474
原创 BEV感知: nuScenes 3D 检测指标
BEV模型训练好后一般都会先基于训练环境进行评测,达到一定标准后才会部署到目标平台,以下基于PETR V1官方模型的评测展开讲解基于 nuScenes 数据集或nuScenes 格式制作的数据集的各项 3D 检测评测指标。以下是PETR V1训练好后的模型验证结果,要说明的是;PETR、BEVFormer、BEVDet、DETR3D、FCOS3D 等所有基于 nuScenes 的相机 3D 检测模型,评测工具、指标定义、计算公式、匹配规则 100% 一致mAP: 0.3778mATE: 0.7463mA
2026-07-01 10:07:18
250
原创 C++ LibTorch 端侧实用技巧(嵌入式 / Jetson / 边缘 Linux,低资源)
1. 是什么LibTorch 是 PyTorch 官方提供的,脱离 Python 环境,纯 C++ 部署训练好的.pth.onnx模型,用于服务器、嵌入式、端侧设备(Linux/Windows/Android/NVIDIA Jetson)。一套代码跨平台,支持 CPU / CUDA GPU / TensorRT 加速;完整复现 PyTorch 张量、算子逻辑,前后端行为对齐;分稳定 Release 版、Nightly 开发版,分 CPU / CUDA 预编译包,无需编译 PyTorch 源码。
2026-07-01 09:16:45
305
原创 OpenCV端侧处理效率提升系列(二): 硬件加速工具(GPU,NPU)
表格模块支持硬件内存容器优势场景性能上限OpenCL oclIntel/AMD/NVIDIA/ 嵌入式 NPUUMat无 N 卡通用加速、轻薄本中等仅 NVIDIA GPUGpuMat单 / 多路图像处理、通用视觉算法极高同上视频流流水线,掩盖传输延迟CUDA 性能倍增VPIVPI ImageJetson 嵌入式低功耗预处理CUDA 之上更低延迟 / 功耗无 NVIDIA 显卡:优先 OpenCL + UMat,最小代码改动实现 GPU 加速;
2026-06-30 10:05:00
389
原创 OpenCV端侧处理效率提升系列(一): setNumThreads 全局线程控制
初始化时机:程序入口 main 函数最开头执行,全局仅调用一次;单进程单路独占 CPU:线程数 = ARM 大核物理数量;进程内图像 + AI 推理混合:2~4 线程;多进程多路视觉:全部进程设为;ARM big.LITTLE 进阶:搭配CPU 亲和绑定大核;小分辨率图像优先串行;上线前通过测速代码对比,选定最优固定线程数,禁用自动探测模式保证时延稳定。
2026-06-30 09:26:32
434
原创 BEV感知:MMCV/MMDetection 系列框架的注册器(Registry)插件化设计
把 2D 图像支路、视图变换、BEV 编码器、时序注意力、3D 检测头、位置编码全部解耦;,是整个框架最底层、最核心的解耦设计,实现「代码实现与配置文件解耦」,新增模型 / 数据集 / 损失无需修改框架主逻辑,仅注册即可通过 config 调用。MM 系列(mmcv、mmdet、mmseg、mmcls 等)整套生态。步骤 4:嵌套构建(MMDet 最常用,多层 Registry 嵌套)位置编码:2D 平面编码 / 3D 栅格编码 / 相机光线编码。方式 2:自定义注册名称(多别名、重名覆盖)
2026-06-29 19:43:28
326
原创 ONNX模型 VS GPU,NPU,TPU
ONNX(Open Neural Network Exchange,开放神经网络交换格式)是一套,解决 PyTorch、TensorFlow、Paddle、Caffe 等框架模型互通、推理部署统一的问题。
2026-06-29 16:01:58
323
原创 Python 多线程、多进程 vs C++ 多线程、多进程
1. 线程层面核心区别Python 致命限制 GIL:解释器层面强制单字节码执行,多线程仅 IO 并发,计算场景失效;C++ 原生内核线程:直接调度 CPU 核心,无任何全局锁,多线程并行算力拉满,是高性能并发基础;两者共性:同进程线程共享内存,都需要互斥锁解决竞争,线程切换开销都远小于进程。2. 进程层面核心区别Python:封装好,屏蔽操作系统差异,内置成熟 IPC 工具,上手简单;代价是每个进程独立解释器,内存占用高;
2026-06-29 14:24:11
239
原创 BEV感知,基于源码展示PETR V1 与 PETR V2 差异
本文对PETR系列3D目标检测模型的两个版本(V1和V2)进行了系统对比分析。研究发现PETRV2并非革命性重构,而是在V1基础上通过增量式演进实现的性能提升,主要体现在三个关键改进:1)新增FPE特征位置增强模块,通过语义引导的加权机制强化目标区域的位置编码;2)采用分组解耦回归头,将10维检测参数拆分为5个独立子任务分头预测;3)支持多帧时序融合,提升检测稳定性和运动物体跟踪能力。实验表明V2单帧模式相比V1提升1.5-2个mAP点,开启时序融合后可达4个点提升。文章详细解析了各模块的代码实现差异,并提
2026-06-29 11:29:03
1470
原创 Python,数据挖掘之EDA(Exploratory Data Analysis)及EDA懒人工具
EDA 全称,是数据挖掘、机器学习建模前。核心目的:不靠复杂模型,只用统计、图表、简单运算,,摸清数据规律、问题、特征关系,为后续清洗、特征工程、建模铺路。EDA 核心 4 大目标:行列、字段类型、缺失值、异常值:每个特征自身的取值分布、集中趋势、离散程度:特征与特征、特征与标签的相关性:缺失、重复、离群、偏态、多重共线性等隐患EDA 在数据挖掘里的实际价值。
2026-06-29 10:01:22
499
原创 ARC-AGI
是 ARC-AGI 最核心的任务载体 —— 所有抽象推理测试都通过 “网格图像的规则变换” 来具象化呈现,以此排除语言、文化、知识背景的干扰,纯粹测试通用推理能力。:网格尺寸在 1×1 到 30×30 之间,仅使用 10 种不同颜色的像素方格,不包含任何文字、符号或现实物体,彻底排除外部知识对测试的干扰ARC Prize。:每个独立任务仅提供 2~4 组「输入网格 - 输出网格」的示例,测试者需要从极少量样本中抽象出背后隐藏的变换规则,再对全新的测试输入网格生成正确的输出结果。
2026-06-28 23:30:09
347
原创 详解自动驾驶两大核心中间件:ROS 与 Apollo Cyber RT
摘要:自动驾驶中间件ROS与CyberRT对比分析 ROS(ROS1/ROS2)是机器人通用中间件,采用中心化(ROS1)或去中心化(ROS2)架构,支持Topic/Service通信,但存在实时性差、单点故障等短板,适用于科研和低速场景。百度CyberRT专为自动驾驶设计,采用去中心化架构,通过自研调度器实现硬实时任务优先级管理,默认共享内存零拷贝传输,优化了车规级高可靠、低延迟需求,但生态封闭。核心差异:ROS通用性强但实时性不足,CyberRT为自动驾驶深度优化但依赖Apollo生态。两者分别适用于算
2026-06-28 19:10:08
581
1
原创 C++智能指针及易错场景
unique_ptr的删除器是模板参数的一部分,属于类型的组成部分,编译期确定,无运行时开销。管理数组时,使用特化版本,自动调用delete[],且支持[]下标访问。支持自定义函数、lambda、函数对象作为删除器。// 管理动态数组arr[0] = 1;arr[1] = 2;// 自定义 lambda 删除器std::cout << "自定义释放内存" << std::endl;delete p;与unique_ptr不同,shared_ptr的删除器不是模板参数,而是通过类型擦除。
2026-06-28 18:49:40
321
原创 nuScenes数据集
samples是数据集的标注基准关键帧,是全传感器严格时间同步的采样时刻,也是官方提供人工3D标注的唯一数据。● sample_data.json:所有原始传感器文件的索引目录,每一张图片、每一帧点云、每一帧雷达数据都对应一条记录,包含所属sample、对应标定传感器、自车位姿、文件路径、时间戳、图像尺寸等。● 相机命名:CAM_FRONT(前视)、CAM_FRONT_LEFT(前左)、CAM_FRONT_RIGHT(前右)、CAM_LEFT(左侧)、CAM_RIGHT(右侧)、CAM_BACK(后视)
2026-06-26 15:15:19
558
原创 ONNX模型多个节点删除
而由于硬件设备、厂商支持力度等客观原因,上述多种部署框架大多存在一些不支持的op(算子),导致目标平台无法正常解析模型,因此,在onnx模型是进行适当的修改,对不支持的op进行增删改查是十分必要的。关于onnx模型的修改,强烈推荐使用python的onnx_graphsurgeon 库,onnx_graphsurgeon 是模型部署工程的必备工具之一, 最主要的用途就是调整或者新建 onnx 模型。
2026-06-03 11:02:34
243
原创 语音识别领域,WenetSpeech数据集详解
来源:YouTube视频、播客、有声书等质量分级:L(高质量)、M(中等质量)、S(低质量)包含:普通话、带口音普通话。
2025-12-10 15:48:29
519
原创 机器学习Adaboost算法----SAMME算法和SAMME.R算法
自适应提升机(Adaptive Boosting,简称 AdaBoost)是一种集成学习算法,通过组合多个弱分类器(弱分类器有多种选择,如决策树)来构建一个强分类器。AdaBoost在Python环境SKlearn里主要包含了SAMME算法和SAMME.R算法。AdaBoost SAMME算法的核心思想是逐步调整训练数据的权重,使得模型能够专注于那些难以分类的样本。基于超声雷达回波数据对目标障碍物进行高低分类属于二分类机器学习任务,使用AdaBoost算法比较合适。
2025-08-05 15:00:24
1531
原创 Pytorch 使用报错 RuntimeError: Caught RuntimeError in DataLoader worker process 0.
这个错误是可能是由于在DataLoader的工作进程中尝试访问CUDA设备导致的。PyTorch的DataLoader使用多进程加载数据,而CUDA上下文不能在子进程中直接使用。
2025-07-16 11:10:02
604
原创 Python struct 模块与 C 语言数据类型的详细对应关系
Python struct 模块与 C 语言数据类型的详细对应关系如下:Python struct 格式字符C 语言类型 (stdint.h)C 标准类型大小 (字节)值范围 (无符号)值范围 (有符号)Buint8_t10 到 255bint8_t1-128 到 127Huint16_t20 到 65,535hint16_tshort2-32,768 到 32,767Iuint32_t40 到 4,294,967,295iint32_tint。
2025-06-20 15:23:06
439
原创 Pytorch模型格式区别( .pt .pth .bin .onnx)
1 .pt 或 .pth:这是PyTorch默认的模型保存格式,两者没有实质区别,只是文件扩展名不同。2 .bin:这是一种通用的二进制格式,有时用于保存模型的权重,不包含模型结构。3 .onnx:开放神经网络交换格式,用于不同框架之间的模型交换。它保存了模型的结构和权重,并且可以在多个深度学习框架中运行。Pytorch是深度学习领域中进行模型训练时常用的框架之一,支持的模型保存格式包括.pt和.pth .bin .onnx。模型结构 + 权重 或 仅权重。模型结构 + 权重(标准化)仅权重(原始二进制)
2025-06-04 15:22:27
800
原创 C语言读取bin文件及存储方式
在 C 语言中使用uint8_t(即无符号 8 位整数)数组来存储二进制文件内容,这与二进制文件的存储原理和 C 语言的内存操作机制密切相关。int32_tfloat例如,float f=3.14,二进制表示可能为 0x4048F5C3(IEEE 754单精度浮点数),这 4 个字节在内存中是连续存储的,本质上与 4 个uint8_t没有区别。uint8_t。
2025-05-29 10:05:11
427
深度学习2026算法岗面试高频100题精解:覆盖CNN/RNN/Transformer/优化/压缩六大模块
2026-07-01
【高性能计算】基于CUDA的并行优化技术:内存访问与线程调度协同设计的8大核心策略
2026-07-01
【计算机视觉】基于3D位置编码的稀疏BEV感知算法:PETR V1原理与代码实现解析
2026-06-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅