“images,labels=dataiter.next下一个()`work in Pythorch教程?

2024-09-30 03:23:33 发布

您现在位置:Python中文网/ 问答频道 /正文

这里是新的Python&PyTorch从业者。在

在教程cifar10_tutorial中,images, labels是如何分配的?在

trainset = torchvision.datasets.CIFAR10(root='./data', train=True,
                                        download=True, transform=transform)
trainloader = torch.utils.data.DataLoader(trainset, batch_size=4,
                                          shuffle=True, num_workers=2)

def imshow(img):
    img = img / 2 + 0.5     # unnormalize
    npimg = img.numpy()
    plt.imshow(np.transpose(npimg, (1, 2, 0)))


# get some random training images
dataiter = iter(trainloader)

images, labels = dataiter.next()

最后一行如何知道如何在images, labels = dataiter.next()中自动分配images, label?在

我检查了DataLoader类和DataLoaderIter类,但我认为我需要更多的关于iters的知识。在

谢谢!在


Tags: trueimgdatalabelstransformpytorchnextimages
1条回答
网友
1楼 · 发布于 2024-09-30 03:23:33

我认为理解iterable和迭代器之间的区别是至关重要的。iterable是一个可以迭代的对象。迭代器是一个对象,它使用返回对象下一个项的方法来迭代iterable对象。在

下面是一个简单的例子。考虑iterable并使用next方法调用列表中的下一项。这将打印下一项,直到到达列表末尾。如果到达终点,则会引发StopIteration错误。在

test = (1,2,3)
tester = iter(test)

while True:
    nextItem = next(tester)
    print(nextItem)

上面提到的类可能具有与此类似的实现,但是它返回一个包含图像和标签的元组。在

相关问题 更多 >

    热门问题