Jetson NX 配置pytorch
参考文档
备注:参考博客最后安装的pytorch无法使用cuda-----目前没找到原因,不知如何解决。
但是官方的教程没问题!
环境情况:
- 系统JetPack 5.0.2 --ubuntu20.04
配置流程
- 安装miniconda(流程省略)
- conda create -n pytorch python=3.8
安装pytorch
-
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;
-
sudo apt-get install python3-pip libopenblas-base libopenmpi-dev
-
conda activate pytorch
-
pip3 install Cython
-
添加环境变量
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export CUDA_ROOT=/usr/local/cuda
-
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
-
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的部署
pip install opencv-contrib-python
pip install matplotlib
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步