【发布时间】:2020-09-09 19:14:56
【问题描述】:
我正在使用 Keras ImageDataGenerator 类训练 CNN。我的代码看起来像:
from keras.callbacks import LearningRateScheduler
from keras.callbacks import EarlyStopping
from keras.preprocessing.image import ImageDataGenerator
data_generator = ImageDataGenerator(
rotation_range = 15,
width_shift_range = 0.1,
height_shift_range = 0.1,
horizontal_flip = True
)
data_generator.fit(xtrain)
es = EarlyStopping(monitor = 'val_loss', mode = 'min', verbose = 1, patience = 100)
history = CNN_model.fit(data_generator.flow(xtrain, ytrain, batch_size = batch_size), \
epochs = num_epochs, \
validation_data = (xval, yval), \
callbacks = [LearningRateScheduler(learning_rate_schedule), es])
现在我查看了文档,但我不完全了解它是对每批中的每张图像进行这种图像增强,还是随机选择其中的一部分?我假设它对每个图像都进行了增强,但我正在努力理解。
如果它对我的数据集中的每个图像都这样做,这意味着我在任何训练时期都没有使用未增强的图像,对吗?
谢谢!
【问题讨论】:
标签: python python-3.x tensorflow keras conv-neural-network