我正在使用 ImageDataGenerator 来增强我的图像。我需要从生成器中获取 y 标签。
示例:我有 10 张训练图像,7 张是标签 0,3 张是标签 1。我想将训练集大小增加到 100。
total_training_images = 100
total_val_images = 50
model.fit_generator(
train_generator,
steps_per_epoch= total_training_images // batch_size,
epochs=epochs,
validation_data=validation_generator,
validation_steps= total_val_images // batch_size)
据我了解,这会在每个 epoch 的 100 个训练图像上训练模型,根据我的数据生成器以某种方式增强每个图像,然后在 50 个图像上进行验证。
如果我执行
train_generator.classes
,我会得到一个输出 [0,0,0,0,0,0,0,1,1,1]。这对应于我的 7 张标签 0 图像和 3 张标签 1 图像。对于这 100 张新图像,我如何获得 y 标签?
这是否意味着当我将其增加到 100 张图像时,我的新
train_generator
标签是相同的,但重复了 10 次?基本上是 np.append(train_generator.classes)
10 次?我正在关注本教程,如果有帮助:
https://blog.keras.io/building-powerful-image-classification-models-using-very-little-data.html
最佳答案
标签与图像一起生成为单热编码。希望这会有所帮助!
training_set.class_indices
from keras.preprocessing import image
import matplotlib.pyplot as plt
x,y = train_generator.next()
for i in range(0,3):
image = x[i]
label = y[i]
print (label)
plt.imshow(image)
plt.show()
关于image - Keras 图像数据生成器显示标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45989879/