前に書いたように、Watson Machine Learning(ML)にデプロイするモデルを作るには、TensorFlowとKerasの特定のバージョンを使う必要があります。
Jetson nanoでモデルを作って、Watson MLにデプロイしたいと思うのですが、TensorFlow 1.15とKeras 2.2.5の環境がなかったので、それを作りたいと思います。
Jetson nanoにはあらかじめAnyenvとPyenvをインストールし、PythonとJupyter Notebookの環境ができています。
ただ、環境構築時にPython 3.7をインストールしてしまいました。どうやらJetson nanoにTensorFlow 1.15をインストールするには、Python 3.6の環境が必要そうなので、下記のコマンドでインストールします。
pyenv install 3.6.10
pyenv local 3.6.10
pyenv local
コマンドで、特定のディレクトリ(私の場合は/home/{username}/dev
です)配下で使用するPythonのバージョンを指定しています。
次に、pipのアップグレードを行います。
pip install --upgrade pip
TensorFlowをインストールするには、様々なパッケージが必要になるので、あらかじめ導入しておきます。
pip install --upgrade numpy grpcio absl-py py-cpuinfo psutil portpicker six mock requests gast h5py astor termcolor protobuf keras-applications keras-preprocessing wrapt google-pasta
いよいよTensorFlowのインストールです。Jetson nanoでは、最初にUbuntu環境を構築する際にJetpackが導入されています。Jetson nanoのGPUをTensorFlowで使うためには、このJetpackのバージョンに合わせたTensorFlowのインストールが必要です。
私のJetson nanoは5月くらいに環境構築したので、現時点で最新のJetpack 4.4になっています。そのため、下記のコマンドでJetpack 4.4に対応したTensorFlowをインストールします。
pip install https://developer.download.nvidia.com/compute/redist/jp/v44/tensorflow/tensorflow-1.15.2+nv20.4-cp36-cp36m-linux_aarch64.whl
TensorFlowのインストールが終わったら、Kerasをバージョン指定した形でインストールします。
pip install keras==2.2.5
Jupyter Notebookを入れ直す
先ほど紹介した記事でJupyter Notebookの環境を作っていますが、Python 3.7上で構築したので、今回のPython 3.6の環境では動作しません。そこで、Python 3.6上で再度Jupyter Notebookをインストールします。
pip install jupyter notebook
これでWatson MLにデプロイできるモデルが作成できるはず。この環境でモデルを作成してデプロイできたら、また状況を書いていきたいと思います。