如何在caffe中添加自定义bn层

how to add customize bn layer to caffe

我从 GitHub 下载了一个 deeplabV2 项目,发现它没有 "BN" 层。
我想将其添加到 caffe 代码中,但遇到此错误:

src/caffe/layers/batch_norm_layer.cpp:250:31: 
error: macro "REGISTER_LAYER_CLASS" requires 2 arguments, but only 1 given REGISTER_LAYER_CLASS(BatchNorm);

请问如何解决?

看起来您使用的是旧 Caffe 版本,它为 REGISTER_LAYER_CLASS 宏采用 2 个参数,但 BN 层适用于较新的 Caffe 版本,其中宏被更改为仅采用一个参数(这是图层类型)。
您可以检查其他层 REGISTER_LAYER_CLASS 的另一个参数是什么,并将其相应地添加到您的 BN 层,或者使用更新版本的 Caffe 并将 deeplab 层合并到其中。
(或者,这似乎是一个最新的 deeplab2 Caffe 存储库,支持 BN:https://github.com/xmyqsh/deeplab-v2