Open Yuxin-Du-Lab opened 2 years ago
Yes, the weight is right, but we used EMA at 10000 step and BURN_IN_STEP=20000 since VOC is a full dataset. An early burn-in stage can cause unstable training due to the low-quality pseudo-labels
Thank you very much! I'll try it again with new hyper-para.
I still got some problem in training using the new super-para. Part of tensorboard info: The min value point in total loss figure is about 20000 steps, namely getting a divergence training process after 'BURN_IN'. The detailed log file is following: voc_log.txt
What else is wrong? I need your help, please.
seems you are using voc2007 val as eval set, but we use trainval for training and voc2007 test as evaluation set. beside, the best performance is obtained at 60K iter since the voc set is small. Our training curve is like this (AP50):
Thanks for your detailed reply! I just tried the new division of dataset and got a better score: 76.01(AP50).
But you know, it's still lower than the score presented in paper(79.89). I wonder if there any config that I ignored.
config.py file detailed log header file voc dataset class replacement file
Thanks for your help, again!
The released code just include coco config. I wonder if you can give the VOC related code, or just the configuration file is also OK.
I tried to use the configuration about VOC given in the paper,setting VOC 2007 train as labeled data & VOC 2012 train as unlabeled data.But I got an unstable training process.
Set trainer as follow:
│ TRAINER │ {'DISTILL': {'GAMMA': 2.0,
│ │ 'RATIO': 0.01,
│ │ 'SUPPRESS': 'linear',
│ │ 'SUP_WEIGHT': 1,
│ │ 'UNSUP_WEIGHT': 1,
│ │ 'WEIGHTS': {'DELTAS': 1.0, 'LOGITS': 2.0, 'QUALITY': 1.0}}, │ │ 'EMA': {'DECAY_FACTOR': 0.9996, 'START_STEPS': 3000, 'UPDATE_STEPS': 1},
│ │ 'NAME': 'SemiRunner',
│ │ 'SSL': {'BURN_IN_STEPS': 5000}}
Is that right?
Could you help me, please