Jetson orin nano深度学习环境搭建详细教程(包含miniconda(miniforge)、cuda、cudnn、paddle、pyqt5、mmcv)及问题汇总及解决

Jetson orin nano深度学习环境搭建详细教程(包含miniconda(miniforge)、cuda、cudnn、paddle、pyqt5、mmcv)及问题汇总及解决

1、jetpack和jtop的安装

在orin nano安装cuda前需要先安装jetpack,参考代码

sudo apt update
sudo apt dist-upgrade
sudo reboot
sudo apt install nvidia-jetpack

安装情况视网络情况而定,约为1小时,安装如因网络原因中断,重复执行最后一句即可。

安装jtop,可以用来监控jetson的资源使用情况和查看cuda版本等。

sudo -H pip3 install -U pip
sudo -H pip install jetson-stats

输入jtop即可使用, 出现以下画面。
在这里插入图片描述
按 q键或ctrl c退出当前画面,如果启动失败,则重启orin,再次尝试。
安装jtop后,可以使用sudo jetson_release命令查看jetson版本号以及与它适配的cuda、cudnn、TensorRT、OpenCV等等版本,如下图
在这里插入图片描述

2、配置cuda环境

在桌面打开终端,输入如下命令:

#在文本末输入如下代码:
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环境

在终端输入如下命令:

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

显示如图
在这里插入图片描述

4、安装miniconda

因jetson orin nano的内存有限,因此相比anaconda选择更轻量化的miniconda,占用资源更少,但minconda在jetson上安装容易出现问题,因此选择minconda替代软件miniforge
软件地址https://github.com/conda-forge/miniforge
图片如下
在这里插入图片描述
下载好通过优盘或者winscp传到orin nano上
进入Miniforge3-Linux-aarch64.sh目录执行安装

bash Miniforge3-Linux-aarch64.sh -b

安装后进行初始化,初始化后重新打开终端。

~/miniforge3/bin/conda init

查看conda版本 :conda -V
miniforge使用方法与minconda使用方法一致

5、安装pytorch

下载安装文件
三个版本都可以下载,都可以适配相同版本的torchvision,将下载的.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;

继续输入以下指令

pip install torch-1.14.0a0+44dac51c.nv23.02-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

接下来验证是否安装成功,打开一个终端依次输入

python
import torch
print(torch.__version__)

6、安装torchvision

pytorch和torchvision版本对应
在这里插入图片描述
torchvision下载链接

如图选择
在这里插入图片描述
在home文件夹中新建文件夹,命名为torchvision,然后将下载的文件进行解压,之后拷贝至home文件夹下新建的torchvision文件夹中(拷贝setup.py所在文件夹里的所有内容至torchvision),并在该文件夹中打开终端,按照官方教程,输入如下命令:

$ sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev
$ export BUILD_VERSION=0.15.1  # where 0.15.1 is the torchvision version  
$ python3 setup.py install --user

安装torchvision可能报错

可能会报错ValueError: Unknown CUDA arch (8.7+PTX) or GPU not supported
解决办法:可以 ls /opt/venv/lib/python3.10/site-packages/torch/utils/cpp_extension.py ,看一下 1793行附近, _get_cuda_arch_flags这个方法可以找到支持的算力列表,
在这里插入图片描述
在supported_arches里添加上8.7即可解决。
报错原因:NVIDIA Orin nano 的 GPU 支持 CUDA 8.7 计算能力,所以编译pytorch的时候自适应了这个算力,编译了支持CUDA8.7算力的pytorch。但在 PyTorch 1.10.0 的默认设置中,8.7 并不在预设的支持列表中,所以产生这个报错。

报错解决即可重复执行上述操作安装
验证安装是否成功

python
import torchvision
print(torchvision.__version__)

不报错即可安装成功

7、安装paddle

下载paddle预编译包 下载链接
在这里插入图片描述
建议下载3.0版本旧版本2.5实测有的时候会与pytorch发生冲突报错
执行以下命令安装

pip3 install paddlepaddle_gpu-3.0.0b1-cp38-cp38-linux_aarch64.whl(注:这一部分根据自己的包名修改~)

验证安装

python
import paddle
paddle.fluid.install_check.run_check()

如果出现 Your Paddle Fluid is installed successfully!,说明您已成功安装。

8、安装Pyqt5

在jetson等arm64为嵌入式边缘计算平台上无法直接通过pip install pyqt5进行安装,只能通过源码编译来进行安装。
sip下载
pyqt下载
1.下载依赖qmake工具链

sudo apt-get install qt5-default

2、安装编译所需软件包

sudo apt-get install cmake gcc g++
pip3 install --upgrade pip
pip3 install wheel setuptools

3、编译sip包

tar zxvf sip-4.19.25.tar.gz
cd ./sip-4.19.25
python configure.py --sip-module PyQt5.sip
 sudo make
 sudo make install

4、编译pyqt5

tar zxvf PyQt5-5.15.2.tar.gz
 cd ./PyQt5-5.15.2
python configure.py
sudo make -j4 
sudo make install

即可安装完成

9.mmcv安装

在jetson无法直接pip安装会一直卡在建轮子那,因此需要从源码进行安装,官网教程

git clone https://github.com/open-mmlab/mmcv.git
cd mmcv
pip install -r requirements/optional.txt

因为orin nano内存较小,又因为ninja是调用全部内存进行加速安装,用在jetson上会爆内存出现问题,因此卸载ninja

pip uninstall ninja

输入以下代码进行安装

pip install -e . -v

这里时间巨长无比,约为1-2小时,看电脑性能。

博客参考

1、Nvidia Jetson AGX Orin 64G深度学习环境配置的超详细教程
2、Jetson Nano (aarch64)搭建miniconda 和mmdetection环境
3、ValueError: Unknown CUDA arch (8.7+PTX) or GPU not supported
4、教你如何在三步内Jetson系列上安装PaddlePaddle
5、ARM64平台jetson nano上安装PyQt5环境

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值