Skip to content

Deploy YOLO on Nvidia Orin NX

在 ARM64(aarch64) 架构的 Nvidia Jetson Orin NX 系统上部署 YOLO 目标识别。

首先确认 Jetson 设备信息:

Bash
cat /etc/nv_tegra_release
jetson_release
uname -m

安装 jet-pack .

安装相关依赖:

Bash
sudo apt install libopenblas-dev
sudo apt install ros-noetic-cv-bridge
sudo apt install python3-rospkg

创建虚拟环境:

Bash
sudo apt install python3-venv
python3 -m venv ~/venv/yolo

安装 Python 包:

Bash
source ~/venv/yolo/bin/activate
pip3 install -U pip
pip3 install ultralytics
pip3 install rospkg catkin_pkg

安装 ultralytics 的过程中会自动安装依赖 torch, torchvision ,但是我们需要使用的是 NVIDIA 专门为 Jetson 设备开发的预编译版本,具体版本要求可参考 NVIDIA 官网 Pytorch for Jetson.

我们需要先卸载 torch, torchvision ,然后再手动安装与设备匹配的特定版本:

先安装 torch 的时候会警告:

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.

ultralytics 8.3.169 requires torchvision>=0.9.0, which is not installed.

是因为不满足 torchvision 的依赖,而我们稍后就会安装 torchvision,因此可忽略此警告。

Bash
pip3 uninstall torch torchvision

# install torch
cd ~/Downloads
wget https://developer.download.nvidia.com/compute/redist/jp/v512/pytorch/torch-2.1.0a0+41361538.nv23.06-cp38-cp38-linux_aarch64.whl
pip3 install torch-2.1.0a0+41361538.nv23.06-cp38-cp38-linux_aarch64.whl

# install torchvision
git clone --branch v0.16.2 https://github.com/pytorch/vision.git
cd vision
export BUILD_VERSION=0.16.2
python3 setup.py install

安装完成后,可运行以下代码验证是否安装成功、CUDA 是否可用:

Python
import torch
import torchvision
print(torch.__version__)
print(torch.cuda.is_available())
print(torchvision.__version__)

Comments