Chainer的extensions.dump_graph将输出以Dot语言编写的文件。这个Dot文件可以用graphviz进行映像,但是这次将使用Python进行映像。
操作环境
- Ubuntu 16.04
- Python 3.5.2
- Graphviz
- pydot
使用例
以下是可视化执行MNIST时生成的Dot文件的结果。
码
我想读取多个Dot文件,所以输入的是Dot文件文件路径的列表。 ext是要使用的扩展,并支持png,pdf和svg格式的输出。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | import os import pydot def main(name_list, ext): for name in name_list: # dot言語で記述されたファイルを読み込む (graph,) = pydot.graph_from_dot_file(name) # 保存用の名前を抽出する name, _ = os.path.splitext(os.path.basename(name)) # 形式を選択して保存する if(ext == 'png'): graph.write_png(getFilePath(args.out_path, name, '.png')) elif(ext == 'pdf'): graph.write_pdf(getFilePath(args.out_path, name, '.pdf')) elif(ext == 'svg'): graph.write_svg(getFilePath(args.out_path, name, '.svg')) else: print('[ERROR] ext option miss:', args.ext) |
1 2 3 4 5 | def getFilePath(folder, name, ext): if not os.path.isdir(folder): os.makedirs(folder) return os.path.join(folder, name + ext) |