こんにちは、えんせきです。
画処理に帰ってきました。寝不足気味ですが明日も頑張って行きたいと思います。
つまりなにしたの?
DarkflowでYolo v2を動かしてみたらいい感じにバウンディングボックスを描くことができそうなので今日はまず環境構築の部分を紹介する。
github.com
手順
- 環境を準備する
- Darkflowを準備する
今日はここまで
- コードを書いていく
- 実行してみる
こんどここ
環境を準備する
今回はうちのGPU(GTX1070)を使いたいということでおうちのUbuntu16.04にした。
DarkflowはTensorFlowを使うのでCuda9.0とcudnnを入れた。(久しくアップデートしてなかったのでついでにアップデートしている。
Cudaのインストール
CUDA Toolkit 9.0 Downloads | NVIDIA Developer
こちらから、
こんな感じで選んで、
debファイルをダウンロードする。
cd download sudo dpkg -i cuda-repo-ubuntu1604_9.0.176-1_amd64.deb sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub sudo apt-get update sudo apt-get install cuda-9.0
これで、/usr/local/cuda-9.0にCudaが突っ込まれる。
.bashrc とかに以下を追加する
export PATH=/usr/local/cuda-9.0/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH export CUDA_HOME=/usr/local/cuda-9.0:$CUDA_HOME
確認
cvnn --version
nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2017 NVIDIA Corporation Built on Fri_Sep__1_21:08:03_CDT_2017 Cuda compilation tools, release 9.0, V9.0.176
nvidia-smi
+-----------------------------------------------------------------------------+ | NVIDIA-SMI 390.30 Driver Version: 390.30 | |-------------------------------+----------------------+----------------------+ | 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 GTX 1070 Off | 00000000:01:00.0 On | N/A | | 27% 38C P8 8W / 151W | 577MiB / 8116MiB | 1% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | 0 1284 G /usr/lib/xorg/Xorg 243MiB | | 0 2059 G compiz 264MiB | | 0 4096 G ...-token=HOGEHOGEHOGEHOGEHOGEHOGEHOGEHOGE 56MiB | +-----------------------------------------------------------------------------+
cudnnのインストール
※登録とソフトウェア・ライセンスへの承諾が必要です。
NVIDIA cuDNN | NVIDIA Developer
これで、
cudnn-9.0-linux-x64-v7.tgz
がダウンロードできる。
tar -xzvf cudnn-9.0-linux-x64-v7.tgz sudo cp cuda/include/cudnn.h /usr/local/cuda/include sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64 sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
確認
cp -r /usr/src/cudnn_samples_v7/ $HOME cd $HOME/cudnn_samples_v7/mnistCUDNN make clean && make ./mnistCUDNN # わらわら出る Result of classification: 1 3 5 Test passed! #←これが出れば大丈夫
Python
いつものごとく、PyEnvで環境を用意した。
pyenv virtualenv 3.6.2 yolo pyenv local yolo pip install numpy tensorflow-gpu python-opencv
Darkflowを準備する
github.com
DarkflowをいれるといろんなYoloが試せる。今回はYolo v2を試す。
(読み込むファイルを変えれば簡単に変えられる)
git clone https://github.com/thtrieu/darkflow.git cd darkflow python setup.py build_ext --inplace mkdir bin cd bin wget https://pjreddie.com/media/files/yolo.weights cd ..
学習済みのデータ(yolo.weights)ダウンロードに時間がかかる。
次回は実行できるコードを書いて行く。
次回はこちら
*1:Read more at: http://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html#ixzz57qL8tXIP Follow us: @GPUComputing on Twitter | NVIDIA on Facebook