Giter Site home page Giter Site logo

Comments (11)

fmassa avatar fmassa commented on June 19, 2024 14

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.

poodarchu avatar poodarchu commented on June 19, 2024 4

I've implemented DETR based on Detectron2 at:
https://github.com/poodarchu/DETR.detectron2

from detr.

alcinos avatar alcinos commented on June 19, 2024 2

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.

jmspereira avatar jmspereira commented on June 19, 2024

Thank you very much for the quick response!
I look forward to any news! 😄

from detr.

pvtien96 avatar pvtien96 commented on June 19, 2024

Hi there, detectron2 brings me here :)

from detr.

poodarchu avatar poodarchu commented on June 19, 2024

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.

asharakeh avatar asharakeh commented on June 19, 2024

@poodarchu Thank you for this!

from detr.

alcinos avatar alcinos commented on June 19, 2024

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.

jmspereira avatar jmspereira commented on June 19, 2024

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.

poodarchu avatar poodarchu commented on June 19, 2024

I think the MaskBackbone and Joiner are unnecessary and will introduce burdens of understanding.

from detr.

fmassa avatar fmassa commented on June 19, 2024

@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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.