SSブログ

Pytorch1.6をJETSON NANOにインストールする [人工知能(ディープラーニング)]

人工知能フレームワークの変化は本当に激しくて、説明したインストール方法があっという間に使えなくなったりします。

 今回、JETSON NANOにPYTORCH1.6をインストールしようとしたところ、いくつかハマりましたので、またインストール方法を説明します。

 日本語のサイトでも説明はあるといえばあるのですが、なんかこう、モヤっとすることもあるので基本は公式サイトのインストール方法がいちばんです。
 ただし、nVIDIAの公式サイト情報も間違っていることもあるので、気をつけましょう…


 では、まずインストールの手順は
https://forums.developer.nvidia.com/t/pytorch-for-jetson-version-1-6-0-now-available/72048
ここで説明されている手順に従います。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーー
 JetPack 4.4 production release (L4T R32.4.3)

Python 3.6 - torch-1.6.0-cp36-cp36m-linux_aarch64.whl

The JetPack 4.4 production release (L4T R32.4.3) only supports PyTorch 1.6.0 or newer, due to updates in cuDNN.

This wheel of the PyTorch 1.6.0 final release replaces the previous wheel of PyTorch 1.6.0-rc2.

ーーーーーーーーーーーーーーーーーーーーーーーーーーーー
(1)インストール用ファイルをダウンロードします。
ここのtorch-1.6.0-cp36-cp36m-linux_aarch64.whlをクリックして、インストール用ファイルをダウンロードします。


(2)次にページの下の方にあるpython3.6用のインストール手順に従います。
 ですが、wget .......を実行すると、必要のないpytorch1.4をダウンロードしてしまうので、ここは無視します。
 しかも肝心のインストール手順ではやはりpytorch1.4のインストール手順なので、ここの手順も変更します。

 実際の手順は以下のようになります。

※必要な依存環境のインストール1
sudo apt-get install python3-pip libopenblas-base libopenmpi-dev

※必要な依存環境のインストール2
pip3 install Cython


■このままではPYTORCH1.4をインストールしてしまう手順を変更します→pip3 install numpy torch-1.4.0-cp36-cp36m-linux_aarch64.whl
※わかりやすいように2つの手順に分けます。
※必要な依存環境のインストール3
pip3 install numpy
※pytorch1.6のインストール
pip3 install torch-1.6.0-cp36-cp36m-linux_aarch64.whl

これでpytoch1.6のインストールは完了です。

で、さらにTORCHVISIONのインストールもします。
ここにハマるポイントがあります。

※依存環境のインストール
sudo apt-get install libjpeg-dev zlib1g-dev

公式サイトには 
→ git clone --branch <version> https://github.com/pytorch/vision torchvision
とありますが、pytorch1.6にはバージョン0.7.0のtorchvisionが必要なので、実際には以下のような書き方になります。
git clone --branch v0.7.0 https://github.com/pytorch/vision torchvision
■注意■
ここで--branch v0.7.0をつけないでgitするとインストール時にエラーが発生します。

■ディレクトリを移動
 cd torchvision

※バージョンの指定
 export BUILD_VERSION=0.7.0
※torchvision 0.7.0をインストール
 sudo python setup.py install

これでpytorch1.6のインストールが完了です。
以下のサンプルを実行してエラーがでなければ問題ありません。

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
####### torch1.6 sample ########
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))

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
####### torchvision 0.7.0 sample ########
import torchvision
print(torchvision.__version__)



torch16.png




nice!(0)  コメント(0) 
共通テーマ:学問

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。