在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博客

相关推荐
小码编匠几秒前
.NET 9 发布 性能提升、AI 支持与全方位改进
人工智能·后端·.net
AIAdvocate6 分钟前
【金融风控】特征评估与筛选详解
人工智能·python·机器学习·金融·特征工程
baijin_cha6 分钟前
机器学习基础02_特征工程
人工智能·笔记·机器学习
KeKe_L9 分钟前
scikit-learn学习Day30
python·学习·scikit-learn
NewsMash11 分钟前
平安人寿山西分公司:践行绿色金融,开启绿色新篇章
大数据·人工智能·金融
irrationality20 分钟前
昇思大模型平台打卡体验活动:项目5基于MindSpore实现Transformer机器翻译
深度学习·transformer·机器翻译
Soungkayou21 分钟前
Safety Assessment of Chinese Large Language Models
人工智能·语言模型·自然语言处理
棱角~~26 分钟前
10款PDF翻译工具的探索之旅:我的使用经历与工具特色!!
人工智能·经验分享·学习方法
AnFany44 分钟前
LeetCode【0019】删除链表的倒数第N个结点
python·算法·leetcode·链表·快慢双指针
灰哥数据智能1 小时前
DB-GPT系列(四):DB-GPT六大基础应用场景part1
python·数据挖掘·gpt-3·文心一言