Git Product home page Git Product logo

Comments (10)

csrhddlam avatar csrhddlam commented on September 16, 2024 1

No, as far as I know. And sorry for the confusion. As I said, our original code depends heavily on stand-alone self-attention and panoptic-deeplab. However, they have not released their code and we are not authorized to release their code, so we cannot release our original code. Instead of waiting for their releases, we re-implement the work here in PyTorch to let the community access most details of our work as soon as possible.

from axial-deeplab.

cszer avatar cszer commented on September 16, 2024

I tested models on 224х224 torch.rand tensor

from axial-deeplab.

csrhddlam avatar csrhddlam commented on September 16, 2024

Hello, thanks for testing it. Please note that this is a re-implementation and we haven't tried to match the inference time as the original code.

I think the main mismatch comes from implementation differences, possibly the positional encoding or batch normalization. In addition, I think the runtime won't increase much if you test it on L models -- we only change the width of the model and keep the depth the same, while ResNet doubles the depth.

from axial-deeplab.

netw0rkf10w avatar netw0rkf10w commented on September 16, 2024

@csrhddlam Why don't you share the original TensorFlow implementation but a PyTorch re-implementation instead? I'm a bit confused...

from axial-deeplab.

csrhddlam avatar csrhddlam commented on September 16, 2024

It would be almost impossible to release the original code in tensorflow (which runs on TPU), because it is Google property, and it depends on some other packages which are also Google property, e.g. stand-alone self-attention and panoptic-deeplab.

from axial-deeplab.

netw0rkf10w avatar netw0rkf10w commented on September 16, 2024

@csrhddlam Hmm... Has Google recently changed their policy? They used to release TensorFlow code for their published papers...

from axial-deeplab.

netw0rkf10w avatar netw0rkf10w commented on September 16, 2024

@csrhddlam I see. Thanks for the reply!
Good work by the way. Congratulations!

from axial-deeplab.

csrhddlam avatar csrhddlam commented on September 16, 2024

Just investigated the inference time a bit. Here is my trace on a GPU. I tested it with both pytorch 1.1 and 1.6, and found similar results.
image
You can see that the relative positional embedding is taking way more time than a convolution.
image
In addition, reshaping, squeezing, and permutating are also taking way more time than bmm, where actual computation happens.

There is much room to optimize the code in this repo. Even the original TF code was optimized for TPU and tested directly on GPU. So we would expect that the inference time could be improved a lot when it is well optimized.

from axial-deeplab.

netw0rkf10w avatar netw0rkf10w commented on September 16, 2024

einsum seems to have some performance issues, so maybe directly using bmm could be faster.

from axial-deeplab.

csrhddlam avatar csrhddlam commented on September 16, 2024

Thanks for the pointer. I wasn't aware of the issue.

einsum in PyTorch looks less optimized than einsum_v2 in TensorFlow. And I agree that directly using bmm, together with some smart permute and view could be faster in PyTorch.

from axial-deeplab.

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.