使用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,))
])
热门推荐
日本怎么选整形医院好(了解日本整形医院的介绍标准)
甲状腺癌的分型及表现
如何有效清洁出租房?这些清洁技巧有哪些实用建议?
如何打扫租房卫生以确保居住环境?这种打扫方法有哪些实用技巧?
英语创意写作课程设计与创新能力培养
脑卒中、脑梗死、脑中风是一回事吗?远离它们,需要注意这 5 件事→
新版脑卒中预防指南出炉:做好这8点,可减少80%中风!
改善体寒的食物有哪些
社保欠费必补缴:了解相关规定的专业人士为您解答
如何和项目经理说留任了
微服务架构设计中的常见10种设计模式
钛白粉在涂料工业中的应用
钛白粉的在塑料制品中使用如何提升白度和遮盖力?
为了上211大学,选择去新疆大学值不值?可以综合六个方面了解
长沙黄花国际机场年旅客吞吐量突破3000万人次
怎么用递归法计算行列式
牛油果核能吃吗?怎么吃?有哪些功效及作用?
个人借钱的艺术:如何在不伤害关系的前提下解决资金问题
《自然·通讯》:星形胶质细胞配角逆袭!科学家发现星形胶质细胞调控神经元活动的机制
新的脑细胞“清洁工”:星形胶质细胞为阿尔茨海默病治疗带来可能
四季贵宾犬健康检查全攻略
复旦上医团队《自然·通讯》:揭示肝脏机械力感知通路天然抗乙肝病毒机制
长三角铁路持续优化服务举措
车辆改装轮毂保险公司赔吗
血压低吃什么最快最有效 血压低不能吃什么
如何当上消防项目经理
T2紫铜电性能与弹性模量详解
判断气动截止阀气缸密封性能的方法?
利物浦9号考虑离队,俱乐部标价6000万,下家可能只有沙特人
如何做出明智的股票投资决策?这些决策存在哪些风险?