gpt4 book ai didi

machine-learning - 咖啡 | solver.prototxt值设置策略

转载 作者:行者123 更新时间:2023-11-30 08:22:33 28 4
gpt4 key购买 nike

在 Caffe 上,我正在尝试实现用于语义分割的全卷积网络。我想知道是否有特定的策略来为以下超参数设置 'solver.prototxt' 值:

  • 测试_iter
  • 测试间隔
  • iter_size
  • 最大迭代次数

这取决于您的训练集的图像数量吗?如果是这样,怎么办?

最佳答案

为了以有意义的方式设置这些值,您需要更多有关数据的信息:

<强>1。训练集大小您拥有的训练示例总数,我们将此数量称为 T
2.训练批量大小在单个批处理中一起处理的训练示例的数量,这通常由'train_val.prototxt'中的输入数据层设置。例如,在this file中训练批量大小设置为 256。让我们用 tb 表示这个数量。
3.验证集大小您为验证模型而预留的示例总数,我们用 V 表示。
4.在测试阶段的 batch_size 中设置的验证批量大小值。在 this example它设置为 50。我们称之为 vb

现在,在训练期间,您希望每隔一段时间就获得对网络性能的无偏估计。为此,您需要在验证集上运行网络进行 test_iter 迭代。要覆盖整个验证集,您需要 test_iter = V/vb
您希望多久获得一次此估算?这真的取决于你。如果您有一个非常大的验证集和一个缓慢的网络,验证太频繁会使训练过程太长。另一方面,验证不够频繁可能会导致您无法注意到训练过程是否以及何时未能收敛。 test_interval 确定验证的频率:通常对于大型网络,您将 test_interval 设置为 5K 左右,对于更小更快的网络,您可以选择较低的值。再说一次,一切都取决于你。

为了覆盖整个训练集(完成一个“纪元”),您需要运行 T/tb 迭代。通常一个人会训练几个时期,因此 max_iter=#epochs*T/tb

关于iter_size:这允许在多个训练小批量上平均梯度,请参阅this thread获取更多信息。

关于machine-learning - 咖啡 | solver.prototxt值设置策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33780779/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com