caffe SilenceLayer

*******************************2017/5/13****************************

在SSD代码中,添加新的层,出现了问题,查找说是需要加Silence层,找了一些资料,整理一下,方便以后学习

The use of this layer is simply to avoid that the output of unused blobs is reported in the log. Being an output manager layer, it is obviously zero its gradient.

SilenceLayer的作用就是避免在log中打印并没有使用的blobs的信息。作为一个output的管理层,梯度是0。


在stackoverflow给出了一个例子

For instance, let us assume we are using AlexNet and we change the bottom of the 'fc7' layer to 'pool5' instead of 'fc6'. If we do not delete the 'fc6' blob declaration, this layer is not used anymore but its ouput will be printed in stderr: it is considered as an output of the whole architecture. If we want to keep 'fc6' for some reasons, but without showing its values, we can use the 'SilenceLayer'.

在http://caffe.berkeleyvision.org/tutorial/layers/silence.html给出的解释:

  • Layer type: Silence
  • Doxygen Documentation
  • Header: ./include/caffe/layers/silence_layer.hpp
  • CPU implementation: ./src/caffe/layers/silence_layer.cpp
  • CUDA GPU implementation: ./src/caffe/layers/silence_layer.cu

Silences a blob, so that it is not printed.

也可以在caffe.help中看到http://caffe.help/manual/layers/silence.html



你可能感兴趣的:(caffe SilenceLayer)