-
-
Notifications
You must be signed in to change notification settings - Fork 80
Ability to pass groupcount
parameter for depthwise and groupwise convolutions
#523
Conversation
Adapting ConvDims to Depthwise and Groupwise
@@ -1,11 +1,11 @@ | |||
# Compatibility shims until users upgrade to new NNlib format | |||
function conv!(y::CuArray{T}, x::CuArray{T}, w::CuArray{T}; pad=0, stride=1, flipkernel=0, dilation=1, kwargs...) where {T<:CUDNNFloat} | |||
cdims = DenseConvDims(x, w; padding=pad, stride=stride, flipkernel=flipkernel, dilation=dilation) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I need help with these shims.
Would be great to have a look from @staticfloat for NNlib compatibility. |
@staticfloat NNlib related changes are in FluxML/NNlib.jl#146 (comment) These are complete set of changes to test: I have few test cases ready. I will push them whenever I can. Please observe the branche names after hashes. |
fc487fd
to
fced436
Compare
@maleadt any progress on this? |
No, I'm not working on any of this. |
@DhairyaLGandhi, is this ball in your court? We need group convolutions. |
Any progress? As others have said on the related issue thread on Flux.jl, my research also relies on depthwise convolutions on GPU. |
I implemented this in the latest master.
…On Sat, Feb 6, 2021 at 2:55 PM k8lion ***@***.***> wrote:
Any progress? As others have said on the related issue threads, my
research also relies on depthwise convolutions on GPU.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#523 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAN43JU2NRX5TQPKFNG55R3S5UUZLANCNFSM4JTFB67A>
.
|
Great, so now looks NNlib needs to be modified in order for |
Correct. Or use Knet.
…On Sun, Feb 7, 2021 at 4:41 PM k8lion ***@***.***> wrote:
Great, so now looks like Flux and NNlib need to be modified to correctly
use DepthwiseConv on GPU (or add the groups parameter to Conv)?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#523 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAN43JUUEP3EO5NOFMY2KYDS52J7LANCNFSM4JTFB67A>
.
|
Now that's on cuda master, we should push the same change on NNlib as well. |
Sorry I didnt have GPU hardware to work and test any of this after pull request. You can follow the changes I made in NNlib, Zygote and Flux if you agree with FluxML/NNlib.jl#146 (comment) . I am not upto date with Zygote, NNlib and Flux development to judge how easy to translate my changes ... Edit: Any one interested in this issue can also leverage my mobilenet implementation here. https://github.com/arhik/Flux_mobilenet.git Cool that this is in limelight. Cant wait to see groupwise convolutions in Flux. |
With the change in #521,We need an api to set groupcount. I am proposing this as a draft and I am planning to make corresponding changes in NNlib. This will break existing NNlib interface sincegroupcount
is an extra argument toConvDesc
.Please feel free to comment on this once I have one of these check boxes complete.
groupcount
to NNlib ConvDims as a common Descriptor and have seperate constructs in Fluxml.