Jetson NX 配置 pytorch

Jetson NX 配置pytorch

参考文档

备注:参考博客最后安装的pytorch无法使用cuda-----目前没找到原因,不知如何解决。
但是官方的教程没问题!

环境情况:

  1. 系统JetPack 5.0.2 --ubuntu20.04

配置流程

  1. 安装miniconda(流程省略)
  2. conda create -n pytorch python=3.8

安装pytorch

  1. sudo apt-get -y update;

  2. 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;

  3. sudo apt-get install python3-pip libopenblas-base libopenmpi-dev

  4. conda activate pytorch

  5. pip3 install Cython

  6. 添加环境变量

    export PATH=/usr/local/cuda/bin:$PATH

    export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

    export CUDA_ROOT=/usr/local/cuda

  7. export TORCH_INSTALL=https://developer.download.nvidia.cn/compute/redist/jp/v51/pytorch/torch-1.14.0a0+44dac51c.nv23.02-cp38-cp38-linux_aarch64.whl

  8. 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

torchvision

sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libopenblas-dev libavcodec-dev libavformat-dev libswscale-dev
git clone --branch <version> https://github.com/pytorch/vision torchvision   # see below for version of torchvision to download
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
pip install 'pillow<7' # always needed for Python 2.7, not needed torchvision v0.5.0+ with Python 3.6

版本对应如下:
PyTorch v1.0 - torchvision v0.2.2
PyTorch v1.1 - torchvision v0.3.0
PyTorch v1.2 - torchvision v0.4.0
PyTorch v1.3 - torchvision v0.4.2
PyTorch v1.4 - torchvision v0.5.0
PyTorch v1.5 - torchvision v0.6.0
PyTorch v1.6 - torchvision v0.7.0
PyTorch v1.7 - torchvision v0.8.1
PyTorch v1.8 - torchvision v0.9.0
PyTorch v1.9 - torchvision v0.10.0
PyTorch v1.10 - torchvision v0.11.1
PyTorch v1.11 - torchvision v0.12.0
PyTorch v1.12 - torchvision v0.13.0
PyTorch v1.13 - torchvision v0.13.0
PyTorch v1.14 - torchvision v0.14.1
PyTorch v2.0 - torchvision v0.15.1
PyTorch v2.1 - torchvision v0.16.1
PyTorch v2.2 - torchvision v0.17.1
PyTorch v2.3 - torchvision v0.18.0

测试结果

>>> 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__)

配合repvgg的部署

  1. pip install opencv-contrib-python
  2. pip install matplotlib
  3. pip install torchvision

注意注意!!!这里会出现一个非常恶心的错误:pip install torchvision的执行会自动安装某一个版本的torchvison一般默认是最新版本,而最新版本并不适合我们上面选择的pytorch版本,这会导致 print('CUDA available: ' + str(torch.cuda.is_available())) 输出False

如果出现安装torchvision后,torch.cuda.is_available()输出为False,那么pip install torchvision==0.15.0

其他问题

报错:

ImportError: cannot import name ‘PILLOW_VERSION’ from ‘PIL’ (/home/jiajie/anaconda3/envs/py35/lib/python3.7/site-packages/PIL/init.py)

解决:
pip index versions pillow or conda search pillow
pip3 install pillow==6.2.0

警告:

UserWarning: Failed to load image Python extension:
warn(f"Failed to load image Python extension: {e}")

解决:
没解决,据说是pytorch版本太高,或者是pytorch与torchvision版本不契合

pytorch版本与jetpack的选择

安装pytorch 中第7步,不同版本的jetpack需要根据情况修改版本,

在这里插入图片描述

在这里插入图片描述

https://developer.download.nvidia.com/compute/redist/jp
选择指定的版本以后复制网页url后替换第7步

非官网的帖子里提供了一些pytorch安装包

帖子:PyTorch for Jetson

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值