Nvidia Jetson AGX Orin 64G深度学习环境配置
Jetson系列开发板架构是arm64,因此是基于arm64相关的环境配置
提醒:可自行查看NVIDIA官方网站查询安装中的疑问和步骤!!!
步骤1、安装jetpack
Jetson Development Pack (JetPack) 是一个NVIDIA按需提供的一体化软件包,捆绑并安装了适用于NVIDIA Jetson 嵌入式平台的所有开发用软件工具。 JetPack 包括适用于以下功能的工具: CUDA、TensorRT、cuDNN、OpenCV等。
NVIDIA JetPack SDK 是构建端到端加速 AI 应用的全面解决方案。JetPack 为硬件加速的边缘 AI 开发提供了完整的开发环境。JetPack 支持所有 Jetson 模组和开发者套件。
安装cuda前先安装jetpack,参考的是nvidia官方教程,即以下代码:
sudo apt upgrade
sudo apt update
sudo apt dist-upgrade
sudo reboot
sudo apt install nvidia-jetpack
最后一句命令可能要1个小时左右,在网络较好的情况下进行,如果安装中中断,再次运行最后一句命令即可,直到安装完成。
安装成功后,再安装jtop,jtop是Jetson 系列非常著名的监控工具,请执行以下指令进行安装:
sudo apt install python3-pip
sudo -H pip3 install -U pip
sudo -H pip install jetson-stats
然后执行下面启动指令就能开启这个监控工具:
jtop
会出现如下画面:

按 q键退出当前画面,如果启动失败,则重启orin,再次尝试。
当然这个不是重点,重点是安装jtop后,可以使用sudo jetson_release命令查看jetson版本号以及与它适配的cuda、cudnn、TensorRT、OpenCV等等版本,如下图:

步骤2、配置cuda环境
在桌面打开终端,输入如下命令:
(学习使用Vim编辑器指令:插入模式
i:在当前光标位置前插入
a:在当前光标位置后插入
o:在当前行下插入新行
I:在当前行行首插入
A:在当前行行尾插入
命令模式
:w:保存文件
:q:退出Vim
:wq:保存并退出
:q!:不保存强制退出
:x:保存并退出(等同于 :wq)
)
vim ~/.bashrc
#在文本末输入如下代码:
export LD_LIBRARY_PATH=/usr/local/cuda/lib64
export PATH=/usr/local/cuda/bin:$PATH
export CUDA_HOME=/usr/local/cuda
#更新环境变量配置
source ~/.bashrc
查看版本号:
nvcc -V
如下图:

步骤3:配置cuDNN环境
在终端输入如下命令:
#复制文件到cuda目录下
cd /usr/include && sudo cp cudnn* /usr/local/cuda/include
cd /usr/lib/aarch64-linux-gnu && sudo cp libcudnn* /usr/local/cuda/lib64
#修改文件权限,修改复制完的头文件与库文件的权限,所有用户都可读,可写,可执行:
sudo chmod 777 /usr/local/cuda/include/cudnn.h
sudo chmod 777 /usr/local/cuda/lib64/libcudnn*
#重新软链接,这里的8.6.0和8对应安装的cudnn版本号和首数字
cd /usr/local/cuda/lib64
sudo ln -sf libcudnn.so.8.6.0 libcudnn.so.8
sudo ln -sf libcudnn_ops_train.so.8.6.0 libcudnn_ops_train.so.8
sudo ln -sf libcudnn_ops_infer.so.8.6.0 libcudnn_ops_infer.so.8
sudo ln -sf libcudnn_adv_train.so.8.6.0 libcudnn_adv_train.so.8
sudo ln -sf libcudnn_adv_infer.so.8.6.0 libcudnn_adv_infer.so.8
sudo ln -sf libcudnn_cnn_train.so.8.6.0 libcudnn_cnn_train.so.8
sudo ln -sf libcudnn_cnn_infer.so.8.6.0 libcudnn_cnn_infer.so.8
sudo ldconfig
输入以下命令:
dpkg -l libcudnn8
如果出现以下信息则表示正确:

按 q键退出当前画面。
(在验证之前,我参考了文中提到的参考博客里验证的方法,如果验证失败,先运行sudo apt-get install libfreeimage3 libfreeimage-dev,再次验证)
步骤4、安装Anaconda
1、下载
anaconda的下载地址是:https://repo.anaconda.com/archive/ (anaconda清华镜像源),我选择的版本是:Anaconda3-2022.10-Linux-aarch64.sh,将下载的shell文件拷贝至home文件夹(也可以不拷贝),在home中打开终端,输入:bash Anaconda3-2022.10-Linux-aarch64.sh,接下来的安装过程请参考conda安装(从第2步开始)。
2、安装Anaconda
输入命令
bash Anaconda3-2022.10-Linux-aarch64.sh

回车后查看许可证,按 q 退出许可证,然后输入 yes 表示同意

确认安装的路径,一般直接回车安装在默认的 /home/你的名字/anaconda3

很快就安装完毕。输入 yes 来确认使用 conda init 来启动

3、启动环境变量如果现在输入 conda,会显示找不到命令

需要启动已经修改环境变量,输入以下命令(以后都不用再 source 了,因为启动 Ubuntu 会自动 source)
source ~/.bashrc
这时候会发现出现了 (base)

如果你查看 ~/.bashrc,可以看到已经添加了 conda 的路径
4、升级 conda
如果当前安装后,不是最新版本,可以通过以下命令升级
conda update -n base -c defaults conda


步骤5:安装Pytorch
打开Pytorch for Jetson 的官方网站查看具体详细安装步骤!!!
https://forums.developer.nvidia.com/t/pytorch-for-jetson/72048
conda创建名为torch3.8的新环境,python版本最好选择3.8(可使用multiprocessing多进程之间的SharedMemory共享内存):
conda create -n torch3.8 python=3.8
#打开虚拟环境
conda activate torch3.8

在步骤1中查看jetpack的版本为5.1.2
sudo apt-cache show nvidia-jetpack

在为Jetson安装PyTorch之前,请确保:
1.在您的Jetson设备上安装JetPack。
2.安装PyTorch所需的系统包:
sudo apt-get -y update;
sudo apt-get install -y python3-pip libopenblas-dev;
3.如果安装24.06 PyTorch或更高版本,则需要先安装cusparelt:
wget
raw.githubusercontent.com/pytorch/pytorch/5c6af2b583709f6176898c017424dc9981023c28/.ci/docker/
common/install_cusparselt.sh
export CUDA_VERSION=12.1 # as an example
bash ./install_cusparselt.sh
接下来,按照以下步骤安装PyTorch:
1.使用以下命令导出:
export TORCH_INSTALL=https://developer.download.nvidia.cn/compute/redist/jp/v511/pytorch/torch-2.0.0+nv23.05-cp38-cp38-linux_aarch64.whl
或者,下载文件并设置。
export TORCH_INSTALL=path/to/torch-2.2.0a0+81ea7a4+nv23.12-cp38-cp38-linux_aarch64.whl
2.安装PyTorch。
python3 -m pip install --upgrade pip; python3 -m pip install numpy==’1.26.1’; python3 -m pip install --no-cache $TORCH_INSTALL
如果你想安装特定版本的PyTorch,请将TORCH_install替换为:
https://developer.download.nvidia.com/compute/redist/jp/v$JP_VERSION/pytorch/$PYT_VERSION
Torch安装完成:

3.查看安装的Pytorch版本:
安装完成后,启动 Python,因为torch是python环境下的包:
python

验证安装:
import torch
import torchvision
print(torch.__version__)
print(torch.cuda.is_available())
确保 torch.cuda.is_available() 返回 True,这表示 CUDA 支持已成功启用。

步骤6:安装torchvision
打开虚拟环境
conda activate torch3.8
进入终端的虚拟环境输入下列命令
sudo apt-get update
sudo apt-get upgrade
参考官方链接:
sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev
进入终端的虚拟环境输入以下命令(如果速度过慢,直接在torchvision下载链接找对应版本的zip解压):
我的torch版本是2.0.0,对应的torchvision版本是0.15.1.

git clone --branch v0.15.1 https://github.com/pytorch/vision torchvision
cd torchvision
export BUILD_VERSION=0.15.1
python3 setup.py install --user
其中最后一句命令时间过长,如果卡在安装某个依赖包,可ctrl+c打断并用pip单独下载这个包,再继续运行最后的命令,直到运行成功。
注意pytorch和torchvision的对应关系,我安装的pytorch版本为2.0.0,所以torchvision安装v0.15.1。
上步完成后,退回到当前编译包位置:
cd
验证pytorch和torchvision:
python
import torch
import torchvision
print(torch.__version__)
print(torchvision.__version__)
print(torch.cuda.is_available())

确保 torch.cuda.is_available() 返回 True,这表示 CUDA 支持已成功启用。
如果输入import torchvison时有警告,原因是你在torchvison文件夹中打开了终端,执行import,相当于”体内“调包。所以需要退出当前编译包位置。最直接的方式就是退出当前终端,在桌面上重新打开一个终端,然后进入虚拟环境(conda activate torch3.8),输入python,最后运行import torchvison。
注:如果出现安装版本不一致的问题,可以卸载现有安装:
卸载任何不兼容的 torch 和 torchvision 版本:
pip uninstall torch torchvision
步骤7:安装tensorrt
Jetpack已经给我们自动安装好了,但是安装位置在/usr/lib/python3.8/dist-packages/中,不能被虚拟环境中定位使用。因此需要我们手动操作一下:
找到tensorrt的安装位置/usr/lib/python3.8/dist-packages/
找到里面的tensorrt文件和tensorrt-8.5.2.2.dist-info文件

找到创建的虚拟环境/anaconda3/envs/torch3.8/lib/python3.8/site-packages
然后将以上两个文件复制粘贴到这个文件夹中即可

在虚拟环境中测试一下,运行如下指令:
python -c "import tensorrt;print(tensorrt.__version__)"
如果出现版本号,则成功:

后续可能出现的问题:
过高版本的numpy可能会导致代码运行tensorrt时报错,亲测卸载并重新安装1.21.3版本的numpy可解决:(暂未出现)
pip uninstall numpy
pip install -U numpy==1.21.3
8、配置yolov7+pytracking环境
pip install matplotlib pandas tqdm
pip install opencv-python visdom tb-nightly scikit-image tikzplotlib gdown
pip install cython
pip install pycocotools
pip install lvis
pip install spatial-correlation-sampler
pip install jpeg4py
sudo apt-get install ninja-build
sudo apt-get install libturbojpeg
#通信模块需要
pip install pyserial
9、Pycharm安装开发包
1、PyCharm依赖包导入导出方法
在PyCharm的terminal中输入:
(1)将依赖包导出至requirements文件
pip freeze > requirements.txt
(2)从requirements文件中导入依赖包
pip install -r requirements.txt
从位于桌面的requirements.txt文件导入
pip install -r /home/pc/Desktop/requirements.txt
2、命令行修改法
(1)命令行临时修改法
在用pypi下载python包的时候,可以直接使用pip install packagename -i参数,指定下载源的URL
pip install ping3 -i https://pypi.tuna.tsinghua.edu.cn/simple
(2)命令行永久修改法
使用pip config set global.index-url来直接指定下载源的URL,这样就不用手动修改配置文件了
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)