なにこれ
matsuolab-edu/dl4us で深層学習について勉強を始めています。
その環境をDockerで作りましたが、途中でpydotやgraphvizでエラーが出たのでそれに対応したログです。
実行環境
jupyter/tensorflow-notebook のdockerイメージからコンテナを作成して、進めました。
$ docker run -it -d --name dl4us -p 8889:8888 -v $(shell pwd):/home/jovyan/work jupyter/tensorflow-notebook start-notebook.sh
jovyan@02ce49bea3dd:~$ python --version Python 3.7.3 jovyan@02ce49bea3dd:~$ pip list | grep tensor tensorboard 1.13.1 tensorflow 1.13.1 tensorflow-estimator 1.13.0
lesson1でのモデル可視化時にエラー
dl4us/lesson1_sec1_exercise.ipynb at master · matsuolab-edu/dl4us
作成したモデルの結果を可視化するコードが↓です。
from IPython.display import SVG from tensorflow.python.keras.utils.vis_utils import model_to_dot SVG(model_to_dot(model, show_shapes=True).create(prog='dot', format='svg'))
実行すると以下のエラーが出ました。
ImportError: Failed to import pydot. You must install pydot and graphviz for `pydotprint` to work.
pydotprintを動かすために、pydot・graphvizが入っていないというエラーです。
pydotは開発が止まっているそうで、python3.5・3.6系では動かないらしいので、pydotplusをインストールします。 また、graphvizもインストールします。
改良したDockerfile
FROM jupyter/tensorflow-notebook USER root RUN apt-get dist-upgrade RUN apt-get update RUN apt-get install -y build-essential graphviz-dev graphviz pkg-config USER jovyan RUN pip install --upgrade pip RUN pip install graphviz pydotplus
以上3つをインストールしました。
buildとrunはMakefileで管理します。
$ cat Makefile .PHONY: run docker-build-tensorflow: docker build -t aikiyy/dl4us docker docker-run-tensorflow: docker run \ -it \ -d \ --name dl4us \ -p 8889:8888 \ -v $(shell pwd):/home/jovyan/work \ aikiyy/dl4us \ start-notebook.sh \ --NotebookApp.token='' \ --NotebookApp.password=''