Ubuntu18.10にOpenPoseをインストールするのになんかいろいろ手こずったためメモとして残しておく。
環境
CPU: Intel Core i7-8700
メモリ: 32GB
グラボ: RTX2080
OS: Ubuntu18.10 desktop
ちなみにグラボからの映像出力は行っていない。
グラボ関係のツールとかを入れる
グラボのドライバ, CUDA-toolkit, cuDNNを入れておく。
グラボドライバのインストール
https://www.nvidia.co.jp/object/unix-jp.html
こちらから”NVIDIA-Linux-x86_64-418.56.run”をダウンロードした。記事執筆時での最新版であるのでそこは適宜変えていただきたい。
インストールは実行権限を与えてから。
$ chmod +x NVIDIA-Linux-x86_64-418.56.run $ sudo ./NVIDIA-Linux-x86_64-418.56.run
きちんとインストールされたかを確認。
$ nvidia-smi Wed Apr 24 01:11:10 2019 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 418.39 Driver Version: 418.39 CUDA Version: 10.1 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 GeForce RTX 2080 Off | 00000000:01:00.0 Off | N/A | | 23% 37C P8 2W / 215W | 0MiB / 7952MiB | 0% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | No running processes found | +-----------------------------------------------------------------------------+
(このメッセージが表示されるということは)きちんとインストールされたことがわかる。
CUDAがインストールされていなければCUDAのところはN/Aと表示される。
CUDA-toolkitのインストール
次はCUDA-toolkitのインストール。ここから自分の環境(Ubuntu18.10)のrunファイルを落としてくる。debでもいいと思うけど。今回は10.1の最新版をダウンロード。
また同じように実行権限を与えて実行。
$ chmod +x cuda_10.1.105_418.39_linux.run $ sudo ./cuda_10.1.105_418.39_linux.run
PATH通せって出てきたので通してあげる。
$ echo -e "\n## CUDA and cuDNN paths" >> ~/.bashrc $ echo 'export PATH=/usr/local/cuda-10.1/bin:${PATH}' >> ~/.bashrc $ echo 'export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64:${LD_LIBRARY_PATH}' >> ~/.bashrc $ source ~/.bashrc
追記(2020/09/02)
Ubuntu 16.04環境に入れる必要があったのでその時のコマンドをメモとして。
CUDA Toolkit 11.0 Update 1 をダウンロード、インストールする方法は以下の通り。
$ wget https://developer.download.nvidia.com/compute/cuda/11.0.3/local_installers/cuda_11.0.3_450.51.06_linux.run $ sudo sh cuda_11.0.3_450.51.06_linux.run
cuDNNのインストール
以下のURLからダウンロードするが、登録が必要である。
https://developer.nvidia.com/rdp/cudnn-download
ちなみにネットの古い記事を見ていると少し古いバージョンのCUDAをインストールしたりとかしているが、今回の環境、とりわけこのRTX2080などのRTXシリーズは最新版CUDA+Ubuntu(Linux)でないと正常に動作しないらしい。というかWindowsでは動作しなかった。もうこの際だしとWindowsを消し飛ばした。さよなら。
こんな画面(2019/04/24)になると思う。これの
cuDNN Runtime Library for Ubuntu18.04 (Deb)
cuDNN Developer Library for Ubuntu18.04 (Deb)
cuDNN Code Samples and User Guide for Ubuntu18.04 (Deb)
をダウンロードした。
$ sudo dpkg -i libcudnn7_7.5.0.56-1+cuda10.1_amd64.deb $ sudo dpkg -i libcudnn7-dev_7.5.0.56-1+cuda10.1_amd64.deb $ sudo dpkg -i libcudnn7-doc_7.5.0.56-1+cuda10.1_amd64.deb
依存関係があるらしく、libcudnn7_7.5.0.56-1+cuda10.1_amd64.debを最初にインストールしてやらないといけなかった。
OpenCVも入れておく
公式ドキュメントにOpenCVも入れておけとか書かれていたので
https://github.com/CMU-Perceptual-Computing-Lab/openpose/blob/master/doc/installation.md
$ sudo apt install libopencv-dev
だるくてaptなんかでインストールしてしまったけど全然最新版でもなんでもないのであまりおすすめしない。
参考: Ubuntu16.04へのOpenCV 3.3.0インストールメモ
このへん読めばできると思う。
OpenPoseのインストール
cmakeが古いとインストールに失敗する
ここからが本題となる。
公式ドキュメントの通りにやったがうまくいかず、吐くエラーをググってもダメ。
結局失敗の一番大きな要因だったと思うのはcmakeのバージョンである。
aptでインストールしていた少し古いバージョンのcmakeを使っていたのだが、それがまずかったっぽい。Githubのissueにもそんなことが書いてあって「まさかな」って思って最新版のソースをダウンロードしてきてビルドしたらうまくいったっていう……。そこらへんのインストールはググって。
実際にインストール
実際にインストール手順は以下のURLを参考にした。
参考: Jetson Nano に Openpose 入れてみる
$ git clone https://github.com/CMU-Perceptual-Computing-Lab/openpose $ cd openpose $ sudo bash ./scripts/ubuntu/install_deps.sh $ mkdir build $ cd build $ cmake .. $ make -j4 $ sudo make install
これでうまくいった。
確認はデモ動かした。
kim@Kim-Desktop:~/openpose$ ./build/examples/openpose/openpose.bin --video examples/media/video.avi
映像が出てきてやってくれる。OKOK、疲れた。
ちなみにRTX2080で、実行中にnvidia-smiを見てやると、
kim@Kim-Desktop:~$ nvidia-smi Wed Apr 24 01:54:07 2019 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 418.39 Driver Version: 418.39 CUDA Version: 10.1 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 GeForce RTX 2080 Off | 00000000:01:00.0 Off | N/A | | 23% 47C P2 198W / 215W | 3267MiB / 7952MiB | 89% Default | +-------------------------------+----------------------+----------------------+
結構重たいことがわかる。RTX2080Tiにしておけばよかったか……?
とりあえずUbuntuでOpenposeのデモは動いた。そこから先はまだ執筆時では未検証であるので今後変更するかもしれない。
OpenPose関連記事
OpenPose for Unity で人の動きを二次元に落とし込む
OpenPoseのJSON形式をCSVに変換する
ピンバック:OpenPose for Unity で人の動きを二次元に落とし込む - Kim Biology & Informatics
ピンバック:【Python】GPyでガウス過程回帰と予測をやってみる - Kim Biology & Informatics
ピンバック:OpenPoseのJson形式をCSVに変換する - Kim Biology & Informatics