直接训练比较简单,几行代码就可以搞定
import caffe
caffe.set_device(0)
caffe.set_mode_gpu()
#solver root
caffe_root = 'D:/caffe-ssd-microsoft/caffe-ssd-microsoft/'
solver = caffe.SGDSolver(caffe_root +'../solver.prototxt')
solver.solve() # 直接训练,直接得到一个最终的训练model
如果想在别人的模型上面微调,增加一个solver.net.copy_from函数即可
import caffe
caffe.set_device(0)
caffe.set_mode_gpu()
#solver root
caffe_root = 'D:/caffe-ssd-microsoft/caffe-ssd-microsoft/'
solver = caffe.SGDSolver(caffe_root +'../solver.prototxt')
#预设权重,或者从已经训练好的文件中重新开始训练
solver.net.copy_from(caffe_root +'your.caffemodel')
solver.solve() # 直接训练,直接得到一个最终的训练model
如果已经训练到了一半暂停了,想继续训练,就增加一个solver.restore函数
import caffe
caffe.set_device(0)
caffe.set_mode_gpu()
#solver root
caffe_root = 'D:/caffe-ssd-microsoft/caffe-ssd-microsoft/'
solver = caffe.SGDSolver(caffe_root +'.../solver.prototxt')
#加载已训练的模型,继续训练的时候可以使用这个
solver.restore(caffe_root +'your.solverstate')
solver.solve() # 直接训练,直接得到一个最终的训练model