在win10下,使用torchviz对深度学习网络模型进行可视化

目录

[1. 安装 graphviz 和 torchviz](#1. 安装 graphviz 和 torchviz)

[2.安装 graphviz.exe](#2.安装 graphviz.exe)

3.实例测试

4.如果你的电脑还是无法画图,并且出现了下面的报错:

5.参考文章:

1. 安装 graphviz 和 torchviz

首先打开 Anaconda prompt 进入自己的 pytorch 环境(图中 pt 是我自己的 pytorch 环境),运行如下代码安装依赖包。

pip install graphviz torchviz

2.安装 graphviz.exe

下载地址:Index of /Packages/stable/windows/10/cmake/Release/x64

下面选择第二个,选择将graphviz添加到环境变量。

只需要安装到一个自己记得住的地方,我安装的地方是 C:\Program Files\Graphviz 2.44.1

检查是否已经将将graphviz添加到环境变量中。

我们按照依次顺序进入到编辑环境变量中:win左下角搜索 -> 查看高级系统设置 -> 点击环境变量 ->点击用户的path。

在这里添加变量名和变量值即可,

变量名为:graphviz

变量值为:graphviz所在的路径+bin;那么我的变量值就为:C:\Program Files\Graphviz 2.44.1\bin

3.实例测试

编写一个实现vgg16的结构的画图。

python 复制代码
import torch
from torchviz import make_dot
from torchvision.models import vgg16  # 以 vgg16 为例

x = torch.randn(4, 3, 32, 32)  # 随机生成一个张量
model = vgg16()  # 实例化 vgg16,网络可以改成自己的网络
out = model(x)   # 将 x 输入网络
g = make_dot(out)  # 实例化 make_dot
g.view()  # 直接在当前路径下保存 pdf 并打开
# g.render(filename='netStructure/myNetModel', view=False, format='pdf')  # 保存 pdf 到指定路径不打开

执行完成之后就可以看到画出的结构。

4.如果你的电脑还是无法画图,并且出现了下面的报错:

CalledProcessError: Command '['dot', '-Tpdf', '-O', '测试图片.gv']' returned non-zero exit status 1. [st

那么我们这个时候就可以按照下面步骤完成画图:

  1. 打开cmd(使用管理员身份,要不然没有权限)
  2. 运行:dot -v
  3. 出现问题:There is no layout engine support for "dot"...
  4. 运行:dot -c
  5. 没有提示(成功)
  6. 再次运行dot -v
  7. 结果就会画图成功

5.参考文章:

https://blog.csdn.net/kelanj/article/details/108394313pytorch 网络可视化(二):graphviz + torchviz_听 风、的博客-CSDN博客

相关推荐
IT毕设梦工厂5 分钟前
计算机毕业设计选题推荐-在线拍卖系统-Java/Python项目实战
java·spring boot·python·django·毕业设计·源码·课程设计
luthane32 分钟前
python 实现average mean平均数算法
开发语言·python·算法
xuanyu2235 分钟前
Linux常用指令
linux·运维·人工智能
静心问道36 分钟前
WGAN算法
深度学习·算法·机器学习
码农研究僧37 分钟前
Flask 实现用户登录功能的完整示例:前端与后端整合(附Demo)
python·flask·用户登录
Ylucius39 分钟前
动态语言? 静态语言? ------区别何在?java,js,c,c++,python分给是静态or动态语言?
java·c语言·javascript·c++·python·学习
凡人的AI工具箱1 小时前
AI教你学Python 第11天 : 局部变量与全局变量
开发语言·人工智能·后端·python
sleP4o1 小时前
Python操作MySQL
开发语言·python·mysql
晓星航1 小时前
Docker本地部署Chatbot Ollama搭建AI聊天机器人并实现远程交互
人工智能·docker·机器人
Kenneth風车1 小时前
【机器学习(五)】分类和回归任务-AdaBoost算法-Sentosa_DSML社区版
人工智能·算法·低代码·机器学习·数据分析