Abd*_*ram 3 python pytorch google-colaboratory
我在 Google Colab 上使用 PyTorch,在使用 GPU 时遇到此错误,
TypeError Traceback (most recent call last)
<ipython-input-33-41cdbc758ecd> in <module>()
----> 1 dataiter= iter(trainloader)
TypeError: '_SingleProcessDataLoaderIter' object is not callable
Run Code Online (Sandbox Code Playgroud)
但使用普通CPU时没有错误。
我的代码:
%matplotlib inline
%config InlineBackend.figure_format = 'retina'
import torch
import numpy as np
from torchvision import datasets, transforms
from collections import OrderedDict
from torch import nn
from torch import optim
import torch.nn.functional as F
import helper
transform = transforms.Compose([transforms.ToTensor(),
transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])
trainset= datasets.MNIST("MINIST_data/", download= True, train=True, transform=transform)
trainloader= torch.utils.data.DataLoader(trainset, batch_size= 64, shuffle=True)
dataiter= iter(trainloader)
Run Code Online (Sandbox Code Playgroud)
使用enumerate
而不是iter
与 GPU 配合使用,但我不知道为什么,有人可以向我解释这个错误以及为什么会发生这种情况!?
如果您只需要加载一个步骤,next()
则不能直接使用DataLoader
这样的:next(data_loader)
,给出错误:TypeError: 'DataLoader' object is not an iterator
。
迈出一步:next(enumerate(data_loader))
有效。
归档时间: |
|
查看次数: |
5219 次 |
最近记录: |