Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

central sampling #4

Open
Cydia2018 opened this issue Mar 11, 2020 · 11 comments
Open

central sampling #4

Cydia2018 opened this issue Mar 11, 2020 · 11 comments

Comments

@Cydia2018
Copy link

Could you please tell me how to remove central sampling? Thanks!

@VectXmy
Copy link
Owner

VectXmy commented Mar 28, 2020

don't need remove it, I fix the bug then it can work well.

@Cydia2018
Copy link
Author

don't need remove it, I fix the bug then it can work well.

Thanks! I train the FCOS on the voc dataset, and the final mAP is about 0.67. I use the same strategy like groupnorm and giou loss to train RetinaNet, and the final mAP is almost 0.69. Do you know the reason?

@VectXmy
Copy link
Owner

VectXmy commented Mar 28, 2020

High mAP in papers always due to many tricks and data augmentation. My implementation doesn't use any data augmentation, which is very important for getting a good result. And batch size is another important factor, usually the larger the better, otherwise, the larger batch size means longer training time.

@Cydia2018
Copy link
Author

High mAP in papers always due to many tricks and data augmentation. My implementation doesn't use any data augmentation, which is very important for getting a good result. And batch size is another important factor, usually the larger the better, otherwise, the larger batch size means longer training time.

Yeah, I changed your dataloader file and add some data augmentation like flip and crop. I just don't know why RetinaNet is better than fcos. Really thanks your reply!😃

@VectXmy
Copy link
Owner

VectXmy commented Mar 28, 2020

It's really not easy to train a network. The difference between 0.67 and 0.69 is really small, and they are both not good result on VOCdataset. Did you train it on VOC07+12 then eval on VOC07-test? I think about 0.75 mAP is a more normal result.

@Cydia2018
Copy link
Author

It's really not easy to train a network. The difference between 0.67 and 0.69 is really small, and they are both not good result on VOCdataset. Did you train it on VOC07+12 then eval on VOC07-test? I think about 0.75 mAP is a more normal result.

No, I just train the model on VOC12_train dataset and eval on VOC07_val dataset. And I still use resnet50 as my backbone. 0.75 mAP is much better than the performance of my model.

@VectXmy
Copy link
Owner

VectXmy commented Mar 28, 2020

A common approach is to train on VOC07 and VOC12 train+val, then eval on VOC07 test. The dataset setting you used is rare. 0.02 mAP gap can not measure good or bad. This only shows that they have similar performance. But fcos has a simpler structure, which save more memory during training.

@Cydia2018
Copy link
Author

A common approach is to train on VOC07 and VOC12 train+val, then eval on VOC07 test. The dataset setting you used is rare. 0.02 mAP gap can not measure good or bad. This only shows that they have similar performance. But fcos has a simpler structure, which save more memory during training.

hhhhh, thanks! I will do more experiments.

@Cydia2018
Copy link
Author

A common approach is to train on VOC07 and VOC12 train+val, then eval on VOC07 test. The dataset setting you used is rare. 0.02 mAP gap can not measure good or bad. This only shows that they have similar performance. But fcos has a simpler structure, which save more memory during training.

By the way, how many epoches are recommended for the whole VOC dataset?(VOC07 and VOC12 train+val VOC07 test.)

@VectXmy
Copy link
Owner

VectXmy commented Mar 29, 2020

It depends on whether you train it from scratch and how large the batch size is. You can set epochs up a little bigger,such as 50 or 100, and then eval model after each round, finally, the best model is selected.

@Cydia2018
Copy link
Author

It depends on whether you train it from scratch and how large the batch size is. You can set epochs up a little bigger,such as 50 or 100, and then eval model after each round, finally, the best model is selected.

really thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants