使用PyTorch训练一个手写数字识别模型(MNIST)
创作时间:
作者:
@小白创作中心
使用PyTorch训练一个手写数字识别模型(MNIST)
引用
CSDN
1.
https://blog.csdn.net/m0_67724631/article/details/138806650
本文将介绍如何使用PyTorch训练一个手写数字识别模型(MNIST)。MNIST数据集是一个经典的机器学习基准数据集,包含大约60,000个训练样本和10,000个测试样本,每个样本都是一个28x28像素的手写数字图像,标签为0到9。
准备工作
首先导入必要的库,并定义一个简单的神经网络结构。这个神经网络由三个线性层组成,每个线性层之间使用ReLU激活函数进行激活。最后一层使用log softmax作为输出。类似下图
import torch
import torch.nn as nn
import torch.nn.functional as F
import torch.optim as optim
from torchvision import datasets, transforms
from torch.utils.data import DataLoader
class Net(nn.Module):
def __init__(self):
super(Net, self).__init__()
self.fc1 = nn.Linear(28 * 28, 128)
self.fc2 = nn.Linear(128, 64)
self.fc3 = nn.Linear(64, 10)
def forward(self, x):
x = x.view(-1, 28 * 28)
x = F.relu(self.fc1(x))
x = F.relu(self.fc2(x))
x = self.fc3(x)
return F.log_softmax(x, dim=1)
初始化神经网络、损失函数和优化器。
net = Net()
criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(net.parameters(), lr=0.01, momentum=0.9)
定义数据预处理的转换。将图像转换为PyTorch张量,并对图像进行标准化处理。
transform = transforms.Compose([
transforms.ToTensor(),
transforms.Normalize((0.1307,), (0.3081,))
])
热门推荐
影像组学与机器学习:医学影像分析的未来方向
毛发管理有哪些项目
中国首个海外军事基地所在国,世界兵营吉布提如何因中国焕发生机
RPA实施的四大阶段:一步步的详细指南
又到高发季!儿科迎来就诊高峰,医生:警惕多种病原叠加感染,持续高热要及时就医……
山茶花养殖方法和注意事项
智能知识库提升产品文档检索效率
塞恩思伯里展厅|非洲的艺术文化史
改善室内空气质量、预防呼吸道感染的指导手册
怎样去除肝火
模拟人生4《生与死》扩展包:全新冒险之旅,解锁死神职业与转生体验
《模拟人生4》中每个游戏包的排名
AI大模型重读肯尼迪遇刺档案,三大惊人发现能否揭开历史真相?
国家西部战略推动稀有金属材料市场蓬勃发展
苏打水真的能调节酸碱平衡、治疗痛风吗?真相令人意外
智能马桶通电没反应怎么办?原因排查与维修指南
梦见没赶上火车:6种可能的心理暗示
双胞胎的指纹是一样的吗?
粗硬发质养发护发:揭开美容护肤行业的谜团
停止在你的数据库中使用UUID
冬至:从天文到民俗的文化盛宴
身高是遗传决定的,后天不能改变吗
胃癌初期无声无息,不同阶段,症状表现不同
如何开通自媒体账号实现盈利?具体流程是怎样的?从0到月入过万的完整流程!
崩坏星穹铁道模拟宇宙中虫巢事件的全方位深度解析与探讨
喝奶茶会对身体有害吗
什么是动态IP地址?一次搞懂动态IP的原理与应用
小名女孩,探索名字背后的文化与情感
全面启动健康模式:国家级瘦身攻略发布!
全国爱肝日 | 脂肪肝遇上中医,开启肝脏的 “逆袭之旅”