SSブログ

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

NVIDIAからワンボードの人工知能開発用ボード「JETSON NANO」が発売されました。
お値段13000円くらいで、販売が終了したTK1よりも高性能です。しかも安い!!
TK1だとセッティングのためにはUBUNTUが動作する母艦PCが必要だったんですが、NANOには必要ありません。単純なワンボードPCとしても性能は悪くないですし、すごいヤツです。

おかげで、これまでGPU演算ライブラリを使って人工知能を勉強しようと思ってもそれなりに敷居は高かったのですが、ずいぶん低くなりました。

 で、私が使っていた人工知能フレームワークtorchもメンテナンス状態ということで新しい機能の追加はストップしていますので、Pytorchに移行することにしました。
 
※7月時点での補足があります!!
 7月に追加した情報も読んでからインストールしてください!!!

◆Pytorchのインストール前の準備
最初にPIP3とgitを使えるようにする
sudo apt install python3-pip git
※注意:この他にもPytorchのインストールに必要なライブラリが抜けているかもしれません。
 適宜必要なライブラリをインストールしてください。

◆Pytorchのインストール手順
各種ファイルのアーカイブファイルのダウンロードをする
wget https://nvidia.box.com/shared/static/veo87trfaawj5pfwuqvhl6mzc5b55fbj.whl -O torch-1.1.0a0+b457266-cp36-cp36m-linux_aarch64.whl

Python3で使えるようにインストールする
pip3 install numpy torch-1.1.0a0+b457266-cp36-cp36m-linux_aarch64.whl

これで、python3からPytorchが使えるようになるはずです。


以下のテストプログラムを実行して問題なければPytorchはインスールされています。
import torch
print(torch.__version__)
print('CUDA available: ' + str(torch.cuda.is_available()))
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))

bbb2.png

画像では自分が使いやすいようにIpyhon3をインストールして、そこからPython3を使っています。

人工知能フレームワークの勉強で数値データをメインに扱うだけならここまででも大丈夫ですが、やはりそれでは物足りなくなります。データセットの入手や画像処理ができるtorchvisionもインストールしましょう。
torchvisionをインストールしないとJPEG画像を読み込んで、そこからtensorに一気に変換したりということが出来ません。いちいちnumpyやらを経由させる必要が出てきて面倒になりますので、画像処理をやってみたい人はtorchvisionのインストールは必須です。

●torchvisionのインストール
インストール用ファイルのダウンロード
git clone https://github.com/pytorch/vision

ダウンロードしたディレクトリに移動
cd vision

python3へインストール実行
sudo python3 setup.py install

これで、エラーが出なければ良いのですが私の場合にはエラーが出たんです。

torchvisionは、Pillowに入っているPILを使います。Pillowを使えるようにしないと、画像処理の便利なコマンドが使えません。しかもpip3 install pillow --userとかやってもインストールできなかったりします。

 そんなときには

sudo apt-get install libjpeg-dev

 として、jpeg関係のライブラリをインストールしてください。
 pillowは外部の画像処理ライブラリを呼び出しているので、それがないと動かないのです。
 
 これでpython3を起動して、import torchvisionとしてエラーが出なければ大丈夫です。

 参考URL
NVIDIAの公式サイト
https://devtalk.nvidia.com/default/topic/1049071/pytorch-for-jetson-nano/

======================
●2019/07/14 補足
 nVIDIAの公式サイトの情報は、結構な頻度で変わっています。
 私がインストールしたときには、 libjpeg-devの情報は記載されていませんでしたが、現在は記載されています。
 抜粋すると、以下のようになります。

 ●python3.6にpytorch1.1をインストールする
 WGETとPIP3でインストールします。
wget https://nvidia.box.com/shared/static/j2dn48btaxosqp0zremqqm8pjelriyvs.whl -O torch-1.1.0-cp36-cp36m-linux_aarch64.whl
pip3 install numpy torch-1.1.0-cp36-cp36m-linux_aarch64.whl

 ●torch visionをインストール
(1)まず画像等の変換作業に必要な他の関連するライブラリーをインストール
sudo apt-get install libjpeg-dev zlib1g-dev

(2)必要なファイルを、torchvisonというフォルダーを作成してgitでダウンロードする
git clone -b v0.3.0 https://github.com/pytorch/vision torchvision

(3)torchvisionのフォルダーに移動
cd torchvision

(4)Python3で設定ファイルを読み込ませて実行(実質的なインストール作業)する
sudo python3 setup.py install

(※公式サイトでは、「python3」ではなく、ver2.7である「python」と記載されていますが、それだとpython3を使う場合には不整合が起こると思います)


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

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

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