谁能解释一下批次大小和每个epoch步数之间的关系?

问题描述 投票:-1回答:1

我有一个包含272张图片的训练集。

  1. 批量 = 8, 每纪元步数 = 1 > 只训练8张图像的模型,并跳转到下一个时代?
  2. 批量 = 8, 每纪元步数 = 34(无洗牌)> 训练所有272张图像的模型,并跳转到下一个纪元?
  3. 在每次结束时 每纪元步数 它是否会更新模型的权重?
  4. 如果是,通过增加 每纪元步数 是否会有更好的效果?
  5. 在选择时是否有一个惯例?批量 & 每一纪元步数?
python tensorflow machine-learning keras deep-learning
1个回答
1
投票

如果我提供的定义使用272张图片作为训练数据集,8张作为批次大小。

  • 批量 - 将被一起送入神经网络的图像数量。
  • 纪元 - 迭代所有数据集的图像。
  • 步骤 - 通常是 批量时代数 确定 步骤. 默认情况下,这里的步数=2728=34步/次。总的来说,如果你想要10个epochs,你会得到10 x 34 = 340步。

现在,如果你的数据集非常大,或者有很多可能的方式来增强你的图像,这又会导致数据集的无限或动态长度,那么在这种情况下,你如何设置epoch?你只需使用 每纪元步数 来设置一个边界。你选择一个任意的值,比如说100,然后你假设你的总数据集长度是800。现在,你如何做增强是另一回事。通常情况下,你可以旋转,裁剪,或者每次用随机值缩放。

总之,来回答你的问题-----------------------------------------------。

  1. 是的,是的
  2. 是的,是的
  3. 是的,如果您使用的是 小批量梯度下降
  4. 好吧,是的,除非它过度适应或你的数据非常小或......还有很多其他事情需要考虑。
  5. 我不知道有什么。但是对于一个大概的数字,你可以在你的领域中检查高精度的开源训练模型的训练机制。

(注:我已经不在这个领域积极工作了。所以有些东西可能已经改变了,或者我可能搞错了)。)

© www.soinside.com 2019 - 2024. All rights reserved.