【Python】使用PyTorch训练一个手写数字识别模型(MNIST)

使用PyTorch训练一个手写数字识别模型(MNIST)
在这篇博客中,使用了PyTorch构建一个简单的神经网络来识别手写数字。将使用MNIST数据集,这是一个经典的机器学习基准数据集,用于测试各种模型的性能。MNIST数据集包含大约60,000个训练样本和10,000个测试样本,每个样本都是一个28x28像素的手写数字图像,标签为0到9。
在这里插入图片描述

1. 准备工作

首先导入必要的库,并定义一个简单的神经网络结构。这个神经网络由三个线性层组成,每个线性层之间使用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<

相关推荐

  1. DeepLearning in Pytorch|数字识别器_minst_convnet

    2024-05-14 08:42:06       33 阅读
  2. MINIST数据集&数字识别

    2024-05-14 08:42:06       30 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-14 08:42:06       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-14 08:42:06       101 阅读
  3. 在Django里面运行非项目文件

    2024-05-14 08:42:06       82 阅读
  4. Python语言-面向对象

    2024-05-14 08:42:06       91 阅读

热门阅读

  1. git之从整个版本中彻底删除文件)

    2024-05-14 08:42:06       31 阅读
  2. 十大排序算法

    2024-05-14 08:42:06       36 阅读
  3. 混合使用MFC与QT的深度技术分析

    2024-05-14 08:42:06       30 阅读
  4. Oracle中TEMPORARY tablespace和PERMANENT tablespace的差别

    2024-05-14 08:42:06       33 阅读
  5. Excel中`SUM`和`SUMPRODUCT`

    2024-05-14 08:42:06       30 阅读
  6. 驱动开发-用户空间和内核空间数据传输

    2024-05-14 08:42:06       34 阅读
  7. Elasticsearch映射定义

    2024-05-14 08:42:06       31 阅读
  8. RSA非对称加密解密,前端公钥加密后端私钥解密

    2024-05-14 08:42:06       31 阅读
  9. Spring Cloud 架构技术版本选型

    2024-05-14 08:42:06       36 阅读
  10. 优化运行效率

    2024-05-14 08:42:06       32 阅读
  11. Git检测和处理版本冲突的原理

    2024-05-14 08:42:06       32 阅读