天天看點

TX2 Jetpack4.3安裝pytorch1.4.0+torchvision0.5.0

标題TX2 Jetpack4.3安裝pytorch1.4.0+torchvision0.5.0

1. 檢視安裝的jetpack版本

sudo pip3 install jetson-stats
sudo jtop
           

然後選擇5-INFO(鍵盤按5) 就可以清楚看到 Jetpack 版本,還有其他的硬體資訊;

2. 根據jetpack版本檢視支援的pytorch版本

由于TX2是arm架構,是以在pytorch官網無法安裝,目前清華源好像有1.8.0和1.8.1版本的pytorch(感謝蘋果M1帶動arm行業發展?)

首先可以去pytorch for jetson 官網檢視所需版本,如下圖:

TX2 Jetpack4.3安裝pytorch1.4.0+torchvision0.5.0

選擇下載下傳需要的版本,我的是jetpack4.3版本,選擇了Python 3.6 - torch-1.4.0-cp36-cp36m-linux_aarch64.whl

由于不可描述的原因,下載下傳很慢,直接失敗,下面推薦百度雲下載下傳[連結]提取碼:5j45 (https://pan.baidu.com/s/11oSQ1n-mOGAx8BOVDiEx9w) ,有條件的直接在官網下載下傳新的,我之前也是下載下傳别人的1.4.0安裝之後報錯 “非法指令(核心已轉儲)”表示版本不對應;

下載下傳之後直接pip安裝即可。

TX2 Jetpack4.3安裝pytorch1.4.0+torchvision0.5.0

3. 安裝torchvision

$ sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev
$ git clone --branch v0.5.0 https://hub.fastgit.org/pytorch/vision torchvision   # see below for version of torchvision to download
$ cd torchvision
$ export BUILD_VERSION=0.5.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

           

先修改對應的版本,具體對應關系見下圖:

TX2 Jetpack4.3安裝pytorch1.4.0+torchvision0.5.0

4. 測試

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

沒有報錯安裝成功了!

下面是我安裝成功後的 pip list 各包的版本

appdirs             1.4.4
certifi             2020.12.5
chardet             4.0.0
cmake               3.18.4.post1
Cython              0.29.23
distlib             0.3.1
filelock            3.0.12
idna                2.10
importlib-metadata  3.7.3
importlib-resources 5.1.2
numpy               1.19.3
opencv-python       3.4.13.47
pbr                 5.5.1
Pillow              6.2.2
pip                 21.0.1
requests            2.25.1
setuptools          49.6.0.post20210108
stevedore           3.3.0
torch               1.4.0
torchvision         0.5.0
typing-extensions   3.7.4.3
urllib3             1.26.4
virtualenv          20.4.3
virtualenv-clone    0.5.4
virtualenvwrapper   4.8.4
wheel               0.36.2
zipp                3.4.1

           

5. 關于報錯

>>> import torch
非法指令 (核心已轉儲)

           

安裝了不合适版本的torch,同樣的安裝不合适版本的numpy也會報錯;

另外,我再編譯torchvision的時候最後停下了,大概是這個樣子:

Installed /home/nvidia/.local/lib/python3.6/site-packages/torchvision-0.5.0-py3.6-linux-aarch64.egg
Processing dependencies for torchvision==0.5.0
Searching for pillow>=4.1.1
Reading https://pypi.org/simple/pillow/
Downloading https://files.pythonhosted.org/packages/84/96/16ae48ded4a14a47bfceba39627625a91f1fb66e6d2d2214d5317f105cce/Pillow-8.2.0-cp36-cp36m-manylinux2014_aarch64.whl#sha256=c5236606e8570542ed424849f7852a0ff0bce2c4c8d0ba05cc202a5a9c97dee9

           

應該是安裝pillow庫的網絡有問題,重新執行指令即可!

繼續閱讀