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

The official Tensorflow implementation is now available. #134

Open
rmcavoy opened this issue Mar 18, 2020 · 9 comments
Open

The official Tensorflow implementation is now available. #134

rmcavoy opened this issue Mar 18, 2020 · 9 comments

Comments

@rmcavoy
Copy link

rmcavoy commented Mar 18, 2020

https://github.com/google/automl/blob/master/efficientdet/efficientdet_arch.py

@qtw1998
Copy link

qtw1998 commented Mar 23, 2020

But in tensorflow

@rmcavoy
Copy link
Author

rmcavoy commented Mar 23, 2020

Yes unfortunately but it can be used to correct the numerous problems with all the public PyTorch implementations. Like for example, the original tensorflow code has three convolution layers per feature level in the bifpn, two 1x1 layers that are used to bring them into the same feature space on the upwards and downwards passes respectively and one Depthwise separable one that is applied after a BiFPN step (the one made explicit in the BiFPN math in the paper)

@rmcavoy
Copy link
Author

rmcavoy commented Mar 23, 2020

The tensorflow code also confirmed my assumption that every convolution in the fpn+box network is either 1x1 or depthwise separable

@Cyril9227
Copy link

Yes unfortunately but it can be used to correct the numerous problems with all the public PyTorch implementations. Like for example, the original tensorflow code has three convolution layers per feature level in the bifpn, two 1x1 layers that are used to bring them into the same feature space on the upwards and downwards passes respectively and one Depthwise separable one that is applied after a BiFPN step (the one made explicit in the BiFPN math in the paper)

Nice, can you make a PR to this repo to fix the issue ?

@bluesky314
Copy link

@rmcavoy I would suggest you fork this repo and create a modified version. Author of this repo seems to have disappeared. Link that repo here

@rmcavoy
Copy link
Author

rmcavoy commented Mar 24, 2020

Unfortunately my ability to directly contribute code to open source repos is limited by my work (pretty sure I would need to do various kinds of paperwork for approval of such contributions)

@rwightman
Copy link

rwightman commented Mar 26, 2020

FYI, I decided to get a version of EfficientDet running now that an official reference is available. I saw this issue searching through the pre-existing PyTorch impls out there for a starting point. None of them fit with my approach so I started from scratch earlier this week. Model is 80% done, then I'll hack together a weight port and a basic validation script. Might have something to release later next week...

EDIT: This is where it will live when it's done (nothing there yet but the plan) - https://github.com/rwightman/efficientdet-pytorch

@Cyril9227
Copy link

FYI, I decided to get a version of EfficientDet running now that an official reference is available. I saw this issue searching through the pre-existing PyTorch impls out there for a starting point. None of them fit with my approach so I started from scratch earlier this week. Model is 80% done, then I'll hack together a weight port and a basic validation script. Might have something to release later next week...

That would be wonderful ! The google's repo is awful to use in a research-oriented env, even only extracting the model itself is tedious and the other Pytorch implementation out there are not convincing. Thank you very much

@bluesky314
Copy link

bluesky314 commented Mar 27, 2020

@rwightman Could you please make the segmentation model as well, it is really simple, the paper just says

Following [16], we modify our EfficientDet model to keep feature level {P2,P3,...,P7} in BiFPN, but only use P2 for the final per-pixel classification. For simplicity, here we only evaluate a EfficientDet-D4 based model, which uses a Ima- geNet pretrained EfficientNet-B4 backbone (similar size to ResNet-50). We set the channel size to 128 for BiFPN and 256 for classification head. Both BiFPN and classification head are repeated by 3 times.

It would be super helpful as even google has not released it

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

5 participants