以googlenet 为例:
假设:
训练集:1281167
测试集:50000
类别数:1000
1, cd ${caffe_directory}/models/bvlc_googlenet/
2, vim solver.prototxt
3, vstrain_val.prototxt,效果如下图所示:
4,修改source。
5,调整train_val.prototxt中训练层的batch_size,一般只要保证solver.prototxt中的test_interval乘上的结果要小于等于训练集数量就可,具体数值可以自定义.
6,一般为了保证测试时用到了所有的测试图片,所以需要保证solver.prototxt中的test_iter乘上train_val.prototxt中测试层的batch_size的结果要大于测试集数量,而原来的 test_iter * batch_size 正好等于 50000,所以不用改了,当然乘积小于测试集的数量有时也可以。
7,因为有1000个种类,所以检查下图的三处,确认num_output是1000.(PS:因为googlenet有三个损失层,所以改3个)
之后就可以训练了。