Comments (11)
Hi,
Thanks for the message!
There is some work needed in order to integrate DETR with detectron2, but this is something that should definitely be considered. My initial thinking was just to add a compatibility layer in a folder d2_compat/
, which uses detectron2 dataset / transforms abstractions, while re-using most of DETR codebase for model definition.
cc @ppwwyyxx @wanyenlo for thoughts if we should integrate DETR directly inside detectron2, or use D2 as a library via a compatibility layer.
from detr.
I've implemented DETR based on Detectron2 at:
https://github.com/poodarchu/DETR.detectron2
from detr.
Thanks for your feedback @poodarchu.
We took the option to design the wrapper to be as thin as possible so as to reduce maintenance cost for us, and ensure exact reproduction of the paper's results. In particular, our wrapper doesn't require rewriting the DETR's forward function, which is the approach you took in your codebase.
As you noted, this requires a tiny packaging (aka MaskBackbone
) of Detectron2's backbones so that they return features along with the mask in the way expected by DETR. The Joiner
is imported directly from DETR's codebase.
Both options are viable and have their own pros and cons, I hope this clarifies the motivation behind our choices.
Since the wrapper landed on master, I'm closing this. Feel free to reach out if you have further concerns.
from detr.
Thank you very much for the quick response!
I look forward to any news! 😄
from detr.
Hi there, detectron2 brings me here :)
from detr.
I've implemented DETR based on Detectron2 at:
https://github.com/poodarchu/DETR.detectron2
I'm glad to share the latest progress that I've make it usable and can reproduce the results in official implementation.
from detr.
@poodarchu Thank you for this!
from detr.
Hi all, we are releasing the official Detectron2 wrapper (see #103), along with a conversion script.
Let us know if it fits your needs.
from detr.
I do not have time to test the usage in the following days, but it seems to perfectly fit my needs.
Thank you again for the amazing work!
from detr.
I think the MaskBackbone
and Joiner
are unnecessary and will introduce burdens of understanding.
from detr.
@poodarchu yes, the Joiner
is unfortunate and reminiscent of previous (more complicated) implementation.
Removing it is totally possible, but care would need to be taken to avoid breaking backwards-compatibility with previously saved models, and for the sake of simplicity, we didn't do it before the release.
from detr.
Related Issues (20)
- Question about object queries. HOT 4
- I want to train the DETR model on a CPU. How can I make it possible on a small computer, 8gb RAM HOT 3
- Why positional encoding is added to different role in encoder and decoder. HOT 1
- 🐛 Bug: Architecture diagram in README.md renders incorrectly when using dark mode
- continue training with chekckpoint
- How to finetune DETR for semantic segmentation task?
- I do not understand what the mask meaning in "samlpes"
- Process finished with exit code 137 (interrupted by signal 9: SIGKILL)Please read & provide the following
- Very low performance for segmentation task.
- box_cxcywh_to_xyxy
- ERROR:torch.distributed.elastic.multiprocessing.api:failed (exitcode: -9) local_rank: 6 (pid: 257736) of binary: /home/public/anaconda3/envs/DL/bin/python
- Average Precision of each class for best epoch and then it's mean HOT 1
- the mAP is chage
- I think there are some errors in the posted code HOT 6
- Queries for images with low number of objects HOT 2
- RuntimeError: Error(s) in loading state_dict for DETRsegm: HOT 2
- Map metrics anomalies after backbone replacement
- when the trained model is used for inference this import error comes: RuntimeError: Failed to import transformers.models.detr.modeling_detr because of the following error (look up to see its traceback): cannot import name 'experimental_functions_run_eagerly' from 'tensorflow.python.eager.def_function' (C:\Anaconda\lib\site-packages\tensorflow\python\eager\def_function.py)
- Get Image masks coordinates.
- GFLOPs instead of GFLOPS?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from detr.