Recently contacted fine-grained classification, the classic method bilinear CNN used to bilinear layer, l2-normlize layer, SIGNED-SQRT layer, etc.
These layers do not exist in the Caffe-windows already BVLC version of Caffe, you need to add the above layers to the Caffe project if you want to apply them
Https://github.com/gy20073/compact_bilinear_pooling/tree/master/caffe-20160312 Fortunately already have the great gods to do these layers of related implementation. Thank
For the Linux environment Caffe words before the relevant layer to add, the process is relatively simple installation of the above links in the steps to complete, the general steps:
1. The CPP and CU files in src are copied to the SRC in the relative Caffe project.
2. The hpp files in the include are copied to the appropriate include in their caffe
3, src in the Caffe.proto file to add a new layer of parameters, note that the serial number can not be duplicated with the existing layer
Because BCNN also involved in Cuda in the relevant calculations, so also made cuda related changes, see links
For caffe-windows, you need to add the files in the steps to the corresponding location in the VS's SLn file: Otherwise, there are no applications for these layers in the generated project.
Caffe-windows adding layers