神经网络可视化的方法(HiddenLayer与PytorchViz )

神经网络可视化的方法(HiddenLayer与PytorchViz )

在jupyter notebook上进行可视化时无法成功得到网络的可视化图片,其中碰到了数个问题。单独根据这些问题一一进行解答,不是我想做的。
接下来,直接给出正确的神经网络可视化操作步骤
神经网络的可视化有两种方法,分别对应以下两个库:
(1)HiddenLayer 库
(2)PytorchViz 库


第一步:安装依赖库

(1)使用anaconda navigator安装graphviz,和python-graphviz:

在这里插入图片描述

如上图所示,依次进行:
(A)中选择当前python环境,
(B)中选择 Not installed ,
©中,输入graphviz,
(D)中,勾选graphviz 和 python-graphviz
(E)中,选择Apply.
等待安装完毕,成功后应该能看到如下界面:
在这里插入图片描述

(2) 验证:

本文在jupyter notebook上对两种可视化方法进行验证。
(1)HiddenLayer 库

import hiddenlayer as h
simplenet.to('cpu') 
x = torch.randn(12288, 1024).requires_grad_(True)  # 为网络定义一个随机的张量作为输入值
simplenet_hlVis = h.build_graph(simplenet, x)   # 获取绘制图像的对象
simplenet_hlVis.theme = h.graph.THEMES["blue"].copy()     # 指定主题颜色
simplenet_hlVis.save("./simplenet_hlVis.png",format='png')   # 保存图像的路径

输出图片:

在这里插入图片描述


(2)PyTorchViz 库

from torchviz import make_dot
import graphviz
simplenet.to('cpu')
x = torch.randn(12288, 1024).requires_grad_(True)  # 定义一个网络的输入值
y = simplenet(x)    # 获取网络的预测值
simplenetVis = make_dot(y, params=dict(list(simplenet.named_parameters()) + [('x', x)]))
simplenetVis.format = "png"
# 指定文件生成的文件夹
simplenetVis.directory = "data"
# 生成文件
simplenetVis.view()

输出图片:

在这里插入图片描述

可以根据网络的定义,来判断可视化结果是否正确:

本文中的网络定义:

class SimpleNet(nn.Module):
    
    def __init__(self):
        super(SimpleNet, self).__init__() # 第一句话,调用父类的构造函数
        self.fc1 = nn.Linear(12288, 1024)
        self.fc2 = nn.Linear(1024, 512)
        self.fc3 = nn.Linear(512, 128)
        self.fc4 = nn.Linear(128, 32)
        self.fc5 = nn.Linear(32,2)
        
#         self.weight = nn.Parameter(torch.randn(ndim, 1))  # 定义权重
#         self.bias = nn.Parameter(torch.randn(1))     # 定义偏置
        
    def forward(self, x):
        x = x.view(-1, 12288)   # 利用view()将x转换为一维张量
        x = F.relu(self.fc1(x))
        x = F.relu(self.fc2(x))
        x = F.relu(self.fc3(x))
        x = F.relu(self.fc4(x))
        x = self.fc5(x)
#         x = F.softmax(self.fc5(x))

        return x
simplenet = SimpleNet()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值