Tagbangers Blog

JetsonTX2で1から環境を整え、Mask RCNNを動かすまで。

以下のバージョンのJetsonTX2で、Mask RCNNを動かすまでの環境構築のメモです。
CUDA 9.0
cuDNN 7.0.5


Jetsonには元からsshが入っているので、手元のPCでssh接続して作業を進めていく。
まずはデスクトップUI環境を入れるため以下を実行。

ssh nvidia@[IPアドレス]
cd NVIDIA-INSTALLER/
sudo ./installer.sh


再起動後、ブルースクリーン以外何も表示されなかったため、以下を実行。

sudo dpkg --configure -a
sudo apt-get update
sudo apt-get upgrade -y
sudo reboot

(※参考:http://kato-robotics.hatenablog.com/entry/2018/01/14/011000)


ここからJetpackをインストール

chmod +x JetPack-L4T-3.1-linux-x64.run
./JetPack-L4T-3.1-linux-x64.run

(※参考:http://dfukunaga.hatenablog.com/entry/2017/09/02/220629)

なお、僕の環境では

Error: JetPack must be run on x86_64 HOST platform. Detected aarch64 platform.

のエラーにより実行することができなかったので、WindowsにUbuntuをインストールし、環境を移すことで解決した。


必要なパッケージをインストール。

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev liblapack-dev libblas-dev python-dev libjpeg8-dev


pyenvでPythonの環境を整える。

git clone https://github.com/yyuu/pyenv.git ~/.pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
source ~/.bashrc
pyenv install 3.5.2
pyenv global 3.5.2

(※参考:https://deepage.net/tensorflow/2017/01/17/how-to-install-tensorflow.html)


pipをインストール。

curl -kL https://bootstrap.pypa.io/get-pip.py | python


Tensorflowのインストール

ここから自分の環境にあったWheelsファイルを落としてくる。

pip install tensorflow-1.8.0-cp35-cp35m-linux_aarch64.whl


OpenCVのインストール

以下でOpenCV3.4をビルド。

git clone https://github.com/jetsonhacks/buildOpenCVTX2
cd buildOpenCVTX2
./buildOpenCV.sh


Mask RCNNの環境構築

  1. Mask RCNNをJupyterで開く
    git clone https://github.com/matterport/Mask_RCNN 
    cd Mask_RCNN/samples
    pip install jupyter
    jupyter notebook
  2. チュートリアルを進めつつ、必要なパッケージをインストール
    pip install numpy
    pip install matplotlib
    pip install Cython
    pip install pillow
    pip install scipy
    pip install scikit-image
    pip install keras==2.1.6
    pip install imgaug
  3. https://github.com/cocodataset/cocoapiをクローン
    cd cocoapi-master/PythonAPI
    python setup.py install

(※参考:https://ai-coordinator.jp/mask-r-cnn)


GPUの使用率の確認方法

GPUの使用率は

sudo ./tegrastats

でわかる(一番右側の%表示のところがGPUの使用率)。


結末。

結局、画像1枚程度なら認識させることができましたが、付属のカメラモジュールを用いて動画を認識させようとすると、
ResourceExhaustedErrorでOutOfMemoryを引き起こしてしまい、MaskRCNNを動かすには至りませんでした。
なので、次はfacebookのDetectronも試してみたいと思います。
乞うご期待ください。