不论是在模型训练的比赛中,还是在同学、同事合作的项目里,更不用说对数据要求严谨的论文素材的引用,数据的可视化这一步操作显得尤为重要,一个好的可视化,可以使观测者更容易的发现模型的问题所在。

 

数据可视化的方法有很多,例如这次要说的hiddenlayer、还有pytorchviz、也有公认很好用的tensorboard,简单易上手的matplotlib,等等。。。

本次的配置:

torch == 1.9.0

graphviz == 2.49.3

hiddenlayer == 0.3


先安装第三方库:

pip install hiddenlayer==0.3 -i https://pypi.tuna.tsinghua.edu.cn/simple

在安装graphviz:

这个就不要pip了,因为要配置系统环境,我们直接去他的官网:

Download | Graphviz

我安装的是window版的64位,默认不安装最新版本。

路径推荐保存到一个自己可以找到的地方,因为要设置系统环境变量。这里我把他放在了D盘anaconda下面。 

以下是配置环境变量的过程,这里我已经弄完了,就跳过去了:(找到bin目录就行)

 


代码使用:

from efficientnet_pytorch import EfficientNet
import hiddenlayer as hl
import torch

model = EfficientNet.from_name('efficientnet-b0').eval()

hl_graph = hl.build_graph(model, torch.zeros([1, 3, 224, 224]))
hl_graph.theme = hl.graph.THEMES['blue'].copy()
hl_graph.save(path='efficientnet-b0')  # 默认保存为pdf格式
hl_graph.save(path='efficientnet-b0.png', format='png')  # 保存为png格式

效果图是横着的,如果模型特别长的话推荐使用pdf保存,不然会看不清。

 


解决流程图上不显示数据变化的问题;

这个需要修改源码,可能比较费事。

1.首先,在你的电脑里面找的这个文件:pytorch_builder.py

2.把文件中get_shape函数内容修改为下图所示即可。

 


如果使用的时候出现版本不匹配的问题,建议把上述库的版本更换到和我一样,我的版本都是比较新的,亲测可行。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐