基于pytorch框架的手写数字识别(保姆级教学)

1、前言

       本文基于PyTorch框架,采用CNN卷积神经网络实现MNIST手写数字识别,不仅可以在GPU上,同时也可以在CPU上运行。方便即使只有CPU的小伙伴也可以运行该模型。本博客手把手教学,如何手写网络层(3层),以及模型训练,详细介绍各参数含义与用途。

2、模型源码解读

        该模型针对初级入门小白,因此只写了3层卷积层,使用的数据集是pytorch自带的数据集MNIST。

2.1 神经网络层定义

      CNN类继承自nn.Module,定义了一个包含三个卷积层和一个全连接层的卷积神经网络。每个卷积层后跟有ReLU激活函数和最大池化层(除了最后一个卷积层)。最后,通过一个全连接层进行分类。源代码如下,其中,注释中有对源代码中参数进行详细介绍,需要注意的是,MNIST数据集中图像,图像大小均为28*28,因此进过2次池化处理,变为7*7(28/2/2)。

class CNN(nn.Module):
    def __init__(self):
        super(CNN, self).__init__()
        self.conv1 = nn.Sequent
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

点云实验室lab

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值