1、Jetson平台概览:从硬件选型到环境初始化
做嵌入式AI开发这些年,我接触过不少硬件平台。但说实话,Jetson系列是我用得最顺手的。为什么?因为它把桌面级的GPU能力塞进了一个巴掌大的板子里。今天这一章,咱们就从头捋一遍Jetson的家族成员、生态场景,以及怎么把开发环境搭起来。
1.1 Jetson系列硬件对比:Nano / Orin / AGX
先看一张表,把几个主流型号的参数摆出来。我个人习惯是,选型前先看这张表,心里就有数了。
| 型号 | AI算力 | GPU架构 | 内存 | 功耗 | 典型场景 |
|---|---|---|---|---|---|
| Jetson Nano | 472 GFLOPS | Maxwell 128核 | 4GB LPDDR4 | 5W / 10W | 入门学习、轻量推理 |
| Jetson Orin NX | 70 TOPS | Ampere 1024核 | 8GB / 16GB LPDDR5 | 10W ~ 25W | 边缘计算、机器人 |
| Jetson AGX Orin | 275 TOPS | Ampere 2048核 | 32GB / 64GB LPDDR5 | 15W ~ 60W | 自动驾驶、高端AI |
你可能会问,TOPS和GFLOPS有什么区别?说白了,TOPS是整数运算的指标,GFLOPS是浮点运算的。做深度学习推理时,TOPS更实用。我在项目中遇到过用Nano跑YOLOv5的情况,帧率大概在15fps左右。换成Orin NX后,直接飙到60fps。嗯,差距就是这么明显。
选型建议:
- 如果你刚入门,预算有限,Nano完全够用。我最早就是从Nano开始的。
- 如果要做实时视频分析或机器人控制,Orin NX是性价比之选。
- 如果项目要求高精度、高帧率,比如自动驾驶,直接上AGX Orin。
1.2 Jetson生态与AI应用场景
Jetson的生态,说白了就是NVIDIA给你搭好的一套工具链。你想想看,从刷机到部署,几乎每一步都有官方支持。我个人最常用的几个组件:
- JetPack SDK:包含L4T内核、CUDA、cuDNN、TensorRT。刷机时选这个就行。
- DeepStream:做视频流分析的神器。我做过一个智慧安防项目,用DeepStream接8路摄像头,CPU占用不到30%。
- Isaac SDK:机器人开发套件。如果你做SLAM或路径规划,这个很香。
应用场景方面,我总结了三类:
- 边缘AI推理:比如在工厂里做缺陷检测。模型训练在PC上,推理放在Jetson上。
- 机器人控制:Jetson作为主控,接传感器和执行器。我记得有个项目用Orin NX做四足机器人,实时性很好。
- 智能视频分析:安防、零售、交通。DeepStream + TensorRT,一套组合拳。
小技巧: 做边缘部署时,建议先用NVIDIA的tao工具链训练模型,然后导出为TensorRT引擎。这样推理速度能提升2-3倍。我试过,效果立竿见影。
1.3 Jetson开发环境初始化
环境初始化,说白了就是刷机。嗯,这一步很多人觉得麻烦,但其实流程很固定。我按步骤来:
1.3.1 准备工作
- 一台Jetson开发板(以Orin NX为例)
- 一台Ubuntu主机(18.04或20.04)
- Micro-USB线(用于Recovery模式)
- 电源适配器(注意功率,Nano用5V/4A,Orin用19V/6.74A)
警告: 我曾经因为用了不匹配的电源,导致Jetson频繁重启。后来才发现是电流不够。所以电源一定要按官方规格来,别省这个钱。
1.3.2 刷机步骤
刷机用的是NVIDIA SDK Manager。流程如下:
- 在主机上安装SDK Manager(官网下载deb包)。
- 将Jetson进入Recovery模式:按住Recovery键,再按Reset键,保持2秒后松开。
- 用Micro-USB线连接Jetson和主机。
- 打开SDK Manager,选择目标硬件和JetPack版本。
- 点击安装,等待约30分钟。
这里有个坑:SDK Manager默认会下载全部组件,大概10GB。如果你网络不好,可以只选必要的。我个人习惯只选L4T、CUDA、cuDNN和TensorRT。其他的后面再装。
1.3.3 验证环境
刷机完成后,用SSH连上Jetson。跑几个命令确认一下:
# 查看系统信息
uname -a
# 检查CUDA版本
nvcc --version
# 检查TensorRT版本
dpkg -l | grep tensorrt
# 跑一个简单的GPU测试
python3 -c "import torch; print(torch.cuda.is_available())"
如果输出都是正常的,恭喜你,环境搭好了。我一般还会跑一个简单的推理测试,确保TensorRT能正常工作。比如用官方提供的sample:
cd /usr/src/tensorrt/samples/sampleMNIST
make
./sample_mnist
看到输出结果,心里就踏实了。
避坑指南: 我曾经在刷机时遇到一个问题——SDK Manager提示“No Jetson device found”。折腾了半天,发现是Micro-USB线的问题。有些线只能充电,不能传数据。换一根数据线就好了。所以,刷机前先确认线缆是数据线。
小结
这一章咱们聊了Jetson的硬件选型、生态场景和环境初始化。说白了,选对硬件是第一步,搭好环境是第二步。后面几章,我会带你深入SSH远程开发和调试技巧。你想想看,当你能在电脑前远程操控Jetson,实时调试代码,那种感觉还是很爽的。
下一章,咱们聊聊SSH连接与密钥配置。到时候见。