如何解决Tensorflow输入生成器用完了数据
因此,我尝试在Jupyter中实现此kaggle code,以测试笔记本电脑的性能。 对代码进行了一些修改以适合我的环境版本:
#from scipy.ndimage import imread
from imageio import imread
任何帮助或建议都将受到赞赏。
解决方法
您未正确指定step_per_epoch
。
steps_per_epoch应该等于
steps_per_epoch = ceil(number_of_samples / batch_size)
根据您的情况
steps_per_epoch = ceil(1161 / 16) = ceil(72.56) = 73
尝试指定steps_per_epoch = 73
您可以按照73个步骤用尽所有数据。现在,如果您指定的steps_per_epoch
高于73,即74
无可用数据。因此,您得到input generator ran out of data
更多信息: 模型训练包括前进和后退两部分。
1 train step = 1 forward pass + 1 backward pass
对单个批次计算单个火车步长(1个向前通过+ 1个向后通过)
因此,如果您有100
个样本且批次大小为10
。
您的模型将有10个训练步骤。
Epoch:Epoch定义为对数据集的完整迭代。 因此,要使您的模型完全迭代100个样本的数据集,它应该经历10个训练步骤。
这个训练步骤只不过是steps_per_epoch
。
通常在将无限数据生成器提供给steps_per_epoch
命令时指定fit()
参数,如果数据有限,则不需要指定参数。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。