• ホーム
  • Chainer
  • Chainerが出力するネットワーク構造図をGraphvizで見る

Chainerが出力するネットワーク構造図をGraphvizで見る

ChainerのTrainerが出力するネットワーク構造図(dotファイル)をGraphvizで可視化してみました。

目次

  1. Graphvizとは
  2. Graphvizのインストール
  3. PythonからGraphvizを使う
  4. Jupyter notebookからGraphvizを使う

Graphvizとは

dot言語で書かれたグラフをpngなどに変換して可視化するツールです。Chainerのトレーナーがネットワーク構造(計算グラフ)をdot形式でファイルに出力してくれますので、それをpngなどにして見ることができます。

実行環境は、Windows10 64bit、Python 3.7.1です。

Graphvizのインストール

Graphvizは独立したアプリケーションですので、個別にインストールする必要があります。

まず、公式サイト からインストーラーをダウンロードします。Windows用のstableなものとしてmsi版とzip版が置かれています。私はmsi版(インストーラー版)をダウンロードしました。

ダウンロードしたmsiファイルを実行するとインストール用のダイアログが開くので、指示に従ってインストールします。

gvedit.exeを起動してdotファイルを読み込むと、dot言語で記述されたグラフがヴィジュアルに表示されます。

以前のChainerのチュートリアル でTrainerがモデルをdotで出力するようにしていましたので、そのdotファイルをgvedit.exeで読み込んでみます。すると、こんな感じに表示されます。

gveditでの表示

PythonからGraphvizを使う

PythonからGraphvizを使ってみます。

まずpydotというPythonでGraphvizのインターフェースをするパッケージがありますので、インストールしてみます。

> pip install pydot

pydotがGraphvizを呼び出すのですが、Graphvizの実行ファイルのパスが環境変数PATHに入っていないとエラーになります。ということで、Graphvizのインストール先フォルダを探してPATHに追加します。

私の場合は

C:\Program Files (x86)\Graphviz2.38\bin

でした。

PATHの編集画面は、Windowsの検索窓にpathなどと入力すると「システム環境変数の編集」というような項目が出ますので、そのあたりで探してください。

それでは、コマンドラインでPythonを起動して試してみます。

>>> import pydot

>>> f = pydot.graph_from_dot_file('cg.dot')
>>> f[0].write_png('cg.png')

これでcg.dotというファイルからcg.pngが作成されます。

pydotで変換

Jupyter notebookからGraphvizを使う

Jupyter notebookでも試してみます。

Jupyterで表示

IPythonでインラインに表示できるのがうれしいですね。

広告

Chainerカテゴリの投稿