今回の記事はDocker環境上にtensorflow環境を作りそのTensorflow環境下にobject detection APIの環境を構築するためのDockerfileを自身の備忘録として残しておきます。
FROM python:3.6
#venv仮想環境は特に立てずにコンテナごとに管理
RUN apt-get -y update
RUN apt-get -y install git wget unzip protobuf-compiler python-pil python-lxml python-tk
RUN pip install Cython contextlib2 pillow lxml jupyter notebook matplotlib tf_slim keras opencv-python
RUN tensorflow==2.2
RUN git clone https://github.com/tensorflow/models.git
Run git clone https://github.com/tensorflow/tensorflow.git
#tensorflowAPIとKeras利用時に必要なgitレポジトリ
#接続ポート
EXPOSE 8888
#docker run時に打たれるコマンド
#下記でコンテナ接続でbashが開く
CMD [ "bin/bash" ]
こちらのファイルのディレクトリで下記でコンテナ完成です。
docker build -t [repository名(python)]:[tag名(3.6)]
docker run -it -p 8888:8888 [imageID]
portはjupyter notebookをdockerで開く際などに設定していないとコンテナが外部に接続できないのでホストOSとバインドするために8888でつなげておきます。
dockerはコマンド上のみの操作より機械学習などで画像を配置するならjupyterで見た方が見やすいです。
上記でコンテナが作成できているのでコンテナIDを確認してコンテナ内部に入って下記を実行していきます。
docker start [コンテナID]
docker attach [コンテナID]
下記コンテナ内で実行。
git clone https://github.com/cocodataset/cocoapi.git
cd cocoapi/PythonAPI && make
cp -r pycocotools /models/research/
cd /models/research && protoc object_detection/protos/*.proto --python_out=.
wget -O protobuf.zip https://github.com/google/protobuf/releases/download/v3.0.0/protoc-3.0.0-linux-x86_64.zip
unzip protobuf.zip
./bin/protoc object_detection/protos/*.proto --python_out=.
export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim
source ~/.bashrc
以上で環境構築終了です。
コメント
[…] 【Docker/TensorFlow】Docker上でTensorFlow Object detection APIの環境を作るDcokerfile。 […]
[…] 今回の記事はTensorFlowについてとインストール方法を解説します。インストール方法はいくつか存在し、そのインストール方法を解説していきます。私の過去記事にてdockerで環境構築している例も存在するのでdocker上にTensorFlowをインストールする方法を知りたい方はこちらもご参照ください。 […]
[…] 「docker上でtensorflow(python)環境を構築する手順」 […]