【发布时间】:2019-12-05 09:54:53
【问题描述】:
我构建了一个带有和不带有 ImageDataGenerator 的神经网络。当我不使用它时,它工作正常。当我将它与 IDG 一起使用时,准确性和 valid_accuracy-scores 都非常糟糕。所以我认为我做错了什么。
我想使用 IDG 来看看增强可以为我的神经网络做些什么。但即使我摆脱了所有的增强,它仍然表现不佳。
这是我的 IDG 代码:
image_size=224
train_datagen = ImageDataGenerator(rescale=1./255, validation_split = 0.2)
train_generator = train_datagen.flow_from_directory('images',
target_size = (image_size, image_size),
batch_size = 10
class_mode = 'categorical'
subset='training')
validation_generator = train_datagen.flow_from_directory('images',
target_size = (image_size, image_size),
batch_size = 10
class_mode = 'categorical'
subset='training')
当我适合它时,我会使用以下代码:
chat = model.fit_generator(train_generator, steps_per_epoch = train_generator.samples // 10,
validation_data = validation_generator,
validation_steps = validation_generator.samples // 10,
epochs = 10)
我做错了吗? IDG 是否对我看不到的图像执行操作,但会更改以某种方式影响图像的内容?
当我绘制图像时,我没有看到任何奇怪的东西。
希望有人能给我一些建议!
【问题讨论】:
-
会不会和steps_per_epoch或validation_steps有关?
-
我可以采取哪些步骤来找出问题所在?
-
steps_per_epoch是训练生成器在考虑一个时期结束之前应该产生的批次数。如果您有 600 个批量大小为 20 的训练图像,则每个 epoch 需要 30 步。validation_steps将相同的逻辑应用于验证数据生成器,无论是在每个 epoch 结束时。 -
您是否为您的网络使用过任何迁移学习?可能是您的迁移学习权重与您的图像尺寸不兼容。
标签: python-3.x tensorflow keras conv-neural-network