以下、ギャラリー。
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; } '/>
