0.はじめに
Jetson Nano持ってないのに、勝手に敬愛してる鶴長さんとからあげさんが著者なので、発売直後にNano本購入しました
Jetson-Nano超入門
調べてみると、この本に出てくるJetPack4.3は、なんと最近すっかり出番のなくなった我が家のJetson TX1にも対応していることが判明!Nano本ありがとう!!
NanoみたいにSD Card Flashでブート....って程簡単じゃないけど、以前のJetPackに比べたら数段インストールが楽になっていました。ただ TensorflowやKeras動かそうとすると以前同様苦労したので、TX1持っていて使っていない人の参考にKeras動かすまでのメモです。
1.JetPack導入
JetPack導入手順は英語ですが以下に説明されています。
Quick Start Guide
Nanoと違ってUbuntu16.04 or 18.04が動作するHOSTが必要です。
You have a host computer that is running Ubuntu (Linux) version 16.04 or 18.04.
今回は18.04で行いました。
(1)HOSTにSDK Manager導入
これは上記Quick Start Guideのままやれば良いので省略します。
(本当はINSTALLした時にスクショとってなかったので)
(2)HOSTにSDK ManagerからINSTALL
(1)で導入したSDK ManagerをGUIから起動します。
NVIDIA Developerアカウントを入れると以下のSTEP.1画面になるので、ターゲット(TX1)などを指定してインストール開始します。
STEP.2画面でINSTALL対象ソフトを選択します(ここでは全部選択)。
デフォルトでAutomatic Setupになっているので Manual Setupに変更します。
(ここもスクショ忘れました:p)
画面指示にあるように、HOST-TX1間をMicro USBケーブルで接続し、TX1をリカバリーモードで起動してINSTALL続行する必要があります。
リカバリーモードのSW位置は以下の図が参考になります。
TX1リカバリーモード参考
TX1側はFlashが終わると再起動してUbuntuインストーラが起動し、通常のUbuntuインストール時の画面が表示されます。
ここでユーザ(この例ではkenzo)などを設定します。
HOST側はTX1へのFlashが終わると以下画面で待ちに入るので、TX1に登録したユーザ名を入れます。
ここまでくるとMicro USBケーブルを外してHOSTの役目は終了です。
2.Tensorflow2.0導入
Nano本に書かれているいろんなツールも楽しいのですが、せっかくのGPUボードなので TensorFlowを使えるようにします。
Jetson Nano用に.whlからtensorflowを導入する記事があるので、これを参考に。
Jetson Nano への.whl(wheel)を用いたTensorflow install 手順
(1)まずはpip3とh5py導入
Ubuntu18.04にはpython3は入っていますがpip3がはいってないので aptでpip3を入れてUpdateしておきます。
またインストール中のh5pyエラーを回避するため先にh5pyを入れておきます。
コードはこんな感じ。
sudo apt install python3-pip
sudo pip3 install --upgrade pip
sudo apt-get install libhdf5-serial-dev hdf5-tools
sudo pip3 install h5py
(2)Tensorflow.whlのURLを調べて pip3 install
以下のサイトにJetson用Tensorflowパックがあるので導入するwhlのURLを調べます。
Jetson Download Center
そのURLを pip3 installの引数にして実行。今回はこんなURL。
sudo pip3 install https://developer.download.nvidia.com/compute/redist/jp/v43/tensorflow-gpu/tensorflow_gpu-2.0.0+nv20.1-cp36-cp36m-linux_aarch64.whl
色々依存パッケージもINSTALLされて時間かかります。
(3) Tensorflow 確認
tensorflow2.0が使えるようになりました。
REPLで以下を入れればGPU利用も確認できます。
>>> from tensorflow.python.client import device_lib
>>> device_lib.list_local_devices()
(4)tf.keras確認
tensorflow2.0なのでそのままでもkerasは使えます。
>>> model = tf.keras.models.Sequential()
>>> type(model)
3.Keras導入
せっかくなので従来のKerasも入れてみます。
(1)まずはscipyを用意
scipyの通常インストール(コンパイルにfortran使うやつ)はうまく行かなかったので、scipyもパッケージで入れます。
sudo apt-get install python3-scipy
(2)kerasをユーザモードで導入
pip3 install keras --user
(3)確認
あとは以下のようなKerasサンプルをやってみて動作確認すればOKです。
KerasでMNIST分類問題をCNNで解く
TX1が復活しました