【问题标题】:pytorch can't shuffle the dataset [closed]pytorch 无法打乱数据集 [关闭]
【发布时间】:2020-12-07 12:17:32
【问题描述】:

我正在尝试使用来自 torchvision 的 mnist 数据集制作一个 AI,并使用 pytorch 制作它,但是当我输入一些打乱数据的代码并运行它时,它会说:

    trainset = torch.utils.data.Dataloader(train, batch_size=10, shuffle=True)
AttributeError: module 'torch.utils.data' has no attribute 'Dataloader'

我尝试了一种不同的方法,但它仍然不起作用,它说:

    trainset = torch.autograd.Variable.DataLoader(train, batch_size=10, shuffle=True) 
AttributeError: type object 'Variable' has no attribute 'DataLoader'

我使用的代码是:

import torch
import numpy as np
import torchvision
from torchvision import transforms, datasets


train = datasets.MNIST("", train=True, download=True,
                       transform = transforms.Compose([transforms.ToTensor()]))

test = datasets.MNIST("", train=False, download=True,
                       transform = transforms.Compose([transforms.ToTensor()]))

trainset = torch.utils.data.Dataloader(train, batch_size=10, shuffle=True)
testset = torch.utils.data.Dataloader(test, batch_size=10, shuffle=True)

for data in trainset:
    print(data)
    break

此代码的错误:

    trainset = torch.utils.data.Dataloader(train, batch_size=10, shuffle=True)
AttributeError: module 'torch.utils.data' has no attribute 'Dataloader'

我尝试了一个新版本,但仍然无法正常工作:

import torch
import numpy as np 
import torchvision
from torchvision import transforms, datasets


train = datasets.MNIST("", train=True, download=True,
                       transform = transforms.Compose([transforms.ToTensor()]))

test = datasets.MNIST("", train=False, download=True,
                       transform = transforms.Compose([transforms.ToTensor()])

trainset = torch.autograd.Variable.DataLoader(train, batch_size=10, shuffle=True)
testset = torch.autograd.Variable.DataLoader(test, batch_size=10, shuffle=True)

for data in trainset:
    print(data)
    break

此代码的错误:

    trainset = torch.autograd.Variable.DataLoader(train, batch_size=10, shuffle=True) 
AttributeError: type object 'Variable' has no attribute 'DataLoader'

我仍然很困惑为什么它不起作用,我正在学习一个教程但它不起作用

【问题讨论】:

    标签: python pytorch torchvision


    【解决方案1】:

    你有一个简单的错字:Dataloader -> DataLoader(大写L)。

    试试:

     trainset = torch.utils.data.DataLoader(train, batch_size=10, shuffle=True)
    

    【讨论】:

    • 非常感谢,现在可以使用了!!!
    猜你喜欢
    • 2019-12-05
    • 1970-01-01
    • 2019-06-12
    • 1970-01-01
    • 1970-01-01
    • 2019-05-23
    • 1970-01-01
    • 2020-02-19
    • 2017-11-24
    相关资源
    最近更新 更多