当前位置: 首页 > news >正文

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

目录

1. 安装 graphviz 和 torchviz

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的结构的画图。

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

相关文章:

  • 计算机网络基础二
  • 3.7每日一题(凑微分求不定积分)
  • FFmpeg系列索引
  • SQL-正则表达式和约束
  • LeetCode--511. 游戏玩法分析 I
  • 工作中的小tips:如何快速提取图片或者pdf上的文字,进行编辑?
  • 知识图谱05——gspan-mining库进行频繁子图挖掘出现‘DataFrame‘ object has no attribute ‘append‘
  • python内置模块hashlib对于字符串的加密解密加盐
  • 微信小程序在线预览PDF文件
  • 使用Go模块进行依赖管理
  • Oracle (7)Online Redo Log Files
  • 从瀑布模式到水母模式:ChatGPT如何赋能软件研发全流程
  • 全面解析:oa系统是什么?有哪些好用的oa系统
  • 【MATLAB源码-第62期】基于matlab的DCSK(差分混沌移位键控调制)系统误码率仿真。
  • Golang WebSocket 创建单独会话
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • angular2开源库收集
  • iOS高仿微信项目、阴影圆角渐变色效果、卡片动画、波浪动画、路由框架等源码...
  • Java 内存分配及垃圾回收机制初探
  • javascript 哈希表
  • Laravel核心解读--Facades
  • Lsb图片隐写
  • Meteor的表单提交:Form
  • MySQL用户中的%到底包不包括localhost?
  • node 版本过低
  • 不上全站https的网站你们就等着被恶心死吧
  • 关于 Linux 进程的 UID、EUID、GID 和 EGID
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 如何解决微信端直接跳WAP端
  • 算法之不定期更新(一)(2018-04-12)
  • 一起来学SpringBoot | 第十篇:使用Spring Cache集成Redis
  • 一文看透浏览器架构
  • 2017年360最后一道编程题
  • ​如何防止网络攻击?
  • # Swust 12th acm 邀请赛# [ E ] 01 String [题解]
  • #前后端分离# 头条发布系统
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (9)STL算法之逆转旋转
  • (html5)在移动端input输入搜索项后 输入法下面为什么不想百度那样出现前往? 而我的出现的是换行...
  • (动手学习深度学习)第13章 计算机视觉---微调
  • (非本人原创)我们工作到底是为了什么?​——HP大中华区总裁孙振耀退休感言(r4笔记第60天)...
  • (三) diretfbrc详解
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • (推荐)叮当——中文语音对话机器人
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • .NET DevOps 接入指南 | 1. GitLab 安装
  • .net 提取注释生成API文档 帮助文档
  • .netcore 如何获取系统中所有session_ASP.NET Core如何解决分布式Session一致性问题
  • .NET构架之我见
  • .NET中的十进制浮点类型,徐汇区网站设计
  • @Validated和@Valid校验参数区别