上篇博客两天了浏览量还是0~不过仍然要写一下记录下自己为jeston NX配置环境的历程。

首先放出别的参考博客链接:

NVIDIA JETSON XAVIER NX (三)安装Pytorch和torchvision_小可同学呀的博客-CSDN博客

NVIDIA Jetson Xavier NX安装pytorch - 哔哩哔哩

(亲测成功)NVIDIA Jetson NX 安装Miniconda以及Pytorch1.7_d597797974的博客-CSDN博客

NVIDIA Jetson NX配置深度学习环境(Pytorch、torchvision)超级详细,torchvision安装避坑总结 - 灰信网(软件开发博客聚合)

以上多个参考博客笔者一一试过,都有或多或少的问题

最最关键-----版本对应
Python、pytorch、torchvision,甚至是numpy(笔者未管)

一、官网下载pytorch,注意是NVIDIA的,不是pytorch的

PyTorch for Jetson - version 1.9.0 now available - Jetson Nano - NVIDIA Developer Forums

翻墙下载也挺快,别人有CSDN骗积分的

版本对应,pytorch和torchvision要对应,这俩要和Python版本对应

二、犯错之路----正式工作前的提醒

笔者最后安装Python3.6.9,pytorchv1.8, torchvision v0.9.0成功

笔者第一次:

安pytorch v1.5、torchvision v0.6.0  ,安torchvision报错segmentation fault---无解,版本原因

笔者第二次:

安pytorch v1.6、torchvision v0.7.0  import error报错bus error----无解,因为版本原因

怀疑过磁盘空间不足,df -lh查看,更换版本后消失

中间其他错误

OSError: libmpi_cxx.so.20: cannot open shared object file: No such file or directory

版本不对应时还出现过此问题

解决方案:

登入  https://pkgs.org/网站,在右上角的搜索框中输入libmpi_cxx.so.20,然后下载libopenmpi2_2.1.1-8_arm64.deb。

dpkg -i libopenmpi2_2.1.1-8_arm64.deb

提示下列错误或是相关包版本不对:

 继续上网站https://pkgs.org/search/?q=libhwloc5搜libhwloc5----这里问女票才找到---吼吼吼

同样dpkg -i安装

最终正确安装的pytorch1.8,torchvision 0.9.0也报错

pytorch正确安装,torchvision 0.9.0版本也报了错,手动屏蔽了部分才编译成功

该处报错jpeg_mem_dest函数这有问题,找到用这的函数的地方也就是那个cpp文件,屏蔽这个函数重新安装--成功,试了试改但没改对,屏蔽可以,不知道使用起来有什么后果----暂时不管虽然可能是坑

 三、正文---安装流程,看过二、之后再来做3比较好,否则都是无用功

3. 安装
当下载好pytorch的whl文件之后,直接用在下载目录用命令安装

# 这里示例是v1.8.0版本

pip3 install numpy torch-1.8.0-cp36-cp36m-linux_aarch64.whl

这里需要注意的是,默认下载的numpy是最新版本(我的是1.19.5),最新版本的numpy会出现指令不兼容的问题,所以会导致非法指令的问题:

这样我们最好将numpy的版本降级,这样就能解决这个问题

# v1.19.3版本可用
pip install numpy==1.19.3

安装好了pytorch之后,就是对应的视觉库torchvision了,我们在论坛上可以找到版本匹配表:

还是再安装对应的依赖库:

sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev

将github上大佬写好的torchvision库clone我们本地来

# torch1.8--torchvision0.9
git clone --branch v0.9.0 https://github.com/pytorch/vision torchvision
# 这里由于网络不稳等问题,我使用gitee进行clone
git clone --branch v0.9.0 https://gitee.com/rchen1997/torchvision torchvision

下载结束后,进入torchvision文件内进行安装:

cd torchvision
export BUILD_VERSION=0.x.0  # where 0.x.0 is the torchvision version  
python3 setup.py install --user
cd ../  # attempting to load torchvision from build dir will result in import error

四、验证

>>> import torch
>>> print(torch.__version__)
>>> print('CUDA available: ' + str(torch.cuda.is_available()))
>>> print('cuDNN version: ' + str(torch.backends.cudnn.version()))
>>> a = torch.cuda.FloatTensor(2).zero_()
>>> print('Tensor a = ' + str(a))
>>> b = torch.randn(2).cuda()
>>> print('Tensor b = ' + str(b))
>>> c = a + b
>>> print('Tensor c = ' + str(c))
>>> import torchvision
>>> print(torchvision.__version__)

 成功~两天的配环境之路结束----抓紧拿faster-rcnn来试试。。。可能是分辨率太大帧率低死