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をインストール

画像1

“Use Git from the Windows Command Prompt”にチェック

画像2


“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」を選択。うまくいくとしたに結果の画像が出てくる。

画像3

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

感謝です...





いいなと思ったら応援しよう!