1.配置caffe(CPU模式)參考上一篇博文
2.下載fcn源碼https://github.com/shelhamer/fcn.berkeleyvision.org
3.數據準備
sift-flow數據集http://www.cs.unc.edu/~jtighe/Papers/ECCV10/siftflow/SiftFlowDataset.zip
並解壓至/fcn.berkeleyvision.org/data/
下,並將文件夾名重命名爲sift-flow
。這裏一定要注意,/fcn.berkeleyvision.org/data/下本來就有一個文件夾叫sift-flow,千萬不要覆蓋。同時,這些原本就存在的文件夾裏的東西還要全部複製到新解壓的sift-flow文件夾下邊。你可以先把原本的sift-slow重新命名爲sitf-flow_1,然後再解壓複製!
預訓練模型http://dl.caffe.berkeleyvision.org/
下載VGG-16的預訓練模型放至/fcn.berkeleyvision.org/ilsvrc-nets/
目錄下,並重命名爲vgg16-fcn.caffemodel
。
把根目錄下 的所有文件拷貝到siftflow-fcn32s目錄下
4.代碼修改
(1)修改solve.py
# init #caffe.set_device(int(sys.argv[1])) #我的電腦沒有gpu,如果你電腦有gpu的話,這一行不用註釋 #caffe.set_device(0) #我的電腦沒有gpu,如果你電腦有gpu的話,這一行不用註釋 #affe.set_mode_gpu() #我的電腦沒有gpu,如果你電腦有gpu的話,這一行不用註釋 #solver = caffe.SGDSolver('solver.prototxt') #solver.net.copy_from(weights) solver = caffe.SGDSolver('solver.prototxt') vgg_net = caffe.Net(vgg_proto, vgg_weights, caffe.TRAIN) surgery.transplant(solver.net, vgg_net)
(2)修改solver.prototxt
添加
snapshot:4000 snapshot_prefix:"snapshot/train"
注:首先在siftflow-fcn32s目錄下新建snapshot文件夾
5.訓練
cmd進入siftflow-fcn32s目錄,輸入python solve.py
已經開始訓練