TensorflowでDeeplab
環境
Windows10
GTX1070Max-Q , RTX2060
anaconda3.7
python3.6
cudatoolkit10.0.130
cudnn7.6.5
tensorflow-gpu1.15.0
opencv3.3.1
ANACONDAインストール
Advanced Optionsの"Add Anaconda to the System PATH environment variable"にチェック
Git Bashをインストール
“Use Git from the Windows Command Prompt”にチェック
“Use Windows’ default console window”にチェック
ANACONDA環境構築
・Environment→Createで”tf-gpu”を作成(pythonのバージョンは3.6)
・Home→Jupyter Notebookインストール
tensorflowインストール
・Environments→tensorflow-gpu(インストール後左のチェックからバージョンを1.15.0に変更)
・tensorflow-gpuをインストールするとCUDAとcuDNNもインストールされる?
Deeplabインストール
Environments→Pillowインストール
Environments→Jupyterインストール
Environments→Matplotlibインストール
Deeplabクローン
ユーザーフォルダ直下に”tensorflow”フォルダ作成
tf-gpu→OpenTerminalからクローン
$ cd tensorflow
$ git clone https://github.com/tensorflow/models.git
ユーザー環境変数にPYTHONPATHを追加
変数:PYTHONPATH
C:\Users\user名\tensorflow\models\research
C:\Users\user名\tensorflow\models\research\slim
テスト
以下を実行
$ cd tensorflow/models/research/
$ python deeplab/model_test.py
エラー No module named 'tf_slim'
emvironmentから見ても見当たらなかった…
tf-gpu→OpenTerminalからtf_slimインストール
$ pip install tf_slim
エラー module 'tensorflow' has no attribute 'app'
tensorflow-gpuのバージョンが2以上だとappが削除されており、エラーがでるのでバージョンはanacondaから「Mark for specific version installation」で1.15とかにした。
おk
[ OK ] DeeplabModelTest.testForwardpassDeepLabv3plus
[ RUN ] DeeplabModelTest.testWrongDeepLabVariant
[ OK ] DeeplabModelTest.testWrongDeepLabVariant
[ RUN ] DeeplabModelTest.test_session
[ SKIPPED ] DeeplabModelTest.test_session
----------------------------------------------------------------------
Ran 5 tests in 16.736s
OK (skipped=1)
deeplab_demoを動かす。
anacondaのtf-gpu→OpenTerminalからnotebookを起動
$ jupyter notebook
ブラウザでjupyterが開いたら「tensorflow\models\research\deeplab\deeplab_demo.ipynb」を開く。
deeplab_demo.ipynbをRun All
「Cell」から「Run All」を選択。うまくいくとしたに結果の画像が出てくる。
Jupyterを終了する
GPUを確保したままなので終了時はターミナルからCtrl+Cでサーバーを終了させる。
[I 11:53:39.984 NotebookApp] Saving file at /tensorflow/models/research/deeplab/deeplab_demo.ipynb
[I 11:57:09.637 NotebookApp] Interrupted...
[I 11:57:09.637 NotebookApp] Shutting down 1 kernel
[I 11:57:11.060 NotebookApp] Kernel shutdown: 5f0558e3-94f7-47bd-8b57-cf4b023ea699
エラー Unknown: Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above.
cudnnの初期化に失敗している。自分の場合初回は動いて2回目以降でこのエラーが出た。初回にtensorflowがGPUを確保したままになっていて以降初期化できなくなるとのこと。ちゃんとCtrl+Cでjupyterを終了させれば2回目以降もうごいた。
追記)RTX2060の別マシンで上記エラーが出て初回でも動かず。
以下のコードを先頭tensorflowのimport下に追加して解決した。
import tensorflow as tf
######## RTX GPU
from tensorflow.compat.v1 import ConfigProto
from tensorflow.compat.v1 import InteractiveSession
config = ConfigProto()
config.gpu_options.allow_growth = True
session = InteractiveSession(config=config)
参考note
感謝です...