我想运行[FCN代码] [1]进行语义分割。但是,我是Caffe的初学者,我不知道从哪一点开始运行代码。
是否有任何分步指导运行?
答案 0 :(得分:2)
由于我在这里得不到多少帮助,我在这里发布了这些步骤。对于那些没有经验的人(比如我),这可能会有所帮助。我花了很长时间才弄清楚如何运行它并获得结果。你可能能够成功运行它,但与我的情况类似,结果很长时间是空白图像,最后发现应该如何设置。
我可以对我的数据成功执行FCN8s,并执行了以下步骤:
train_img_lmdb
,train_label_lmdb
,val_img_lmdb
和val_label_lmdb
)data.mdb
和lock.mdb
。示例代码为available here。.caffemodel
train_val.ptototxt
文件中lmdb文件路径的路径,您应该有4个数据层,source
是train_img_lmdb
的路径,train_label_lmdb
,val_img_lmdb
和val_label_lmdb
,类似于this link 在this line之后添加convolution
图层(此处,我有五个类,然后根据地面实况图像中的类数更改num_output
):
图层{ 名称:" score_5classes" 类型:"卷积" 底部:"得分" top:" score_5classes" convolution_param { num_output:5 垫:0 kernel_size:1 } }
按如下方式更改损失层(仅根据底层的名称):
图层{ 名称:"损失" type:" SoftmaxWithLoss" 底部:" score_5classes" 底部:"标签" 顶部:"损失" loss_param { normalize:true } }
运行模型开始训练你有pycaffe并安装了caffe
环境。
caffe train -solver = / path / to / solver.prototxt -weights /path/to/pre-trained/model/fcn8s-heavy-pascal.caffemodel 2>& 1 | tee /path/to/save/training/log/file/fcn8_exp1.log
我希望它有所帮助。感谢@ Shai的帮助