【发布时间】:2018-02-09 21:46:31
【问题描述】:
我正在使用 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]。这对应于我的标签 0 的 7 张图片和标签 1 的 3 张图片。
对于这 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
【问题讨论】:
-
理论上是的,但是如果增强隐藏了应该呈现该标签的图像部分,那么我不知道如何继续......
-
增强只是翻转和颜色调整。隐藏部分图像是什么意思?我想在增强后为我的训练集获取标签。测试集很好。如果我保存图像文件,我会得到与旧文件名无关的新文件名。
-
如果生成器进行旋转和调整大小,部分图像会丢失,但似乎没有。
标签: image deep-learning keras data-generation