【发布时间】:2020-08-01 21:37:43
【问题描述】:
我使用以下代码用发票图像训练我的 CNN 模型。
train_datagen = ImageDataGenerator(
rescale = 1. / 255,
shear_range = 0.2,
zoom_range = 0.2,
horizontal_flip = True
)
test_datagen = ImageDataGenerator(rescale = 1. / 255)
train_generator = train_datagen.flow_from_directory(train_data_dir,
target_size =(img_width, img_height),
batch_size = batch_size)
validation_generator = test_datagen.flow_from_directory(
validation_data_dir,
target_size =(img_width, img_height),
batch_size = batch_size)
model.fit_generator(train_generator,
steps_per_epoch = nb_train_samples // batch_size,
epochs = epochs, validation_data = validation_generator,
validation_steps = nb_validation_samples // batch_size)
问题是我在训练数据集中只使用了直立图像。我所有的图片都如下图所示:
当我想发送如下图的训练后,我的模型无法预测其正确的类别。
如下所示,我将 Horizontal_flip = True 发送到 ImageDataGenerator
train_datagen = ImageDataGenerator(
rescale = 1. / 255,
shear_range = 0.2,
zoom_range = 0.2,
horizontal_flip = True
)
如何更改我的代码,以便它甚至可以预测翻转的图像。还是应该在我的训练数据集中使用手动翻转的图像?
【问题讨论】:
标签: python tensorflow image-processing keras conv-neural-network