我想运行 [FCN 代码][1] 进行语义分割。但是,我是 Caffe 的初学者,我不知道应该从什么时候开始运行代码。
跑步有分步指导吗?
由于我在这里无法获得太多帮助,因此我在此处发布了步骤。对于那些没有经验的人(比如我)可能会有所帮助。我花了很长时间才弄清楚如何运行它并获得结果。你也许可以成功运行它,但是和我的情况类似,结果是长时间的空白图像,最后发现应该如何设置。
我可以对我的数据成功执行FCN8 ,我执行了以下步骤:
将数据分为两组(训练、验证)以及训练和验证中相应图像的标签(共 4 个文件夹:train_img_lmdb
、train_label_lmdb
和)val_img_lmdb
val_label_lmdb
将您的数据(每个单独)转换为 LMDB 格式(如果不是 RGB,请使用 cv2 函数进行转换),您将拥有 4 个 lmdb 文件夹,包括data.mdb
和lock.mdb
. 示例代码可在此处获得。
.caffemodel
从作者提供的网址下载,
将路径更改为文件中 lmdb 文件的路径train_val.ptototxt
,您应该有 4 个数据层,即、和source
的路径train_img_lmdb
,类似于此链接train_label_lmdb
val_img_lmdb
val_label_lmdb
在这一行之后添加一个convolution
层(这里,我有五个类,然后根据地面实况图像中的类数更改):num_output
层{名称:“score_5classes”类型:“卷积”底部:“score”顶部:“score_5classes”卷积参数{num_output:5 pad:0 kernel_size:1}}
按如下方式更改损失层(仅根据您在底层的名称):
层{名称:“损失”类型:“SoftmaxWithLoss”底部:“score_5classes”底部:“标签”顶部:“损失”损失参数{归一化:真}}
caffe
运行模型以在您已安装 pycaffe 和已安装的环境中开始训练。
caffe train -solver=/path/to/solver.prototxt -weights /path/to/pre-trained/model/fcn8s-heavy-pascal.caffemodel 2>&1 | 三通 /path/to/save/training/log/file/fcn8_exp1.log
我希望它会有所帮助。感谢@Shai 的帮助