微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 Keras Datagenerator 时的漫长时代

如何解决使用 Keras Datagenerator 时的漫长时代

我正在尝试在 kaggle 数据集 https://www.kaggle.com/franciscoescobar/satellite-images-of-water-bodies 上实现语义分割任务。 我已经使用 Keras 数据生成器处理了数据,它看起来像这样 -

seed = 42
BATCH_SIZE = 50
HEIGHT = 256
WIDTH = 256
image_datagen = ImageDataGenerator(width_shift_range=0.1,rescale=1./255,validation_split=0.1,height_shift_range=0.1,)
mask_datagen = ImageDataGenerator(width_shift_range=0.1,rescale = 1./255,)

train_image_generator =image_datagen.flow_from_directory("data/image/",color_mode = 'grayscale',class_mode=None,seed=seed,subset='training',batch_size = BATCH_SIZE,target_size = (HEIGHT,WIDTH))

train_mask_generator = mask_datagen.flow_from_directory("data/mask/",WIDTH))

validation_image_generator =image_datagen.flow_from_directory("data/image/",subset='validation',WIDTH))

validation_mask_generator = mask_datagen.flow_from_directory("data/mask/",WIDTH))

train_generator = zip(train_image_generator,train_mask_generator)
val_generator = zip(validation_image_generator,validation_mask_generator)

但在那之后,当我使用 model.fit 方法训练模型时, 代码 -

EPOCHS = 70
callbacks = [WandbCallback(),tf.keras.callbacks.EarlyStopping(monitor='val_loss',patience = 1)]
BATCH_SIZE = 50
history = model.fit(train_generator,epochs = EPOCHS,validation_data = val_generator,verbose=1,callbacks=callbacks)

但是 epoch 花费的时间比通常需要的时间多得多,epoch 运行显示类似这样的内容

Epoch 1/70
   1557/UnkNown - 2038s 1s/step - loss: 0.2131 - accuracy: 0.5625

为什么要花太多时间??任何人,请帮忙。 我还附上了我制作的相应笔记本:link

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。