-3

我正在尝试使用 Keras 训练神经网络模型,并且需要帮助解决此错误,当我尝试运行我的训练模型时会发生此错误:

WARNING:tensorflow:Your input ran out of data; interrupting training. Make sure that your dataset or generator can generate at least `steps_per_epoch * epochs` batches (in this case, 19990 batches). You may need to use the repeat() function when building your dataset.

代码可以在这里找到:

https://colab.research.google.com/drive/1hgQoo7Oz6UPIzQQ4ELwRUuPPNxaOAqeh?usp=sharing

4

1 回答 1

0

我建议您使用TensorFlow 已经建议您的方法fit()来代替方法。fit_generator()

但是,回到您的问题,实际上导致问题的原因是,在使用生成器时,您应该让模型计算出一个时期需要多少步才能完成。如果您手动设置 steps_per_epoch,那么您需要自己正确计算(steps_per_epoch=(data_samples/batch_size)),如果计算错误,则会发生此错误(这就是您的情况)。所以为了防止这个问题,你应该在调用方法时简单地删除step_per_epochfit_generator()参数,让模型step_per_epoch自己处理值,代码应该可以正常工作。

于 2021-01-08T09:30:48.897 回答