生成器函数:要解压的值太多(预期为 2)

Generator function: Too many values to unpack (expected 2)

我创建了一个自定义生成器,它生成 corrupted_imageoriginal_image 的元组。

如果我这样调用这个生成器:

(corrupted_images_batch, orig_images_batch) = next(test_generator)

它 returns 预期输出,即两个批次中的 64 张图像。为了训练我的模型,我需要遍历整个批次。

但如果我尝试做类似的事情:

for (corrupted_images_batch, orig_images_batch) in next(test_generator):
    print(corrupted_images_batch)

我得到一个错误:ValueError: too many values to unpack (expected 2)

(corrupted_images_batch, orig_images_batch) = next(test_generator) 所示,next(test_generator) 是一个 2 元组,因此您不能循环遍历它,将每个元素解包成一个 2 元组。

您要找的是:

for (corrupted_images_batch, orig_images_batch) in test_generator:
    print(corrupted_images_batch)

这样你就遍历了生成器,而不仅仅是生成的下一个元素。