2

我想运行 [FCN 代码][1] 进行语义分割。但是,我是 Caffe 的初学者,我不知道应该从什么时候开始运行代码。

跑步有分步指导吗?

4

1 回答 1

2

由于我在这里无法获得太多帮助,因此我在此处发布了步骤。对于那些没有经验的人(比如我)可能会有所帮助。我花了很长时间才弄清楚如何运行它并获得结果。你也许可以成功运行它,但是和我的情况类似,结果是长时间的空白图像,最后发现应该如何设置。

我可以对我的数据成功执行FCN8 ,我执行了以下步骤:

  1. 将数据分为两组(训练、验证)以及训练和验证中相应图像的标签(共 4 个文件夹:train_img_lmdbtrain_label_lmdb和)val_img_lmdbval_label_lmdb

  2. 将您的数据(每个单独)转换为 LMDB 格式(如果不是 RGB,请使用 cv2 函数进行转换),您将拥有 4 个 lmdb 文件夹,包括data.mdblock.mdb. 示例代码可在此处获得

  3. .caffemodel从作者提供的网址下载,

  4. 将路径更改为文件中 lmdb 文件的路径train_val.ptototxt,您应该有 4 个数据层,即、和source的路径train_img_lmdb,类似于此链接train_label_lmdbval_img_lmdbval_label_lmdb

  5. 在这一行之后添加一个convolution层(这里,我有五个类,然后根据地面实况图像中的类数更改):num_output

    层{名称:“score_5classes”类型:“卷积”底部:“score”顶部:“score_5classes”卷积参数{num_output:5 pad:0 kernel_size:1}}

  6. 按如下方式更改损失层(仅根据您在底层的名称):

    层{名称:“损失”类型:“SoftmaxWithLoss”底部:“score_5classes”底部:“标签”顶部:“损失”损失参数{归一化:真}}

  7. 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 的帮助

于 2017-12-28T13:27:13.857 回答