经典CNN识别MINIST数据集代码的理解

本文深入解析经典卷积神经网络(CNN)如何应用于MINIST手写数字识别任务,通过代码实例阐述CNN的构建过程,包括特征提取、池化操作以及训练与验证环节,帮助读者掌握深度学习在图像识别中的基本应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#关于CNN学习后 对pytorch的理解
#导入相应模块
import torch
import torch.nn as nn
import torchvision
import torch.utils.data as Data

# Hyper Parameters 超参数
EPOCH = 1  # 训练整批数据多少次, 为了节约时间, 我们只训练一次
BATCH_SIZE = 50
LR = 0.001  # 学习率
DOWNLOAD_MNIST = True  # 已经下载好的话,会自动跳过的

# Mnist 手写数字集的设置
train_data = torchvision.datasets.MNIST(
    root='./mnist/',  # 保存或者提取位置
    train=True,  # this is training data
    transform=torchvision.transforms.ToTensor(),  # 转换 PIL.Image or numpy.ndarray 成
    # torch.FloatTensor (C x H x W), 训练的时候 normalize 成 [0.0, 1.0] 区间
    download=DOWNLOAD_MNIST,  # 没下载就下载, 下载了就不用再下了
)
#关于train_data 里面的transform=torchvision.transforms.ToTensor(),是将图片改成C*H*W在这里为1*28*28
#而train_data.train data 为60000*28*28

test_data = torchvision.datasets.MNIST(
    root='./mnist/',
    train=False,
)
#print(test_data.test_data) 为10000*28*28

# 训练集丢BATCH_SIZE个, 图片大小为28*28
train_loader = Data.DataLoader(    #数据加载器。组合数据集和采样器,并在数据集上提供单进程或多进程迭代器
    dataset=train_data,            #数据加载器的作用是将数据存进去,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值