tensorflow/models環境を構築(2.x系)
最終更新日 2019/10/22
使用OS ver Ubuntu18.04、tensorflow 2.0.0、tensorflow/models 2.0
Proxy あり
前準備@host側
データを準備する
modelを落とす(今回は2.0が最新なので下記)
tf2ディレクトリを作成
$ mkdir ~/work/tf2
modelsをwork/tf2へ移動
$ mv models ~/work/tf2
移動
$ cd ~/work/tf2/models/research/
protobufを落とす
解凍
$ unzip protobuf.zip
実行
$ ./bin/protoc object_detection/protos/*.proto --python_out=.
何も表示されないけど気にしない
COCO APIのインストール
移動
$ cd ~/
Host側でCOCO APIを落とす
移動
$ cd ~/cocoapi/PythonAPI
コンテナでmakeする
$ make
------------------------------下記、このmakeではまったときのメモ----------------------------------
エラーの原因は?
makeで叩かれるsetup.pyがpythonコマンドで叩かれていること
Python3前提で環境構築していたので、python-pipがなかったこと
当然、pipにはsetuotoolsやnumpyがないこと
よって下記を実施した
$ sudo apt install python-pip
$ pip install setuptools
$ pip install numpy
これでもエラー。_mask.cが読めないらしい。cythonを入れる
$ pip install cython
cythonを入れたら解決する
しかし、先日これでもエラーが出たので下記をトライ。ただ、 やり直したら不要だった。要検討。
とりあえず、setup.pyの中身を見る
$ cd ~/cocoapi/PythonAPI
$ sudo vim setup.py
maskApi.cの階層がおかしくない?cocoapi/PythonAPI/にいるからcommonは2階層上じゃない?
修正前(これだとcommonまでいかない気がする)
修正後
--------------------------------makeではまったときのメモここまで----------------------------------
生成したpycocotoolsを移動
$ cp -r pycocotools ~/work/tf2/models/research/
Object Detection Test
homeへ移動
$ cd ~/
作成したイメージを起動
$ docker run --gpus all -it --rm -v $(pwd)/work:/tf/work -p 8888:8888 tf-2.0.0:gpu-py3-jupyter-models-cv-0.1 bash
pythonのパスが合っているか動作確認
移動
$ cd work/tf2/models/research
テスト実行
$ python object_detection/builders/model_builder_test.py
OKが出れば実行環境準備できているはず
Object Detection Tutorial
イメージを起動
$ docker run --gpus all -it --rm -v $(pwd)/work:/tf/work -p 8888:8888 tf-2.0.0:gpu-py3-jupyter-models-cv-0.1
jupyter notebookへアクセス
"work/models/research/object_detection" にある「object_detection_tutorial.ipynb」を開く
一部修正が必要(protocをunzipしたのでbin/protocにしないといけない)
修正前
%%bash
cd models/research/
protoc object_detection/protos/*.proto --python_out=.
修正後
%%bash
cd models/research/
./bin/protoc object_detection/protos/*.proto --python_out=.
この修正で動いた。
https://gyazo.com/c95892c8472f4c4118f710523fd01c1e https://gyazo.com/501a7b486497a9d5fb80c75f799faf09
参考