The implementation code for GSFL-Net combined with Compact Bilinear Pooling feature extraction. The default dataset is CUB-200-2011. For other feature extaction model combined with GSFL-Net, please make your changes according to the provided code.
Save your images according to the heirarchical structure as below:
Level 0: class1, class2, ..., classC Level 1: 1.jpg, 2.jpg, ..., N.jpg
Namely, there are N images in each folder "class#" (the number of images from each class can be different)
CompactBilinear_GSFL_fc.py: training the network without finetuning the convolutional layers in the pre-trained VGG 16 model.
CompactBilinear_GSFL_all.py: training the whole network include the convolutional layers in the pre-train VGG 16 model.
cluster_label.pth: The clustering results using the K-means method with features extracted through pre-trained VGG16 model.
In order to obtain the same accuracy as claimed in the paper, the readers should first train the network using CompactBilinear_GSFL_fc.py with large learning rate, save the results. Then, use the results as the initial values for the network, and train the whole network using CompactBilinear_GSFL_all.py with small learning rate. The default parameter values including leanring rates are given in the files.