以下、ギャラリー。
Gallery | Graphviz - Graph Visualization Software
まずは、インストール。
# まずは、Anacondaでgraphvizパッケージをインストール conda install -c anaconda graphviz=2.38.0 # が、importできず、改めてpipで入れなおし pip install graphviz # 確認 dot -V dot - graphviz version 2.38.0 (20140413.2041)
次に、dotファイル。
# cat neuralnet.dot digraph G { rankdir=LR splines=line nodesep=.05; node [label=""]; subgraph cluster_0 { color=white; node [style=solid,color=blue4, shape=circle]; x1 [label="x1"]; x2 [label="x2"]; label = "input"; } subgraph cluster_1 { color=white; node [style=solid,color=red2, shape=circle]; a12 a22 a32; label = "layer 2"; } subgraph cluster_2 { color=white; node [style=solid,color=red2, shape=circle]; a13 a23; label = "layer 3"; } subgraph cluster_3 { color=white; node [style=solid,color=seagreen2, shape=circle]; y1 [label="y1"]; y2 [label="y2"]; label="output"; } x1 -> a12; x1 -> a22; x1 -> a32; x2 -> a12; x2 -> a22; x2 -> a32; a12 -> a13 a22 -> a13 a32 -> a13 a12 -> a23 a22 -> a23 a32 -> a23 a13 -> y1 a23 -> y1 a13 -> y2 a23 -> y2 }
最後に、画像出力。
# dot -Tpng -O neuralnet.dot
ただ、手元の環境だとなぜかラベルがASCIIなのに文字化けるので、オンライン上で実行できるサービスを探してみると、いろいろある。
ただ、ソースを貼って実行するだけ。
一方、こちらは、 HTMLのimageタグにそのままdotファイル内の記述をsrcに指定してやれば画像生成される便利なサービス
こんな感じで指定。面白い。
<img src='http://g.gravizo.com/g? digraph G { main -> parse -> execute; main -> init; main -> cleanup; execute -> make_string; execute -> printf init -> make_string; main -> printf; execute -> compare; } '/>