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

[RFC] New Ops in TorchVision #5414

Open
1 of 10 tasks
datumbox opened this issue Feb 13, 2022 · 7 comments
Open
1 of 10 tasks

[RFC] New Ops in TorchVision #5414

datumbox opened this issue Feb 13, 2022 · 7 comments

Comments

@datumbox
Copy link
Contributor

datumbox commented Feb 13, 2022

🚀 The feature

Consider adding the following operators in TorchVision:

Layers

There is a separate ticket for tracking common layers: #4333

Operators

Losses

There is a separate ticket tracking Losses proposals: #2980

Schedulers & Optimizers (Core upstreaming)

@xiaohu2015
Copy link
Contributor

maybe I can implement some features, eg DropBlock layer.

@datumbox
Copy link
Contributor Author

datumbox commented Feb 13, 2022

@xiaohu2015 wow, I literally just slacked you to see if you are interested 😄

Great! If you want to send a PR for DropBlock it would be awesome. Let me know if you want me to create an issue for it so that other contributors know you are working on it already (else you can create one yourself or just rely on the PR; up to you!).

@lezwon
Copy link
Contributor

lezwon commented Apr 8, 2022

hey @datumbox, can I take up SoftNMS implementation?

@datumbox
Copy link
Contributor Author

datumbox commented Apr 8, 2022

@lezwon Thanks for offering help!

The SoftNMS would have to be implemented in C++ and CUDA because this is where we implement the standard NMS. Some additional discussion would be required to see exactly how this will be implemented and what its API would look like. As you understand this is quite a lot of work and it's not guaranteed that the feature will be merged. If you are up for it, we can discuss more. Just wanted to give you a heads up that this is a more risky feature to work on.

If the above doesn't sound too appealing, there are features listed at #5410 you might find fun to work on. Have a look and let me know if anything interests you. :)

@lezwon
Copy link
Contributor

lezwon commented Apr 8, 2022

@datumbox Sure thing :)
I'll pick up something from #5410

@oke-aditya
Copy link
Contributor

I want to try DropConnect Layer. Any other info / implementation I could look to will be great 😃

@datumbox
Copy link
Contributor Author

datumbox commented Jul 4, 2022

@oke-aditya There are a few reasons we haven't added DropConnect. According to the paper, here is Dropout:
r = m * a(W v) and here is DropConnect: r = a ((M * W) u).

a: activation
u: input
M: bernoulli mask
W: weights

As you see the M on the latter case is applied on the W, which means it makes for an awkward design of a layer. I believe you will have to implement different versions of it for Linear and Convs. Another issue with it is that it's quite old and not often used in SOTA research. These are some of the reasons we decided not to add it, at least on phase 1 and 2 of Batteries Included.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants