jetson_yolo_deployment 03_jetson_hardware
03 — Jetson 硬件与生态作者智汇嵌入式实验室 · 7yewh本文件是 Jetson YOLO 部署系列的第 3 篇。目标理解 Jetson 平台的硬件能力和软件生态知道它能干什么、不能干什么。0. 先建立整体认知你已经很熟悉 MCUSTM32现在要理解的是MCUSTM32 Cortex-M4 GPUJetson CPU 只有 1 个核 CPU 有 4-12 个核 没有 GPU 有专用 GPU128-2048 CUDA 核心 128 MHz 1-2 GHz GPU 加速 512 KB Flash 128 KB RAM 4-64 GB 统一内存 跑裸机 / RTOS 跑完整 LinuxUbuntu 推理 ~10ms简单 CNN 推理 ~10ms复杂 YOLO 用途传感器数据处理 用途视觉/语音/多模态 AIJetson 不是大号 MCU它是一台完整的 Linux 电脑 GPU 加速卡的组合。1. Jetson 系列产品对比1.1 当前主流型号型号GPU 核心AI 算力内存功耗价格适合场景Jetson Nano128 CUDA0.47 TFLOPS4 GB5-10W~¥700入门学习、简单检测Jetson Orin Nano1024 CUDA40 TOPS(INT8)4/8 GB7-15W~¥1500性价比最高Jetson Orin NX1024 CUDA70-100 TOPS8/16 GB10-25W~¥3000生产级部署Jetson AGX Orin2048 CUDA275 TOPS32/64 GB15-60W~¥1w高端多路推理1.2 怎么选预算有限 / 纯学习 → Jetson Nano二手更便宜 想要性能也想控制成本 → Orin Nano 8GB推荐 公司项目 / 多路摄像头 → Orin NX 高端需求 / 多模型并行 → AGX Orin学习阶段用 Nano 完全够了能跑 YOLOv8n15-25 FPS。1.3 与竞品对比平台优势劣势适合Jetson生态完善、TensorRT、DeepStream贵、功耗偏高视觉推理树莓派 5便宜、社区大没有 GPU、AI 能力弱通用 IoTRK3588便宜、NPU 6 TOPS生态不如 Jetson消费类产品Coral TPU低功耗、推理快只支持 TFLite、灵活性差固定模型部署PC RTX算力最强功耗大、不便携训练、研发2. 硬件架构2.1 SoC 内部结构┌──────────────────────────────────────────────┐ │ Jetson SoC │ │ │ │ ┌──────────┐ ┌───────────────────────┐ │ │ │ ARM CPU │ │ NVIDIA GPU │ │ │ │ 4-12核 │ │ 128-2048 CUDA 核心 │ │ │ │ Cortex-A │ │ Tensor CoreOrin │ │ │ │ 通用计算 │ │ 并行矩阵乘法 │ │ │ └────┬─────┘ └──────────┬────────────┘ │ │ │ │ │ │ └──────────┬──────────┘ │ │ │ │ │ ┌────────▼────────┐ │ │ │ 统一内存 │ │ │ │ 4-64 GB │ │ │ │ CPU/GPU 共享 │ ← 这是 Jetson 的关键特点│ │ └─────────────────┘ │ │ │ │ ┌───────┐ ┌───────┐ ┌───────┐ ┌───────┐ │ │ │ CSI │ │ USB │ │ PCIe │ │ UART │ │ │ │摄像头 │ │ 3.0 │ │ NVMe │ │ SPI │ │ │ └───────┘ └───────┘ └───────┘ └───────┘ │ └──────────────────────────────────────────────┘2.2 关键特点统一内存PC 上独立显卡 CPU 用 DDR 内存 GPU 用 GDDR 显存 数据要在 CPU 内存 ↔ GPU 显存之间来回复制 → 开销大 Jetson统一内存 CPU 和 GPU 共享同一块物理内存 不需要 CPU→GPU 的数据拷贝 → 延迟更低 但总内存有限Nano 只有 4GBCPUGPU 一起用实际影响好处图像从摄像头到 GPU 推理不需要额外拷贝坏处4GB Nano 运行 Ubuntu 桌面就用掉 1.5GB剩给 AI 的不多2.3 CUDA 核心 vs Tensor CoreCUDA 核心所有 Jetson 都有 通用并行计算单元 每个核心在每个时钟周期做 1 次 FMA乘加 128 个 CUDA 核心 × 921 MHz 128 个并行乘加 → 适合 FP32 推理 Tensor CoreOrin 系列才有 专门做矩阵乘法的硬件 一次操作完成 4×4 矩阵乘法 → FP16/INT8 推理速度比 CUDA 核心快很多 → 这就是为什么 Orin 的 TOPS 比 Nano 高几十倍3. 软件生态JetPack SDK3.1 JetPack 组成JetPack SDK 完整的 AI 开发工具栈 ┌─────────────────────────────────┐ │ 你的应用程序 │ ├─────────────────────────────────┤ │ DeepStream │ Triton │ VPI │ ← 应用框架 ├─────────────────────────────────┤ │ TensorRT │ cuDNN │ OpenCV │ ← AI 推理库 ├─────────────────────────────────┤ │ CUDA Toolkit │ ← GPU 编程接口 ├─────────────────────────────────┤ │ Linux Kernel BSP │ ← 操作系统 ├─────────────────────────────────┤ │ Jetson 硬件 │ ← SoC └─────────────────────────────────┘3.2 每个组件的作用组件作用你需要了解的深度CUDAGPU 编程接口写 GPU 代码用的知道概念即可部署 YOLO 不需要写 CUDAcuDNN深度学习基础算子库Conv、Pool 等的 GPU 实现不需要直接用TensorRT 内部调用它TensorRT模型推理优化引擎ONNX → 优化后的 Engine必须掌握部署的核心工具OpenCV图像/视频处理库必须掌握读取摄像头、预处理DeepStream视频分析框架多路流、编解码、推理管线建议了解生产环境常用VPI视觉编程接口GPU 加速的图像处理可选高级优化时用3.3 JetPack 版本JetPack 4.6 → CUDA 10.2, TensorRT 8.0 → Jetson Nano / TX2 / Xavier JetPack 5.x → CUDA 11.4, TensorRT 8.5 → Jetson Orin 系列 JetPack 6.x → CUDA 12.x, TensorRT 8.6 → Jetson Orin最新 注意JetPack 版本和 Jetson 型号是绑定的 Nano 最高只能用 JetPack 4.6 Orin 必须用 JetPack 5.x 或 6.x4. 性能模式Jetson 支持多种功耗/性能模式直接影响推理速度。4.1 查看和切换模式# 查看当前模式sudonvpmodel-q# Jetson Nano 的模式# MODE 0: MAXN全速10W# 4 CPU 核心 1.43 GHz# GPU 921 MHz# MODE 1: 5W# 2 CPU 核心 918 MHz# GPU 640 MHz# 切换到全速模式sudonvpmodel-m0# 启用最大时钟频率不自动降频sudojetson_clocks4.2 性能模式对推理的影响以 YOLOv8n 为例Jetson NanoMODE 15W ~8 FPS MODE 010W ~15 FPS ← 翻倍 加上 jetson_clocks~18 FPS ← 再提 20% 所以部署前一定要先切到 MAXN 模式5. 与 MCU 开发的对比理解你已经会 MCU 开发下面用对比帮你快速建立 Jetson 认知维度MCUSTM32Jetson操作系统裸机 / FreeRTOSUbuntu Linux启动方式Flash 中的固件SD 卡 / eMMC 中的 Linux开发方式Keil 烧录器SSH VS Code Remote编译交叉编译PC 上编译烧到 MCU直接在 Jetson 上编译调试SWD/JTAG 串口printf gdb nvidia-smiAI 框架ST Edge AI生成 C 代码TensorRT生成优化 Engine推理代码C 语言手动调用 APIPython/C调用 TensorRT API输入数据ADC 采样摄像头帧OpenCV优化手段CCMRAM、Flash 预取FP16/INT8 量化、CUDA 流部署产物.hex / .bin 固件.engine 文件 Python 脚本关键思维转变MCU 思维 Jetson 思维 每个字节都很珍贵 内存相对充裕关注吞吐量 推理要嵌在主循环里 推理是独立进程 优化到 cycle 级别 优化到 ms 级别用并行弥补 没有操作系统也能跑 依赖 Linux 生态 一切自己控制 很多东西框架帮你做了6. Jetson 能做什么 / 不适合做什么适合实时目标检测YOLO10-30 FPS人脸识别、姿态估计智能摄像头、边缘视频分析机器人视觉ROS Jetson自动驾驶原型多传感器融合小规模语音识别边缘推理服务器少量并发不适合模型训练算力不够训练用 PC/云端大规模并发多用户同时请求高分辨率实时处理4K60fps 对 Nano 太难极低功耗场景 1W 的需求用 MCU极低延迟场景 1ms 的需求用 FPGA7. 本章实操任务□ 1. 查看你的 Jetson 型号和 JetPack 版本cat /etc/nv_tegra_release □ 2. 查看 GPU 信息nvidia-smi 或 sudo tegrastats □ 3. 查看当前性能模式sudo nvpmodel -q □ 4. 切换到 MAXN 模式sudo nvpmodel -m 0 sudo jetson_clocks □ 5. 查看 CUDA 版本nvcc --version □ 6. 查看可用内存free -h □ 7.如果没有 Jetson阅读 NVIDIA 官方规格对比表确定你打算购买的型号智汇嵌入式实验室 · 7yewh
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2414111.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!