【发布时间】:2020-04-17 19:54:49
【问题描述】:
我在 tf2 上运行一个小数据集的简单分类问题,使用两种不同的方式加载数据。
在第一种方式中,我通过读取图像并将它们加载到(train_x,train_y)和(test_w,test_y)中来加载数据。 训练速度很快,很好。
然后,我想尝试像这样使用 DataGenerator
training_datagen = ImageDataGenerator(
rescale = 1./255,
rotation_range=15,
fill_mode='nearest')
validation_datagen = ImageDataGenerator(rescale = 1./255)
train_generator = training_datagen.flow_from_directory(
TRAINING_DIR,
target_size=(224,224),
class_mode='categorical'
)
validation_generator = validation_datagen.flow_from_directory(
VALIDATION_DIR,
target_size=(224,224),
class_mode='categorical'
)
然后我用命令运行训练
H = model.fit(
train_generator,
batch_size=2,
validation_data= validation_generator,
verbose = 1,
epochs=EPOCHS)
然后,训练变得非常缓慢。一个 epoch 持续几分钟,而在前一种情况下,整个训练不到 15 秒。
我不明白是什么问题。似乎这个问题在多个开发人员之间共享,但不清楚为什么使用数据生成器时训练变得如此缓慢。
谢谢
【问题讨论】:
标签: keras classification