这里是设置:
test_observations : 6,767;train_observations: 73,268;train/test batch_size = 50;
我应该如何设置batch_size
、test_iter
、test_interval
、max_iter
?
谢谢!
回答:
所以你的验证集大小是6,767,你的验证批量大小是50。你的test_iter
= 验证集大小/验证批量大小 = 6,767/50 ≈ 135,这样几乎可以覆盖整个验证集。至于test_interval
,你可以选择任何值——这是网络在验证集上测试性能之前的迭代次数。对于较大的网络,可以使用5000这样的值作为test_interval
。对于你的网络,1000的test_interval
似乎是合适的。
要找到max_iter
,你需要选择你想要的epoch数,即你想覆盖训练集的次数(假设是2次——谨慎选择这个数字,以免网络过拟合)。另外一点,Caffe目前没有epoch的实现,但可以通过这个公式看出其效果:max_iter
= epoch数 * (训练集大小/训练批量大小) = 2 * (73,268/50) ≈ 29,000。这样,它将覆盖你的训练集两次,并且在训练了1000张图片后,会在你的6,767张图片上进行验证以进行优化。