Deep learning 如何将自定义bn层添加到caffe

Deep learning 如何将自定义bn层添加到caffe,deep-learning,caffe,batch-normalization,Deep Learning,Caffe,Batch Normalization,我从GitHub下载了一个项目,发现它没有“BN”层。 我想将其添加到caffe代码中,但遇到以下错误: 如何解决这个问题?看起来您使用的是一个旧的Caffe版本,它为REGISTER\u LAYER\u CLASS宏提供了两个参数,但是BN LAYER适用于一个新的Caffe版本,其中宏被更改为只使用一个参数(即层类型)。 您可以在其他层中检查REGISTER\u LAYER\u CLASS的其他参数是什么,并相应地将其添加到您的BN层,或者获取更新版本的Caffe并将deeplab层合并到其

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


如何解决这个问题?

看起来您使用的是一个旧的Caffe版本,它为
REGISTER\u LAYER\u CLASS
宏提供了两个参数,但是BN LAYER适用于一个新的Caffe版本,其中宏被更改为只使用一个参数(即层类型)。
您可以在其他层中检查
REGISTER\u LAYER\u CLASS
的其他参数是什么,并相应地将其添加到您的BN层,或者获取更新版本的Caffe并将deeplab层合并到其中。

(或者,这似乎是一个deeplab2 Caffe repo,最新版本,带有BN支持:)

看起来您使用的是一个旧的Caffe版本,该版本为
REGISTER\u LAYER\u类
宏采用了两个参数,但BN LAYER适用于更新的Caffe版本,其中宏被更改为仅采用一个参数(即层类型).
您可以在其他层中检查
REGISTER\u LAYER\u CLASS
的其他参数是什么,并相应地将其添加到您的BN层,或者获取更新版本的Caffe并将deeplab层合并到其中。

(或者,这似乎是一个最新的deeplab2 Caffe回购协议,带有BN支持:)

您从哪里获取批量规范层实现?从pspnet获取,因为我想将pspnet应用到deeplab。您从哪里获取批量规范层实现?从pspnet获取,因为我想将pspnet应用到deeplab
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);