今まで TensorflowやDeepLearningの環境として Windows10にGTX1070 SLIや RaspberryPiに Movidius Neural Compute Stickなどを使ってました。
ただ、どうしても WindowsでPythonの環境が使いにくかったり、Movidius NCSは学習させる時間がなど一長一短。
もっとnVIDIAのCUDAを手軽に使ってTensorFlowやDeepLearningしたいということで nVIDIA JETSON NANO 2Gを購入しました。
Table of Contents
nVIDIA JETSON NANO 2G
nVIDIA JETSON NANO 2Gは、nVIDIAのシングルボードコンピュータでGPUを搭載してCUDAが使用できます。
JETSON NANOは、メモリーが4GBでUSBポートが豊富に用意されていますが、2Gモデルは メモリーが2Gになっており USB3.0が1つ、USB2.0が2つ、RaspberryPi カメラポートが1つになっています。
目的はGPUでTensorflowの実行環境を構築することでしたので、JetSon Nanoで十分という判断です。
※)記事中も JetSon Nano と記述します。
Jetson Nanoセットアップ
JetSon Nanoのセットアップは、RaspberryPiのセットアップと大きくは変わりません。
セットアップ方法は、公式サイトに載っています。
公式サイトから OSのイメージを取得して、microSDに書き込んでHDMI,マウス,キーボードを接続して起動すると初期設定がはじまります。
本格的に使う前に追加の装備
最初はJetSon Nanoをそのまま使っていましたが、ちょっとした演算をすると特徴的な放熱フィンが触れないほど熱くなります。
内部温度も50度くらいまで上がっているようです。
この状態で長時間使用するのは寿命を縮めることにもなりそうですので、本格的に使う前に冷却ファンを追加しました。
JetSon Nanoには、メインボードの接続コネクターの近くに冷却ファン用のジャンパー(J15)が用意されています。
ここに40mmの大きさの4pin 5Vタイプの冷却ファンを接続します。
ただ、JetSon Nanoの放熱フィンが特殊な形状なので、冷却ファンをネジ止めするのに結構苦労しました。
セットアップで一番苦労するのは、この冷却ファンの取付かもしれません。
JetSon Nano 冷却ファンのコントロール
冷却ファンを取り付けただけでは、ファンは回転しません。
OSが起動したら次のコマンドでファンを制御する必要があります。
1 2 3 | # 冷却ファンの状態を取得 (0~255) cat /sys/devices/pwm-fan/target_pwm 0 |
初期状態では冷却ファンは停止しており、値は 0 になります。
冷却ファンを回転されるには、次のコマンドを実行します。
1 2 3 4 5 6 7 8 9 | # Jetson Nano 冷却ファンの制御 # 冷却ファンを停止する sudo sh -c 'echo 0 > /sys/devices/pwm-fan/target_pwm' # 冷却ファンを 50% の速度で回転させる sudo sh -c 'echo 128 > /sys/devices/pwm-fan/target_pwm' # 冷却ファンを 100% の速度で回転させる sudo sh -c 'echo 255 > /sys/devices/pwm-fan/target_pwm' |
毎回コマンドを入力するのも面倒なので、起動時に50%の速度で回転するように設定してあります。
VisualStudio Codeをインストール
ターミナルで使う分には emacs や vim で十分なのですが、GUI画面でつかうとなると VisualStudio Code(VScode)などが欲しくなります。
Jetson NanoはARMベースですので、VScodeを使うには、以下のコマンドを実行してインストールします。
1 2 3 4 5 6 | $ cd /tmp $ wget -O insider.deb https://update.code.visualstudio.com/latest/linux-deb-arm64/insider $ sudo apt install ./insider.deb ↓ 最後に起動しやすいように code-insiders を vscode にリネーム $ sudo mv /usr/bin/code-insiders /usr/bin/vscode |
GUI画面で起動したらランチャーに貼り付けておけば、簡単に起動できます。
これで JetSon Nanoを使う準備ができました。
TensorFlowの環境などを整備して、本格的な環境に仕上げていきます。
ただ、噂によると JetSon Nanoは、予測は高速化するものの 学習フェーズはそれほどの速度は期待できないとのこと。
学習フェーズは Windows GTX1070 SLIなどで実行して、予測をJetSonで連続で行うという使い方になっていくかもしれません。