python實現對caffe的訓練,初始權重訓練和繼續訓練
阿新 • • 發佈:2018-12-20
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