覚え書きブログ

Deep Learning覚え書き(chainerでネットワーク構造の可視化)

ChainerのMNISTのサンプルコード(examples\mnist\train_mnist.py)を実行すると、第1epochの第1ミニバッチでネットワーク構造をgraph.dotファイルに出力(下記のスクリプト)する。

        if epoch == 1 and i == 0:
            with open('graph.dot', 'w') as o:
                variable_style = {'shape': 'octagon', 'fillcolor': '#E0E0E0',
                                  'style': 'filled'}
                function_style = {'shape': 'record', 'fillcolor': '#6495ED',
                                  'style': 'filled'}
                g = computational_graph.build_computational_graph(
                    (model.loss, ),
                    variable_style=variable_style,
                    function_style=function_style)
                o.write(g.dump())
            print('graph generated')

このgraph.dotを表示するためには、graphvizが必要となるので、下記からgraphviz-2.38.msiをダウンロードしインストールする。
http://www.graphviz.org/Download_windows.php

そして、windows->graphviz 2.38->gvedit.exeを実行し、graph.dotを開くと下図のようにネットワーク構造を表示することができる。
f:id:hirotaka_hachiya:20160731213542p:plain