使用PyTorch实现GAN网络-MNIST手写数据集-数据读取模块实现

在本目录下创建文件夹myData/mnist

import os
os.makedirs("./myData/mnist",exist_ok=True)

使用Pytorch下的Datasets包自动下载MNIST数据集到本地

import torch
from torchvision import datasets
import torchvision.transforms as transforms

# 设置图片像素点 28*28*1 = 784个像素点
img_shape = (1,28,28)
# 使用transforms模块下的Compose类,将多个transform组合在一起
composedTransform = transforms.Compose([transforms.Resize(28),transforms.ToTensor(),transforms.Normalize([0.5],[0.5])])
#将数据集下载到创建的文件夹下
mnist = datasets.MNIST(
    "./myData/mnist",
    train = True,
    download = True,
    transform = composedTransform
)

Downloading http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz
Downloading http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz to ./myData/mnist\MNIST\raw\train-images-idx3-ubyte.gz


100.0%


Extracting ./myData/mnist\MNIST\raw\train-images-idx3-ubyte.gz to ./myData/mnist\MNIST\raw

Downloading http://yann.lecun.com/exdb/mnist/train-labels-idx1-ubyte.gz
Downloading http://yann.lecun.com/exdb/mnist/train-labels-idx1-ubyte.gz to ./myData/mnist\MNIST\raw\train-labels-idx1-ubyte.gz


100.0%


Extracting ./myData/mnist\MNIST\raw\train-labels-idx1-ubyte.gz to ./myData/mnist\MNIST\raw

Downloading http://yann.lecun.com/exdb/mnist/t10k-images-idx3-ubyte.gz
Downloading http://yann.lecun.com/exdb/mnist/t10k-images-idx3-ubyte.gz to ./myData/mnist\MNIST\raw\t10k-images-idx3-ubyte.gz


100.0%


Extracting ./myData/mnist\MNIST\raw\t10k-images-idx3-ubyte.gz to ./myData/mnist\MNIST\raw

Downloading http://yann.lecun.com/exdb/mnist/t10k-labels-idx1-ubyte.gz
Downloading http://yann.lecun.com/exdb/mnist/t10k-labels-idx1-ubyte.gz to ./myData/mnist\MNIST\raw\t10k-labels-idx1-ubyte.gz


100.0%


Extracting ./myData/mnist\MNIST\raw\t10k-labels-idx1-ubyte.gz to ./myData/mnist\MNIST\raw

使用PyTorch的DataLoader类实现数据读取

# 设置批处理的大小为128
batch_size = 128
# 加载数据
dataloader = torch.utils.data.DataLoader(
    mnist,
    batch_size = batch_size,
    shuffle = True
)

数据读取成功

for i in dataloader:
    print(i)
    break
[tensor([[[[-1., -1., -1.,  ..., -1., -1., -1.],
          [-1., -1., -1.,  ..., -1., -1., -1.],
          [-1., -1., -1.,  ..., -1., -1., -1.],
          ...,
          [-1., -1., -1.,  ..., -1., -1., -1.],
          [-1., -1., -1.,  ..., -1., -1., -1.],
          [-1., -1., -1.,  ..., -1., -1., -1.]]],


        [[[-1., -1., -1.,  ..., -1., -1., -1.],
          [-1., -1., -1.,  ..., -1., -1., -1.],
          [-1., -1., -1.,  ..., -1., -1., -1.],
          ...,
          [-1., -1., -1.,  ..., -1., -1., -1.],
          [-1., -1., -1.,  ..., -1., -1., -1.],
          [-1., -1., -1.,  ..., -1., -1., -1.]]],


        [[[-1., -1., -1.,  ..., -1., -1., -1.],
          [-1., -1., -1.,  ..., -1., -1., -1.],
          [-1., -1., -1.,  ..., -1., -1., -1.],
          ...,
          [-1., -1., -1.,  ..., -1., -1., -1.],
          [-1., -1., -1.,  ..., -1., -1., -1.],
          [-1., -1., -1.,  ..., -1., -1., -1.]]],


        ...,


        [[[-1., -1., -1.,  ..., -1., -1., -1.],
          [-1., -1., -1.,  ..., -1., -1., -1.],
          [-1., -1., -1.,  ..., -1., -1., -1.],
          ...,
          [-1., -1., -1.,  ..., -1., -1., -1.],
          [-1., -1., -1.,  ..., -1., -1., -1.],
          [-1., -1., -1.,  ..., -1., -1., -1.]]],


        [[[-1., -1., -1.,  ..., -1., -1., -1.],
          [-1., -1., -1.,  ..., -1., -1., -1.],
          [-1., -1., -1.,  ..., -1., -1., -1.],
          ...,
          [-1., -1., -1.,  ..., -1., -1., -1.],
          [-1., -1., -1.,  ..., -1., -1., -1.],
          [-1., -1., -1.,  ..., -1., -1., -1.]]],


        [[[-1., -1., -1.,  ..., -1., -1., -1.],
          [-1., -1., -1.,  ..., -1., -1., -1.],
          [-1., -1., -1.,  ..., -1., -1., -1.],
          ...,
          [-1., -1., -1.,  ..., -1., -1., -1.],
          [-1., -1., -1.,  ..., -1., -1., -1.],
          [-1., -1., -1.,  ..., -1., -1., -1.]]]]), tensor([3, 5, 9, 8, 5, 9, 3, 8, 2, 7, 9, 9, 6, 1, 9, 3, 8, 1, 4, 1, 4, 3, 8, 0,
        2, 3, 0, 0, 0, 3, 9, 5, 8, 8, 8, 5, 0, 5, 6, 7, 6, 4, 9, 9, 2, 1, 4, 2,
        7, 3, 6, 9, 1, 6, 7, 9, 1, 3, 7, 2, 4, 7, 4, 1, 4, 1, 0, 2, 5, 5, 9, 6,
        0, 8, 5, 2, 0, 8, 5, 1, 1, 9, 5, 0, 0, 1, 8, 7, 2, 1, 8, 6, 7, 2, 1, 7,
        5, 9, 2, 8, 6, 1, 7, 7, 4, 9, 5, 0, 1, 2, 1, 9, 1, 0, 4, 6, 6, 7, 7, 8,
        7, 8, 1, 3, 3, 7, 0, 1])]
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值