Caffe技巧之使用snapshot来继续网络训练
有时候想在已经训练好的网络上继续之前的训练,那么可以使用snapshot的命令,本文介绍在Caffe里如何使用snapshot来继续网络训练。
snapshot:500 #没迭代snapshot次,保存一次快照
Step 1:设置solver.prototxt
首先,在solver.prototxt 中设置得到snapshot 文件,例如
snapshot:500 #snapshot intermediate results
这样每 500 iterations就可以得到model_iter_xxx.caffemodel 和model_iter_xxx.solverstate (例如cifar10_quick_iter_3000.solverstate)。
Step 2:设置运行脚本sh
这样, 设置好了snapshot,在.sh 再设置一下就可以了,使用它来在原有基础上继续训练则设置如下
$TOOLS/caffetrain\
-solver=examples/cifar10/cifar10_quick_solver.prototxt\
-snapshot=examples/cifar10/cifar10_quick_iter_3000.solverstate
特别需要注意的是,图中的反斜杠 \ ,如果丢失了 “\” 那么这个选项的设置将会失效!!
以上面的设置为例,snapshot载入成功的话,Ubuntu的终端里显示的迭代次数将是从3000 iterations开始,如果还是从0 iterations开始那就是设置没有成功