Machine learning 每个历元和历元的步长设置如何影响Keras中的训练结果?

Machine learning 每个历元和历元的步长设置如何影响Keras中的训练结果?,machine-learning,keras,epoch,unsupervised-learning,adam,Machine Learning,Keras,Epoch,Unsupervised Learning,Adam,我的生成器总是从我的数据集中随机生成两幅图像,然后我使用这两个样本计算损失。假设我设置steps\u per\u epoch=40和epochs=5,如果我设置steps\u per\u epoch=5和epochs=40(我使用Adam作为优化器)epochs参数(也称为迭代)指的是整个训练数据的完整通过次数。steps\u per\u epoch参数是指在一个epoch期间生成的批数。因此,我们有每个历元的步骤=n个样本/批次大小 例如,如果我们有1000个训练样本,并且我们将批量大小设置为

我的生成器总是从我的数据集中随机生成两幅图像,然后我使用这两个样本计算损失。假设我设置
steps\u per\u epoch=40
epochs=5
,如果我设置
steps\u per\u epoch=5
epochs=40
(我使用Adam作为优化器)

epochs
参数(也称为迭代)指的是整个训练数据的完整通过次数。
steps\u per\u epoch
参数是指在一个epoch期间生成的批数。因此,我们有
每个历元的步骤=n个样本/批次大小

例如,如果我们有1000个训练样本,并且我们将批量大小设置为10,那么我们就有
步骤/epoch=1000/10=100
。可以设置
历元
,而不考虑批量大小或
每历元的步数


没有适用于所有场景的批量大小的确定值。通常,非常大的批量会减慢训练过程(即模型收敛到解决方案需要更多的时间),而非常小的批量可能无法很好地利用可用资源(即GPU和CPU)。通常的值包括32、64、128、256、512(2的幂有助于更快的GPU内存分配)。此外,这涉及到这个问题,其中包括相关书籍和论文的引用。或者在交叉验证中查看其答案,以获得更完整的批次大小定义。

但它如何影响结果?对于1000个训练样本,如果我将批处理大小设置为100,那么每个历元的步数将为10。这会对培训产生不同的影响吗?@TeresaHo我更新了我的帖子。请看一看。