2019独角兽企业重金招聘Python工程师标准>>>
今天需要对chainer框架的网络进行可视化,在官网文档找到如下的办法
As neural networks get larger and complicated, it gets much harder to confirm if their architectures are constructed properly. Chainer supports visualization of computational graphs. Users can generate computational graphs by invoking
build_computational_graph()
. Generated computational graphs are dumped to specified format (Currently Dot Language is supported).Basic usage is as follows:
import chainer.computational_graph as c ... g = c.build_computational_graph(vs) with open('path/to/output/file', 'w') as o:o.write(g.dump())
但是生成的dot文件,还不是很直观进行查看,于是就利用pydotplus(安装pip install pydotplus)解析然后生成pdf文件就好查看多了,全部的代码如下:
import chainer.computational_graph as c
import numpy as np
from chainer.variable import Variable
import pydotplusx_data = np.zeros([1, 3, 300, 300], dtype=np.float32)
x = Variable(x_data)model = Defined_Model()vs = model(x)g = c.build_computational_graph(vs)dot_format = g._to_dot()graph=pydotplus.graph_from_dot_data(dot_format)#生成 pdf文件
graph.write_pdf('visualization.pdf')#生成visualization.gv dot 文件
with open('visualization.gv', 'w') as o:o.write(g.dump())
就这样,有问题留言