pytorch 网络可视化(六):hiddenlayer

引导

      • 基本情况
      • 安装 hiddenlayer
      • 检查是否安装成功
      • 查看网络结构
      • 可能遇到的问题

基本情况

pytorch == 1.1.0
torchvision == 0.3.0
hiddenlayer == 0.2
提前说:做好版本之间的匹配能避免很多错误,少走很多弯路。

安装 hiddenlayer

打开 Anaconda Prompt 进入自己的 pytorch 环境,运行代码安装 hiddenlayer0.2:

pip install hiddenlayer==0.2

检查是否安装成功

运行 python 进入交互式环境,导入 hiddenlayer 包如果不报错则表示安装成功。

pytorch 网络可视化(六):hiddenlayer_第1张图片

查看网络结构

进入自己的 python 编辑器,解释器选择自己 pytorch 环境下的 python.exe,运行代码:

import torch
import hiddenlayer as h
from torchvision.models import resnet18  # 以 resnet18 为例

myNet = resnet18()  # 实例化 resnet18
x = torch.randn(16, 3, 64, 64)  # 随机生成一个输入
myNetGraph = h.build_graph(myNet, x)  # 建立网络模型图
# myNetGraph.theme = h.graph.THEMES['blue']  # blue 和 basic 两种颜色,可以不要
myNetGraph.save(path='./demoModel.png', format='png')  # 保存网络模型图,可以设置 png 和 pdf 等

运行代码后会在当前工程路径下生成一个文件,本例会生成一张名为 demoModel.png 的图片,打开图片可以看到网络的结构如图(为方便展示只截取一部分)。

pytorch 网络可视化(六):hiddenlayer_第2张图片
可以看到在输出的图片中不仅有当前网络结构,还包括输入数据的流向和变化情况,简单实用。

可能遇到的问题

错误 ①:AttributeError: module ‘torch.jit’ has no attribute ‘get_trace_graph’.
错误 ②:AttributeError: ‘torch._C.Value’ object has no attribute ‘uniqueName’.

解决办法: 以上两个错误都是版本不适配问题,改变 pytorch 和 hiddenlayer 版本,可以搭配的版本为 pytorch1.1.0 + hiddenlayer0.2。

警告 ③:Pango-WARNING **: couldn’t load font “Times Not-Rotated 10”, falling back to “Sans Not-Rotated 10”, expect ugly output.

解决办法: Times 字体没办法加载,考虑是系统没有这个字体,有兴趣的可以装个 Times 系统字体看看,我的解决办法是选中 THMES 属性,右击打开 graph.py 文件。

pytorch 网络可视化(六):hiddenlayer_第3张图片
直接修改 graph.py 文件中 THEMES 里 basic 分支选项中的 font_name对应的 Times 为 Times-Roman 即可,当然改成其他可行的字体也是可以的,觉得没必要的也可以忽视这个警告。

pytorch 网络可视化(六):hiddenlayer_第4张图片

其实仔细看原代码的话可以发现,原来只提供了 basic 和 blue 两种主题,我们完全可以根据自己需要再设计一种主题,比如在 blue 后再加上一个 red,如下:

"red": {
    "background_color": "#FFFFFF",  # 背景色
    "fill_color": "#DC143C",  # 填充色
    "outline_color": "#0000FF",  # 边框色
    "font_color": "#000000",  # 字体颜色
    "font_name": "SimHei",  # 字体
    "font_size": "10",  # 字体大小
    "margin": "0,0",
    "padding":  "1.0,0.5",
},

输出的网络结果图是这样的(净整些没用的,哈哈):

pytorch 网络可视化(六):hiddenlayer_第5张图片

你可能感兴趣的:(pytorch之网络可视化,python,神经网络,深度学习,人工智能,pytorch)