pytorch神经网络入门(三)

本文介绍了如何使用PyTorch建立一个简单的卷积神经网络,并通过hiddenlayer库进行可视化。首先展示了卷积神经网络的代码实现,解决了IndentationError。接着,讲解了hiddenlayer的使用方法,包括安装和生成网络结构图。虽然遇到了一些问题,如环境变量设置,但最终成功生成了网络结构的可视化图像。最后提到了MNIST数据集,为后续的模型训练和可视化训练过程做准备。
摘要由CSDN通过智能技术生成

一、建立简单的卷积神经网络

import torch
from torch import nn
 
class ConvNet(nn.Module):
     def __init__(self):
         super(ConvNet, self).__init__()
 
         self.conv1 = nn.Sequential(
             nn.Conv2d(1, 16, 3, 1, 1),
             nn.ReLU(),
             nn.AvgPool2d(2, 2)
         )
 
         self.conv2 = nn.Sequential(
             nn.Conv2d(16, 32, 3, 1, 1),
             nn.ReLU(),
             nn.MaxPool2d(2, 2)
         )
 
         self.fc = nn.Sequential(
             nn.Linear(32 * 7 * 7, 128),
             nn.ReLU(),
             nn.Linear(128, 64),
             nn.ReLU()
         )
 
         self.out = nn.Linear(64, 10)
 
     def forward(self, x):
         x = self.conv1(x)
         x = self.conv2(x)
         x = x.view(x.size(0), -1)
         x = self.fc(x)
         output = self.out(x)
         return output

MyConvNet = ConvNet()
print(MyConvNet)

网络结构如下:

遇见的问题:

1、IndentationError: unexpected indent

python代码缩进问题,删掉异常缩进就可以解决

二、可视化神经网络

绘制程序如下:

import hiddenlayer as h
 vis_graph = h.build_graph(MyConvNet, torch.zeros([1 ,1, 28, 28]))   # 获取绘制图像的对象
 vis_graph.theme = h.graph.THEMES["blue"].copy()     # 指定主题颜色
 vis_graph.save("./demo1.png")   # 保存图像的路径

安装可视化工具

pip install hiddenlayer

 还需要在安装IPython,不然代码运行会报错。

还有另外可视化工具

图片生成成功

 但是其实是失败的

要添加环境变量到系统中

macport安装步骤

Mac Port 基本用法总结 - 走看看 (zoukankan.com)

window下解决方案

(13条消息) Graphviz安装配置及入门_lizzy05的博客-CSDN博客_graphviz安装

安装完软件,完美运行

生成的是pdf

 

三、训练模型并且训练过程可视化

下载测试数据集

MNIST 数据集已经是一个被”嚼烂”了的数据集, 很多教程都会对它”下手”, 几乎成为一个 “典范”. 不过有些人可能对它还不是很了解, 下面来介绍一下.

MNIST 数据集可在 http://yann.lecun.com/exdb/mnist/ 获取, 它包含了四个部分:

Training set images: train-images-idx3-ubyte.gz (9.9 MB, 解压后 47 MB, 包含 60,000 个样本)
Training set labels: train-labels-idx1-ubyte.gz (29 KB, 解压后 60 KB, 包含 60,000 个标签)
Test set images: t10k-images-idx3-ubyte.gz (1.6 MB, 解压后 7.8 MB, 包含 10,000 个样本)
Test set labels: t10k-labels-idx1-ubyte.gz (5KB, 解压后 10 KB, 包含 10,000 个标签)


MNIST 数据集来自美国国家标准与技术研究所, National Institute of Standards and Technology (NIST). 训练集 (training set) 由来自 250 个不同人手写的数字构成, 其中 50% 是高中学生, 50% 来自人口普查局 (the Census Bureau) 的工作人员. 测试集(test set) 也是同样比例的手写数字数据.

原文链接:https://blog.csdn.net/simple_the_best/article/details/75267863

详细内容见下一篇,控制每一篇篇幅不要太长,哈哈。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

惟见长江天际流

你的鼓支持是我分享的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值