はじめに
Kerasの勉強中、Kerasでネットワークの可視化が出来るという話が合った。
参考は下記のサイト
http://dev.classmethod.jp/machine-learning/introduction-keras-deeplearning/
出来るといろいろ便利かなと思いチャレンジしてみました。
環境
Ubuntu16.04
Nvidia-Docker(tensorflow/tensorflow:latest-devel-gpu-py3イメージ)
手順
可視化をするには以下のコマンドを実行すれば行けるらしい
brew install graphviz
pip install pydot
ってMacの場合か…こちらの環境ではもちろんUbuntuなのでgraphvizのインストールは下記のコマンドで
pip install graphviz
早速jupyter lab上でインポートしてみる成功。
from IPython.display import SVG
from keras.utils.vis_utils import model_to_dot
SVG(model_to_dot(model).create(prog='dot', format='svg'))
…インポートエラー発生!!pydotがインポートできていないとの事。(ここら辺のエビデンス取り忘れたのであとで更新します)
出来ない…色々調べたところ、下記のサイトのコメント通りにやるとうまくいった
https://github.com/Theano/Theano/issues/1801
どうやらTheanoのバグらしい…
#C版のgraphvizインストール
$ apt-get install graphviz
$ pip install pydot
#python版のgraphvizインストール
$ pip install graphviz