在将输入数据作为数组传递时,请勿指定`steps_per_epoch` /`steps`参数。请改用`batch_size`

时间:2019-12-06 18:54:37

标签: python tensorflow machine-learning keras deep-learning

我的代码如下:

model.fit_generator(generator=(train_image_list, train_mask_list),epochs=1000,shuffle=True)

train_image_list和train_mask_list都包含图像列表。尝试在Google Colab中运行以上代码时,出现以下错误:

When passing input data as arrays, do not specify `steps_per_epoch`/`steps` argument. Please use `batch_size` instead.

在Keras文档中,fit_generator()未指定名为“ batch_size”的参数。如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

这意味着您应该使用常规的fit()方法,并指定batch_size参数,而不是将数组作为生成器传递。

model.fit(train_image_list, train_mask_list, epochs=1000, batch_size=32)

摘自fit_generator()的文档:

  

generator:生成器或Sequence的实例   (keras.utils.Sequence)对象,以避免出现重复数据   使用多重处理。 生成器的输出必须是   元组(输入,目标)...

您要传递数组,而不是 generator 对象。因此Keras告诉您,您不能以这种方式使用fit_generator