1. 安装依赖和pytorchviz
pip install graphviz
pip install torchviz (或pip install git+https://github.com/szagoruyko/pytorchviz)
2. 使用如下代码,保存在当前目录下的pdf文件中,并打开
from torchviz import make_dot
y = model(torch.rand(1,3,32,32).cuda())
g = make_dot(y,params=dict(model.named_parameters()))
g.view() # 会在当前目录下保存一个“Digraph.gv.pdf”文件,并在默认浏览器中打开
遇到了以下问题
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2cswmUyIma5wmW550MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL5IzNyUDMxYTM3ETMxkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
原因是:未在系统中配置graphviz工具的环境变量,Graphviz是AT&T Labs Research开发的图形绘制工具软件,不是python 工具,因此,需要独立的在系统内安装graphviz,仅在python环境内安装组件是无法使用的的。
sudo apt-get install graphviz
3. 拓展
# 以下三种方式都可以
g = make_dot(y)
# g=make_dot(y, params=dict(model.named_parameters()))
#g = make_dot(y, params=dict(list(model.named_parameters()) + [('x', x)]))
# 保存模型,以下两种方法都可以
# g.view() # 会生成一个 Digraph.gv.pdf 的PDF文件
g.render('espnet_model', view=False) # 会自动保存为一个 espnet.pdf,第二个参数为True,则会自动打开该PDF文件,为False则不打开