yeezhu / SPN.pytorch

PyTorch implementation of "Soft Proposal Networks for Weakly Supervised Object Localization", ICCV 2017.
http://yzhu.work/spn.html
MIT License
211 stars 37 forks source link

The mAP for classification on voc2007 is low after training #19

Closed Fuckmi closed 6 years ago

Fuckmi commented 6 years ago

As I run the runme.sh, only 20 epochs are specified on VOC2007, but after 20 epoch, the mAP for classification is only 20%, far away from 80% reported in paper. And now I have iterate over 300 epoch, the mAP on trainval is only 53%, the mAP on test is 42%. So how many epochs should I train here?

yeezhu commented 6 years ago

@Fuckmi The classification mAP should be 80+ after training for 20 epochs. Please refer to this file to check your settings.

Fuckmi commented 6 years ago

@yeezhu Thank you. I use python2 instead of python 3, but no error occurs. I suspect it is because of the pretrained VGG16 model that have not been correctly used. At the first iteration, the classification mAP is only %8. Do you remember how much is the mAP for classification using the pretrained VGG16?

Fuckmi commented 6 years ago

@yeezhu Thank you. I have not correctly loaded the pretrained model. I started to train on voc2007 from scrach, after 479 epoch, the trainval mAP is 75%, the test mAP is 43%. However, directly train from scrach should have comparable accuracy then using pretraind model, but in this case, the training data quantity for voc2007 is only 5k, so the result is worse. This example illustrates that using the model trained from larger dataset can significantly accelerate the training speed and enhance accuracy. With the pretrained model, the mAP for testing goes to 88% after 20 epoches