いまさらですが、2017年のサハリンでの出来事を報告します。 [サハリン・バイクツーリング]
すごく今更なんですが、2017年にサハリンに行ったときの報告をしていこうと思います。
そもそもなんで2年も経った今頃かというと、なんというかたまたまちょっとだけお仕事でロシアやら人工知能やらに関わることがあって、プライベートと仕事を分けてブログに書き込むことが面倒になったためです。
今は、ロシア関係と人工知能関係のどちらも落ち着きましたので、やっと再開できたという感じです。
●2017年のサハリン行きのきっかけ
そもそもは、バイクでサハリンに渡った2度目の年、2015年に始まります。
私が友人とバイクで渡った2013年、途中でホンダのアフリカツインに乗った現地のロシア人の方(名前はセルゲイさん)から話しかけられたのがきっかけです。
200キロ位一緒にバイクで走ったりして、それはそれで面白かったんですが、結局その年はそれで終わりました。
で、2回目の2015年にサハリンにバイクで渡ったときにも、これまた白鳥湖のあたりでこれまた偶然にセルゲイさんと再開し、ひょっとしてまた会えるんじゃないかなと思って用意していたおみやげを渡したわけです。で、セルゲイさんからは持っていたランチをごちそうしてもらったりして、じゃあせっかくだから一緒にご飯でも食べようよ、と話をしたんですがお互いにスケジュールが合わず、とにかく電話番号とメールアドレスの交換をして別れたんです。
で、本当に時々ショートメッセージで新年のお祝いくらいをやり取りしていたんですけど、2017年に「今年はサハリンに来ないの?」というメッセージをもらったことをきっかけに…
友人と「じゃあ行ってみるか?」ということで、「友達と昨日電話して相談した。サハリンに行くことに決めたよ」という連絡をしてサハリンに行くことになったのが2017年だったんです。
稚内とサハリンのフェリーも運行が終了し旅客船だけの運行に切り替わっていましたし、もうバイクでは行けなかったので飛行機で行くことにしました。
友人と二人して成田からヤクーツク航空でサハリン入りしたわけですが、もう私は仕事も含めると5回目、友人も旅行だけで3回目(しかも友人の場合には初めての飛行機でのサハリン入り)だったので、なんというか慣れた感じでした。
どうせツアーについているホテルまでの送迎車もついてましたし。
そんなわけで、2017年のサハリン旅行が始まったのです。
そもそもなんで2年も経った今頃かというと、なんというかたまたまちょっとだけお仕事でロシアやら人工知能やらに関わることがあって、プライベートと仕事を分けてブログに書き込むことが面倒になったためです。
今は、ロシア関係と人工知能関係のどちらも落ち着きましたので、やっと再開できたという感じです。
●2017年のサハリン行きのきっかけ
そもそもは、バイクでサハリンに渡った2度目の年、2015年に始まります。
私が友人とバイクで渡った2013年、途中でホンダのアフリカツインに乗った現地のロシア人の方(名前はセルゲイさん)から話しかけられたのがきっかけです。
200キロ位一緒にバイクで走ったりして、それはそれで面白かったんですが、結局その年はそれで終わりました。
で、2回目の2015年にサハリンにバイクで渡ったときにも、これまた白鳥湖のあたりでこれまた偶然にセルゲイさんと再開し、ひょっとしてまた会えるんじゃないかなと思って用意していたおみやげを渡したわけです。で、セルゲイさんからは持っていたランチをごちそうしてもらったりして、じゃあせっかくだから一緒にご飯でも食べようよ、と話をしたんですがお互いにスケジュールが合わず、とにかく電話番号とメールアドレスの交換をして別れたんです。
で、本当に時々ショートメッセージで新年のお祝いくらいをやり取りしていたんですけど、2017年に「今年はサハリンに来ないの?」というメッセージをもらったことをきっかけに…
友人と「じゃあ行ってみるか?」ということで、「友達と昨日電話して相談した。サハリンに行くことに決めたよ」という連絡をしてサハリンに行くことになったのが2017年だったんです。
稚内とサハリンのフェリーも運行が終了し旅客船だけの運行に切り替わっていましたし、もうバイクでは行けなかったので飛行機で行くことにしました。
友人と二人して成田からヤクーツク航空でサハリン入りしたわけですが、もう私は仕事も含めると5回目、友人も旅行だけで3回目(しかも友人の場合には初めての飛行機でのサハリン入り)だったので、なんというか慣れた感じでした。
どうせツアーについているホテルまでの送迎車もついてましたし。
そんなわけで、2017年のサハリン旅行が始まったのです。
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))
画像では自分が使いやすいように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を使う場合には不整合が起こると思います)
お値段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))
画像では自分が使いやすいように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を使う場合には不整合が起こると思います)