LoginSignup
6
4

More than 3 years have passed since last update.

[Windows・jupyter notebook]機械学習のモデル可視化に使えるソフト「Graphviz」をインストール・使用する方法

Posted at

以前話題になった、東大松尾研究室公開の無料ディープラーニング教材「DL4US」を写経する際、Graphviz部分のエラーに悩まされたので、後の人が苦しまないようメモとして残します。

インストール前に発生するエラー

1.1.4モデルの可視化
from IPython.display import SVG
from tensorflow.python.keras.utils.vis_utils import model_to_dot

SVG(model_to_dot(model).create(prog='dot', format='svg'))

Graphvizに関する設定が済んでいない場合、Lesson1 手書き文字認識をしよう(ニューラルネットワーク入門)において上記コードを実行すると、以下のような2つのエラーが出てくる。

エラー

InvocationException: "GraphViz's executables not found"

ImportError: Failed to import pydot. You must install pydot and graphviz for `pydotprint` to work.

1つ目のエラーは、Graphviz本体がインストールできてない事によるもの。
2つ目のエラーは、pydot・graphvizモジュールが見つからないことを示している。

これらを解消するためには、Graphviz本体がインストール・pydot・graphvizモジュールの導入が必要となる。Graphviz本体とgraphvizモジュールは異なるものなので注意すること。

Graphviz本体のインストール

いろいろ調べた際は公式サイトからインストールできるという記事が多かったが、ボタン1つでできる仕様でなかったためよくわからなかった。

今回は、PowerShellにて使えるパッケージ「chocolatey」を用いてインストールを行う。chocorateyとは、macにおけるHomebrewのようなwindows用パッケージマネージャである。

chocoratey自体を導入するには、PowerShellを管理者権限で開いて以下のコードを入力すればよい。

chocoratey導入コマンド
iwr https://chocolatey.org/install.ps1 -UseBasicParsing | iex

ただし、PowerShellの実行ポリシー設定によっては、以下のようなエラーが出て導入できない場合がある。

実行ポリシーによるエラー
& : このシステムではスクリプトの実行が無効になっているため、ファイル〇〇を読み込むことができません。
詳細については、「about_Execution_Policies」(https://go.microsoft.com/fwlink/?LinkID=135170) を参照してください。

これは、PowerShellの実行ポリシーが「restricted」になっているのが原因なので、以下のように「unrestricted」へ設定を変えることで、chocoratryを導入できるようになる。

設定の変更
Set-ExecutionPolicy unrestricted -Scope CurrentUser

念の為、導入が済んだら実行ポリシーの設定を「restricted」に戻しておく。

chocorateyが導入できたら、ようやくGraphviz本体のインストール。PowerShellを管理者権限で開き、pipと似たような形式でコードを書けばよい。

choco install graphviz

パッケージ名はchocoratryだが、実行する際のコードは「choco」なので注意。加えて、管理者権限で開いたPowerShellを使わないと、アクセス拒否によるエラーが発生する。

pydot・graphvizモジュールのインストール

モジュールのインストールに関しては、王道とも言えるpipを使って簡単にインストールできる。

pydotモジュールが正常に動かない場合。代わりにpydotplusまたはpydot-ngを使うとよい。自分はpydotplusを使っている。

動作確認

記事冒頭のコードを書き、以下のような出力が得られれば、無事インストールは成功である。

NN_model.png

まとめ

機械学習のモデル可視化に使えるソフト「Graphviz」について、windows用パッケージ「chocolatey」を用いてインストールする方法を示しました。

10分程度で終わる作業なので、機械学習の勉強を試みる人はこれを機に「Graphviz」を使ってみてください。

記事を書くきっかけとなった「DL4US」は、機械学習の概要が大まかにわかる良質なコンテンツです。本1冊に相当するボリュームにもかかわらず無料で読めるとは素晴らしい。

参考文献

DL4US
Windows版homebrew的存在、Chocolateyを使う
PowerShellでスクリプトを実行するとセキュリティエラーになるときの対策
kerasのplot_modelでハマった話

6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4