目录
本文前半部分参考了Nvidia Jetson AGX Orin 64G深度学习环境配置的超详细教程
步骤1、安装jetpack
安装cuda前先安装jetpack,参考nvidia官方教程,即以下代码:
sudo apt upgrade
sudo apt update
sudo apt dist-upgrade
sudo reboot
sudo apt install nvidia-jetpack
最后一句命令如果安装中中断,再次运行最后一句命令即可,直到安装完成。
安装成功后,再安装jtop,执行以下指令进行安装:
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 ~/.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
anaconda的下载地址是:anaconda清华镜像源,我选择的版本是:Anaconda3-2022.10-Linux-aarch64.sh,将下载的shell文件拷贝至home文件夹(也可以不拷贝),在home中打开终端,输入:bash Anaconda3-2022.10-Linux-aarch64.sh
,接下来的安装过程请参考conda安装(从第2步开始)。
步骤5:安装Pytorch
conda创建名为torch3.8的新环境,python版本最好选择3.8(可使用multiprocessing多进程之间的SharedMemory共享内存):
conda create -n torch3.8 python=3.8
# 打开虚拟环境
conda activate torch3.8
在步骤1中查看jetpack的版本为5.1,因此要安装对应版本的Pytorch,我选择的是1.12版本(经测试比较稳定),如下:
将下载的.whl文件拷贝至home文件夹,在home中打开终端,按照官方教程,输入如下命令:
sudo apt-get -y update;
sudo apt-get -y install autoconf bc build-essential g++-8 gcc-8 clang-8 lld-8 gettext-base gfortran-8 iputils-ping libbz2-dev libc++-dev libcgal-dev libffi-dev libfreetype6-dev libhdf5-dev libjpeg-dev liblzma-dev libncurses5-dev libncursesw5-dev libpng-dev libreadline-dev libssl-dev libsqlite3-dev libxml2-dev libxslt-dev locales moreutils openssl python-openssl rsync scons python3-pip libopenblas-dev;
然后输入如下命令(whl文件名替换为自己的):
pip install torch-1.12.0a0+2c916ef.nv22.3-cp38-cp38-linux_aarch64.whl
紧接着输入如下命令:
python3 -m pip install --upgrade pip; python3 -m pip install aiohttp numpy=='1.19.4' scipy=='1.5.3' ; python3 -m pip install --upgrade protobuf; python3 -m pip install --no-cache $TORCH_INSTALL
其中设置清华大学的镜像源来加速pip
安装包的速度,可以使用如下的命令:
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
步骤6:安装torchvision
进入终端的虚拟环境输入下列命令
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解压):
git clone --branch v0.13.0 https://github.com/pytorch/vision torchvision
cd torchvision
export BUILD_VERSION=0.13.0
python3 setup.py install --user
其中最后一句命令时间过长,如果卡在安装某个依赖包,可ctrl+c打断并用pip单独下载这个包,再继续运行最后的命令,直到运行成功。
注意pytorch和torchvision的对应关系,我安装的pytorch版本为1.12,所以torchvision安装v0.13.0
验证pytorch和torchvision:
python
import torch
import torchvision
如图所示没有报错即安装成功(若有报错,缺少哪些模块pip安装即可)
这里有人import torchvison时有警告,如网址所说,原因就是你在torchvison文件夹中打开了终端,执行import,相当于”体内“调包。。。所以退出当前编译包位置,到其他任何地方重新打开终端,运行import torchvison,自然就不会报错了
步骤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
其中一些依赖包清华源镜像找不到,可暂时切换至阿里源安装,如下所示(xxx替换为包名):
pip install xxx -i https://mirrors.aliyun.com/pypi/simple/
步骤9:安装pycharm(不需要可省略)
首先在pycharm官网下载网址,下载pycharm
我下载的是2022.3.3-LinuxARM64(tar.gz)
推荐下载社区版(足够个人使用)
注意:要下载LinuxARM64版本
下载完成后,进入下载的目录,右键点击,打开终端。
在终端中输入下列命令解压文件(其中pycharm-<version>.tar.gz替换为下载的文件名称):
tar -xzf pycharm-<version>.tar.gz
点开解压后的pycharm文件,再点进去bin,然后右键打开终端,在终端中执行以下命令来启动它:
sh pycharm.sh
通过以下步骤配置conda虚拟环境:
-
打开PyCharm,点击顶部菜单栏的"File",选择"Settings"(或者直接按快捷键"Ctrl + Alt + S")。
-
在弹出的设置窗口中,展开"Project",选择"Project Interpreter"。如果是全局设置,可以选择"Default Project Interpreter"。
-
点击"Project Interpreter"右侧的下拉框,选择"Show All..."。
-
在弹出的Interpreter窗口中,点击右上角的"+"按钮。
-
在弹出的添加解释器窗口中,选择"Conda Environment",然后点击"Existing environment",并在"Interpreter"字段中选择已有的conda环境,如/anaconda3/envs/torch3.8/bin/python。
-
确认选择后,点击"OK"按钮完成配置