一、卷积神经网络CNN
二、代码实现(PyTorch)
1. 导入依赖库
import torch
from torch import nn, optim
from torchvision import datasets, transforms
from torch.utils.data import DataLoader
-
nn:包含了torch已经准备好的层,激活函数、全连接层等
-
optim:提供了神经网络的一系列优化算法,如 SGD、Adam 等
-
datasets:提供常用的数据集,如 MNIST(本次使用)、CIFAR10/100、ImageNet、COCO 等
-
DataLoder:装载上面提到的数据集
2. 准备数据集
这里使用MNIST数据集,它是一个大型手写数字数据库(包含0~9十个数字),原始的这两个数据集由128×128像素的黑白图像组成。LeCun等人将其进行归一化和尺寸调整后得到的是28×28的灰度图像。
MNIST数据集总共包含两个子数据集:一个训练数据集(train_dataset)和一个测试数据集(test_dataset)。它们分别包含了60K和10K的28×28的灰度图像。代码如下:
# 训练集
train_dataset = datasets.MNIST(root='./',
train=True,
transform=transforms.ToTensor(), # 数据转换为张量格式
download=True)
# 测试集
test_dataset = datasets.MNIST(root='./',