添加BN层到deeplabV2

来源:互联网 发布:淘宝信誉查询源码 编辑:程序博客网 时间:2024/05/21 22:40

deeplabV2工程

这个工程里的caffe版本比较老,里面有很多写法和新版本不一样需要大改。、

把新版caffe叫做A,deeplabV2版本叫做B

1.添加.cpp,.cu和.hpp文件

2.修改caffe.proto,添加option和param参数
3.layer_factory.cpp里没有注册BN层,不用改这个文件
(以上跟网络上的教程没有区别)


4.在caffe.proto里面加一个Specparam类型(直接从A中复制)
4.A版BN层注册只需要一个参数,B版本注册需要两个参数,改成REGISTER_LAYER_CLASS(BatchNorm,BatchNormLayer);
5.两个版本在layer.hpp中定义的type返回方法不同。
  a.caffe.proto里的enum里添加BATCH_NORM类型。
  b.batch_norm_layer的第49行代码改为
    virtual inline LayerParameter_LayerType type() const {
    return LayerParameter_LayerType_BATCH_NORM;
  }

  

后面错误太多了改不下去了 有成功的告诉我。。。