遅いですが手元でOpenPoseを動かしてみました。
腕の角度とか取得できるんだろうか…?(今回はここまでいってません)
目次
Ubuntu
anacondaインストールしてJupyter Notebookをインストールする
いろんな記事をみていると、どうやらubuntuで実装した方がよさそうなので、EC2立てるか…
AWSでJupyter Notebook使うの、セキュリティグループ面倒そうだが、これー!
ただ、prefix
は指定しないとダメだったが…他の方法があったんだろうか…
そして、jupyter notebook --no-browser
と書いてあったのですが、外部からアクセスするには、jupyter notebook --ip=* --no-browser
でないとダメだった…
これでipアドレスをブラウザに入力すると、token入力画面が表示されるので、jupyter立ち上げた時のtokenを入力すればアクセスできるようになる。
CUDAのインストール
自分の環境に進んでいく。
今回は、
Linux -> x86_64 -> Ubuntu -> 16.04 -> deb [local]
因みにUbuntuのバージョンを調べるのはlsb_release -a
でおk。
最後のインストール方法は、参考にしているサイトがそれっぽかったからという理由で適当に決めてしまった。
とりあえず、ローカルにCudaダウンロードしたので、scpで送る。よく忘れるので、一応記載しておく。
1 2 |
scp -i 秘密鍵のパス cuda-repo-ubuntu1604-9-2-local_9.2.148-1_amd64.deb ubuntu@ドメイン:/home/ubuntu/ |
そして、遂にCUDAのインストール!
1 2 3 4 5 |
sudo dpkg -i cuda-repo-ubuntu1604-9-2-local_9.2.148-1_amd64.deb sudo apt-key add /var/cuda-repo-9-2-local/7fa2af80.pub sudo apt-get update sudo apt-get install cuda |
cuDNNをインストール
ここから、CUDA9.2を選択したので、そこからcuDNN v7.2.1 Runtime Library for Ubuntu16.04 (Deb)
とcuDNN v7.2.1 Developer Library for Ubuntu16.04 (Deb)
をダウンロードして、再度scpで送る。
1 2 3 |
scp -i 秘密鍵のパス libcudnn7_7.2.1.38-1+cuda9.2_amd64.deb ubuntu@ドメイン:/home/ubuntu/ scp -i 秘密鍵のパス libcudnn7-dev_7.2.1.38-1+cuda9.2_amd64.deb ubuntu@ドメイン:/home/ubuntu/ |
OpenCVとAtlasのインストール
1 2 3 |
sudo apt-get install libopencv-dev sudo apt-get install libatlas-base-dev |
したんですが、
1 2 |
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution). |
apt-get -f install
せんかい!って怒られたので、
1 2 |
sudo apt-get -f install |
1 2 3 4 5 6 7 |
Errors were encountered while processing: /var/cuda-repo-9-2-local/./cuda-visual-tools-9-2_9.2.148-1_amd64.deb /var/cuda-repo-9-2-local/./cuda-samples-9-2_9.2.148-1_amd64.deb /var/cuda-repo-9-2-local/./cuda-documentation-9-2_9.2.148-1_amd64.deb /var/cuda-repo-9-2-local/./nvidia-396_396.37-0ubuntu1_amd64.deb E: Sub-process /usr/bin/dpkg returned an error code (1) |
不吉すぎるんだが…
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Unpacking nvidia-396 (396.37-0ubuntu1) ... dpkg: error processing archive /var/cuda-repo-9-2-local/./nvidia-396_396.37-0ubuntu1_amd64.deb (--unpack): cannot copy extracted data for './usr/lib32/nvidia-396/libnvidia-glcore.so.396.37' to '/usr/lib32/nvidia-396/libnvidia-glcore.so.396.37.dpkg-new': failed to write (No space left on device) No apport report written because MaxReports is reached already dpkg-deb: error: subprocess paste was killed by signal (Broken pipe) Processing triggers for libc-bin (2.23-0ubuntu10) ... Errors were encountered while processing: /var/cuda-repo-9-2-local/./cuda-visual-tools-9-2_9.2.148-1_amd64.deb /var/cuda-repo-9-2-local/./cuda-samples-9-2_9.2.148-1_amd64.deb /var/cuda-repo-9-2-local/./cuda-documentation-9-2_9.2.148-1_amd64.deb /var/cuda-repo-9-2-local/./nvidia-396_396.37-0ubuntu1_amd64.deb E: Sub-process /usr/bin/dpkg returned an error code (1) |
もう少し遡ってみると、No space left on device
…
無料版では無理なのか…
一旦swapを開放してみようではないか…(これもいつもやり方を忘れるんだが…)
まず確認する。
1 2 |
cat /proc/swaps |
設定されていないっぽいので、
1 2 3 4 5 6 |
sudo mkdir /var/swap sudo dd if=/dev/zero of=/var/swap/swap0 bs=1M count=2048 sudo chmod 600 /var/swap/swap0 sudo mkswap /var/swap/swap0 sudo swapon /var/swap/swap0 |
として、swapを設定する。
そしてそして、echo
だけsuper userじゃないとできなかったから、
1 2 3 |
sudo su echo '/var/swap/swap0 swap swap defaults 0 0' >> /etc/fstab |
として自動でswap割当にしておく。
が、これでも容量が足りず…Ubuntuでの実装を断念した
(普通にプラン上げろよw)
まぁだいたいの流れを理解したので、ローカルでもう一度やってみよう!
Mac
実はめちゃくちゃ簡単に構築できるのでは…
caffeのインストール
とりあえず、condaで環境を作る。
1 2 3 |
conda create -n caffe conda activate caffe |
なんでこんなcaffeインストールできないんだろうか…
ん?こんなにもインストールしにくいのに、caffeしか使えないっておかしいよな?
と思って調べたら、やはり…
あるじゃねぇか!ってなった…
tensorflowのインストール
まずは世のエンジニアをもっと信用するところからはじめねばなるまい。
1 2 3 4 5 |
conda remove -n caffe --all conda create -n tensorflow conda activate tensorflow conda install tensorflow |
エラー!
1 2 |
ModuleNotFoundError: No module named 'tf_pose' |
you need to set PYTHONPATH.
$ export PYTHONPATH=/path_to_tf-pose-estimation/:$PYTHONPATH
you may write it in .bashrc
さ、パスを追加を追加するか。
1 2 |
AttributeError: module 'pandas' has no attribute 'rolling_count' |
に苦しむ…
uninstall and reinstall dask worked for me…
daskを再度インストールしたが変わらず…
Or install pandas <=0.22, it’s only the most recent version (0.23) that has removed the rolling_x methods.
pandasのバージョンを変更するか。
0.23だとrolling_xメソッドはremoveされているそうなので、0.22をインストールします。
1 2 |
conda install pandas=0.22 |
そして、なぜかpipでもインストールしていたみたいだからこっちもアンインストールしておきます。
1 2 |
pip uninstall pandas |
これでなんとか解決できたが、違うエラーに悩まされる
1 2 3 4 5 6 |
InvalidArgumentError (see above for traceback): NodeDef mentions attr 'dilations' not in Op... ... |
とりあえず、tensorflowの1.6.0のバージョンにしてみる。
1 2 |
pip install tensorflow==1.6.0 |
と、無事に解決できた…
が、なんかpip
とconda
が共存?しているような…
この辺は解決したい…
因みに、こっちのコマンドでもできる。
1 2 |
python ./run.py --image=./images/p1.jpg |
リアルタイム
リアルタイムもやってみたw
1 2 |
python run_webcam.py --model=mobilenet_thin --resize=432x368 --camera=0 |