MNIST数据集:https://github.com/wwjjss/MNIST/tree/main
代码:https://github.com/wwjjss/LeNet_MNIST/tree/main
LeNet介绍:
网络结构:

1:输入,大小表示为(C*H*W)=(channel,hight,width),下同
输入图像大小为32*32
2:C1卷积层
输入通道1,输入通道6,卷积核大小5*5,步长1,填充2,得到输出特征图大小(6*28*28)
3:S2池化层
输入大小6*28*28,卷积核2*2,步长2,使得特征图变为原来的一半,输出大小为(6*14*14)
4:C3卷积层
输入通道6,输出通道16,输入大小(6*14*14),卷积核5*5,输出大小(16*10*10)
5:S4池化层
输入大小16*10*10
代码部分:
import torch
import torch.nn as nn # 引入pytorch函数库
import torchvision # 引入pytorch的图形库(torchvision.datasets/.models/.transforms/.utils)
import torchvision.transforms as transforms # 图形变换(如tensor转换)
# 是否使用GPU
DEVICE = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
# 设置超参数
NUM_CLASSES = 10 # 分类数目
EPOCHS = 5 # 训练轮次
BATCH_SIZE = 100 # 一轮训练批量大小
LR = 0.001 # 学习率learning_rate
# 创建数据集(root:设置数
使用LeNet模型训练MNIST数据集

该博客介绍了如何使用LeNet网络结构来训练经典的MNIST手写数字识别数据集。首先,详细说明了LeNet的网络结构,包括卷积层、池化层等。然后,展示了使用PyTorch实现LeNet模型的完整代码,包括数据预处理、模型定义、训练过程和测试。最后,提供了加载和测试单个图像的代码示例。
最低0.47元/天 解锁文章
277

被折叠的 条评论
为什么被折叠?



