PYTORCH下RNN对MINIST数据集图片的识别

本文介绍如何使用PyTorch实现RNN处理MNIST数据集,将图像视为时间序列,以理解RNN如何工作。实验结果显示准确率为96%,前10个预测全对。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import torch
from torch import nn
from torch.autograd import Variable
import torchvision.datasets as datasets
import torchvision.transforms as transforms
import numpy as np
import matplotlib.pyplot as plt
 
# 超参数
EPOCH = 1
BATCH_SIZE = 64
TIME_STEP = 28  # rnn time step  / image height
INPUT_SIZE = 28  # rnn input size / image width
LR = 0.01
DOWNLOWD_MNIST = True  # 如果没有下载好MNIST数据,设置为True
 
# 下载数据
# 训练数据
train_data = datasets.MNIST(root='./mnist', train=True, transform=transforms.ToTensor(), download=DOWNLOWD_MNIST)
train_loader = torch.utils.data.DataLoader(dataset=train_data, batch_size=BATCH_SIZE, shuffle=True)
#print(train_data.train_data.shape) 60000*28*28

# 测试数据
test_data = datasets.MNIST(root='./mnist', train=False)
#print(test_data.test_data.shape)大小10000*28*28
test_x = Variable(test_data.test_data, volatile=True).type(torch.FloatTensor)[:2000] / 255. # size 2000*28*28

test_y = test_data.test_labels.numpy()[:2000]

 

class RNN(nn.Module):
    def __init__(self):
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值