Help us understand the problem. What is going on with this article?

kerasのplot_modelでハマった話

More than 1 year has passed since last update.

概要

kerasにはネットワーク構造を可視化するためのモジュールを持っています。
モデルの可視化
これを見ると

plot.py
from keras.utils import plot_model
plot_model(model, to_file='model.png')

とだけ書いてあるので、すぐにでも使えそうな気がします。
でもちょっとハマってしまったので記録を残しておきます。

pydotとgraphvizの導入

上記のようなコードを実行すると、
'Failed to import pydot. You must install pydot and graphviz for pydotprint to work.'
というエラーが出ます。
どうやら、pydotprintとやらを動かすのにpydotとgraphvizというモジュールが必要なようです。
どちらもcondaから導入可能です。

ただし、
pydotは現在開発が止まっており、python3.5および3.6では動きません。
これらのバージョンのpythonを用いている環境では、
pydotplusまたはpydot-ngを代わりに使用することで対処できます。
私はpydotplusを使いました。

graphviz本体の導入

実は上でインストールしたgraphvizはpython用のラッパーなので、
本体をインストールする必要があります。
ここ からインストーラーがダウンロードできます。
インストールしたらパスを通せば使用できます。

最後に

この記事を書いたのは、plot_modelを使おうと試行錯誤する中でkerasのvis_utils.pyの記述ミスを見つけてそれを修正した結果上手くいったと思っていたからなのですが、再検証した結果修正の内容とは無関係であったことがわかったので最低限必要な手順だけを記録しておくこととします。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした