python实现对caffe的训练,初始权重训练和继续训练

1、直接训练

直接训练比较简单,几行代码就可以搞定

 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

2、初始权重训练

如果想在别人的模型上面微调,增加一个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

3、继续训练

如果已经训练到了一半暂停了,想继续训练,就增加一个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

你可能感兴趣的:(caffe,python)