以下のバージョンの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の環境構築
- Mask RCNNをJupyterで開く
git clone https://github.com/matterport/Mask_RCNN
cd
Mask_RCNN
/samples
pip
install
jupyter
jupyter notebook - チュートリアルを進めつつ、必要なパッケージをインストール
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
- 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も試してみたいと思います。
乞うご期待ください。