目录
在本篇博客中,我们将介绍如何使用LeNet-5模型在MNIST数据集上进行手写数字识别。LeNet-5是一种经典的卷积神经网络(CNN)模型,由Yann LeCun等人于1998年提出。虽然现在有很多更新的深度学习模型,但LeNet-5在理解CNN基本结构和原理方面仍然非常有用。
1. 准备数据集
MNIST数据集包含60000个训练样本和10000个测试样本,每个样本是一个28x28的灰度图像,代表0到9的手写数字。我们将使用PyTorch的内置函数来加载MNIST数据集。
首先,安装PyTorch:
pip install torch torchvision
接着,加载数据集:
import torch
from torchvision import datasets, transforms
# 数据预处理: 转换为Tensor并进行归一化
transform = transforms.Compose([
transforms.Resize((32, 32)),
transforms.ToTensor(),
transforms.Normalize((0.1307,), (0.3081,))
])
# 加载MNIST数据集
train_dataset = datasets.MNIST(root='./data', train=True, download=True, transform=transform)
test_data