因此,我尝试在Jupyter中实现此kaggle code,以测试笔记本电脑的性能。 对代码进行了一些修改以适合我的环境版本:
#from scipy.ndimage import imread
from imageio import imread
任何帮助或建议都将受到赞赏。
答案 0 :(得分:1)
您未正确指定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()
参数,如果数据有限,则不需要指定参数。