news 2026/7/15 9:30:37

Jetson TX2开发者套件从零到AI:系统迁移与YOLOv5环境一站式部署指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Jetson TX2开发者套件从零到AI:系统迁移与YOLOv5环境一站式部署指南

1. Jetson TX2开发者套件开箱与系统烧录

拿到Jetson TX2开发板的第一件事就是完成系统烧录。这里推荐使用NVIDIA官方提供的SDK Manager工具,它能帮你一站式完成系统镜像和开发环境的部署。我实测下来,这个工具确实能省去不少手动配置的麻烦,不过有几个坑需要特别注意。

首先,你需要准备一台运行Ubuntu 16.04或18.04的电脑(物理机或虚拟机都可以)。我在VMware上装了个Ubuntu 18.04,实测完全兼容。下载SDK Manager时,建议直接从NVIDIA开发者官网获取最新版本,避免使用第三方源可能带来的兼容性问题。

烧录系统时,记得用micro-USB线连接开发板和电脑。这里有个小技巧:建议使用原装线缆,我试过几根第三方线,有的会出现识别不稳定的情况。在SDK Manager界面,设备类型选择Jetson TX2,然后重点来了——不要勾选Host Machine选项,除非你打算同时在主机上安装开发环境。

系统烧录过程中,建议保持网络畅通,因为工具会自动下载需要的组件。第一次运行时可能会比较慢,我实测大概需要30-60分钟,具体取决于你的网速。完成后,开发板会自动重启进入Ubuntu系统,这时候你就可以设置用户名和密码了。

2. 系统迁移至SSD完整指南

Jetson TX2板载的eMMC存储只有32GB,跑几个AI模型就捉襟见肘了。我强烈建议将系统迁移到SSD,不仅能解决存储瓶颈,还能显著提升IO性能。这里分享下我亲测有效的迁移方案。

首先需要准备一个M.2接口的SSD(建议至少256GB)和对应的转接卡。将SSD安装到开发板的PCIe插槽后,进入系统打开磁盘工具进行格式化。这里要注意选择ext4文件系统,我试过其他格式会导致后续步骤失败。

迁移工具我推荐使用jetsonhacks开发的rootOnNVMe脚本,这个方案最稳定。操作步骤如下:

sudo apt update sudo apt upgrade git clone https://github.com/jetsonhacks/rootOnNVMe.git cd rootOnNVMe ./copy-rootfs-ssd.sh ./setup-service.sh

这个脚本会自动将系统文件拷贝到SSD,并设置开机自动挂载。完成后还需要修改/boot/extlinux/extlinux.conf文件,把root参数从/dev/mmcblk0p1改为/dev/nvme0n1p1。具体修改位置如下:

LABEL primary MENU LABEL primary kernel LINUX /boot/Image INITRD /boot/initrd APPEND ${cbootargs} quiet root=/dev/nvme0n1p1 rw rootwait rootfstype=ext4

重启后,在终端输入df -h,如果看到根目录挂载在nvme0n1p1上,说明迁移成功了。我迁移后实测IO性能提升了3倍,模型加载速度明显加快。

3. JetPack SDK组件安装与验证

系统迁移完成后,需要安装JetPack SDK提供的关键组件。重新打开SDK Manager,这次要勾选Jetson SDK Components下的所有选项,特别是CUDA、cuDNN和TensorRT这些深度学习必备组件。

安装过程可能会比较久,我建议放在晚上进行。完成后,可以通过几个命令验证是否安装成功:

nvcc -V # 查看CUDA版本 jtop # 查看硬件状态和组件版本

如果看到CUDA 10.2的输出(TX2最新支持的版本),说明安装正确。jtop是个非常实用的工具,可以实时监控CPU/GPU使用率、温度和内存情况,建议通过以下命令安装:

sudo apt install python3-pip sudo -H pip3 install jetson-stats

4. Conda环境配置技巧

为了避免污染系统环境,我强烈建议使用Conda创建独立的Python环境。由于TX2是ARM架构,不能直接用Anaconda,需要安装专门适配的Miniforge:

wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-aarch64.sh chmod +x Miniforge3-Linux-aarch64.sh ./Miniforge3-Linux-aarch64.sh

安装时注意看提示,当询问"Do you wish the installer to initialize Miniforge3"时选择yes。安装完成后,如果觉得终端启动变慢,可以禁止自动激活base环境:

conda config --set auto_activate_base false

然后创建一个专用于YOLOv5的Python 3.6环境:

conda create -n py36 python=3.6 conda activate py36

5. PyTorch for Jetson TX2安装详解

在ARM架构上安装PyTorch需要特别注意版本兼容性。NVIDIA官方提供了预编译的whl文件,我们需要下载对应CUDA 10.2的版本:

sudo apt install libopenblas-base libopenmpi-dev libomp-dev wget https://nvidia.box.com/shared/static/wa34qwrwtk9njtyarwt5nvo6imenfy26.whl -O torch-1.10.0-cp36-cp36m-linux_aarch64.whl pip install torch-1.10.0-cp36-cp36m-linux_aarch64.whl

安装完成后验证PyTorch是否能正确识别CUDA:

import torch print(torch.__version__) print('CUDA available:', torch.cuda.is_available())

如果输出CUDA available: True,说明安装成功。接下来安装torchvision,这里需要从源码编译:

sudo apt install libavcodec-dev libavformat-dev libswscale-dev git clone -b v0.11.1 https://github.com/pytorch/vision torchvision cd torchvision export BUILD_VERSION=0.11.1 python3 setup.py install --user

6. YOLOv5环境部署与测试

现在可以开始部署YOLOv5了。首先安装依赖项:

sudo apt install gfortran build-essential libatlas-base-dev conda install matplotlib seaborn pyyaml tqdm pip install opencv-python==4.5.5.64

然后克隆YOLOv5仓库(建议使用v6.0版本):

git clone -b v6.0 https://github.com/ultralytics/yolov5.git cd yolov5 pip install -r requirements.txt

测试是否能够正常运行:

python detect.py --source data/images/bus.jpg --weights yolov5s.pt

如果看到生成的runs/detect/exp目录下有检测结果图片,说明环境配置成功。我在TX2上实测yolov5s模型能达到10FPS左右的推理速度,对于边缘设备来说已经相当不错。

7. 性能优化技巧

为了让YOLOv5在TX2上跑得更流畅,这里分享几个实测有效的优化技巧:

  1. 启用TensorRT加速:将PyTorch模型转换为TensorRT引擎可以显著提升推理速度。可以使用NVIDIA提供的torch2trt工具:
git clone https://github.com/NVIDIA-AI-IOT/torch2trt cd torch2trt python setup.py install
  1. 使用FP16精度:Jetson TX2支持FP16计算,能减少显存占用并提升速度。在YOLOv5的detect.py中添加--half参数即可启用。

  2. 调整电源模式:TX2有几种不同的电源模式,高性能模式下GPU频率更高:

sudo nvpmodel -m 0 # 最大性能模式 sudo jetson_clocks # 锁定最高频率
  1. 优化OpenCV:默认安装的OpenCV可能没有启用硬件加速,可以重新编译开启CUDA和NVDEC支持。

经过这些优化后,我的YOLOv5s模型推理速度从10FPS提升到了15FPS,效果非常明显。当然,如果对精度要求不高,还可以考虑使用更小的模型如yolov5n,在TX2上能跑到20+FPS。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/15 9:30:12

UE5第三人称相机系统:从弹簧臂组件到实战调优

1. 项目概述:为什么第三人称相机是UE5项目的基石在虚幻引擎5(UE5)里鼓捣过角色控制的开发者,十有八九都跟相机系统“搏斗”过。尤其是第三人称视角,它远不止是把镜头拉到角色背后那么简单。一个手感糟糕、动不动穿墙或…

作者头像 李华
网站建设 2026/7/15 9:29:18

基于夹角判断递归算法实现河流骨架线自动提取

1. 项目概述:从离散点云到河流骨架在地理信息系统、水文分析乃至游戏地图生成中,我们常常会面对一个经典问题:如何从一堆看似杂乱无章的、代表河流的离散点或短线段数据中,抽取出那条清晰、连贯的主干线?这听起来像是一…

作者头像 李华
网站建设 2026/7/15 9:28:45

Privasis-Cleaner-4B模型训练原理:从37K指令数据到智能清理

Privasis-Cleaner-4B模型训练原理:从37K指令数据到智能清理 【免费下载链接】Privasis-Cleaner-4B 项目地址: https://ai.gitcode.com/hf_mirrors/nvidia/Privasis-Cleaner-4B Privasis-Cleaner-4B是一款轻量级文本清理模型,能够根据用户提供的清…

作者头像 李华
网站建设 2026/7/15 9:28:37

深入解析DS90UB960-Q1:FPD-Link III与CSI-2接口的电气特性与时序设计

1. 项目概述与核心价值 在汽车高级驾驶辅助系统(ADAS)、工业机器视觉以及多摄像头监控系统中,一个核心的工程挑战是如何将分布在不同位置的多个高分辨率图像传感器产生的海量数据,可靠、实时且低延迟地传输到中央处理单元。传统并…

作者头像 李华