https://arxiv.org/abs/1911.09070
As of the time I started working on this project, there was no PyTorch implementation on GitHub that would match the original paper in the number of the model's parameters. All of the existed repositories altered a lot from the recently published TensorFlow implementation by Brain Team (e.g. changing strides in the backbone, missing batch normalization layers, no 'same' padding strategy in pooling layers, differing training hyper-parameters, not using Exponential Moving Average Decay, and others). Here is my attempt to reproduce EfficientDet in PyTorch. My end goal is to reproduce training cycle from the original paper and achieve nearly same results.
Alternatively to the TensorFlow implementation, I got rid of the useless biases in convolutional layers followed by batch normalization, which resulted in parameters reduction.
Model Name | Weights | #params | #params paper | val mAP | val mAP paper |
---|---|---|---|---|---|
D0 | download | 3.878M | 3.9M | 32.8 | 33.5 |
D1 | download | 6.622M | 6.6M | 38.7 | 39.1 |
D2 | download | 8.091M | 8.1M | 42.1 | 42.5 |
D3 | soon | 12.022M | 12.0M | soon | 45.9 |
D4 | soon | 20.708M | 20.7M | soon | 49.0 |
D5 | soon | 33.633M | 33.7M | soon | 50.5 |
wget http://images.cocodataset.org/zips/train2017.zip
unzip train2017.zip && mv train2017 data/coco/train2017 && rm train2017.zip
wget http://images.cocodataset.org/zips/val2017.zip
unzip val2017.zip && mv val2017 data/coco/val2017 && rm val2017.zip
wget http://images.cocodataset.org/annotations/annotations_trainval2017.zip
unzip annotations_trainval2017.zip && mv annotations data/coco && rm annotations_trainval2017.zip
python main.py -mode 'trainval' -model 'efficientdet-d{}'
wget http://images.cocodataset.org/zips/val2017.zip
unzip val2017.zip && mv val2017 data/coco/val2017 && rm val2017.zip
wget http://images.cocodataset.org/annotations/annotations_trainval2017.zip
unzip annotations_trainval2017.zip && mv annotations data/coco && rm annotations_trainval2017.zip
python main.py -mode eval -model efficientdet-d{} --pretrained