我在 Keras 中使用 ImageDataGenerator(),我想获取整个测试数据的标签。
目前我正在使用下面的代码来完成这个任务:
test_batches = ImageDataGenerator().flow_from_directory(...)
test_labels = []
for i in range(0,3):
test_labels.extend(np.array(test_batches[i][1]))
然而,这段代码之所以有效,是因为我知道我总共有 150 张图像,并且我的批处理大小定义为 50。
此外使用:
imgs, labels = next(test_batches)
正如关于此主题的类似帖子中所建议的那样,只返回一批标签,而不是整个数据集。因此,我想知道是否有比我上面使用的方法更有效的方法。
最佳答案
您可以简单地从包含单热编码中的标签和索引的 DirectoryIterator 中获取字典。然后访问 key 将为您提供所有标签。
test_batches.class_indices.keys()
关于python - Keras ImageDataGenerator() 如何从数据中获取所有标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48373685/