By setting the bottom and the top blob to be the same we can tell Caffe to do "in-place" computation to preserve memory consumption.
Currently I know I can safely use in-place "BatchNorm"
, "Scale"
and "ReLU"
layers (please let me know if I'm wrong). While it seems to have some issues for other layers (this issue seems to be an example).
When to use in-place layers in Caffe?
How does it work with back-propagation?