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
已经开始训练