ConvNormActivation block for 3D convolutions
See original GitHub issue🚀 The feature
I suggest we add a Conv3d
equivalent for the ConvNormActivation
block
Motivation, pitch
This will be used in the upcoming ResNext3d implementation.
Alternatives
I see two possible alternatives:
-
We can re-purpose the existing method in a BC way by adding an extra named parameter
conv layer
with default value ofConv2D
. -
We can explicitly add a new class
Conv3DNormActivation
, which will be very similar to the existing one.
Additional context
No response
Issue Analytics
- State:
- Created 2 years ago
- Comments:6 (6 by maintainers)
Top Results From Across the Web
Pytorch: Step by Step implementation 3D Convolution Neural ...
In this article, we will be briefly explaining what a 3d CNN is, and how it is different from a generic 2d CNN....
Read more >Spatio-Temporal FAST 3D Convolutions for Human Action ...
Each convolution block consist of three sequential convolution operations: a 2D spatial convolution followed by spatio-temporal convolutions ...
Read more >Conv3d — PyTorch 1.13 documentation
Applies a 3D convolution over an input signal composed of several input planes. ... groups (int, optional) – Number of blocked connections from...
Read more >3D Convolutions : Understanding + Use Case - Kaggle
Convolutional neural networks exploits the spatially-local correlation by enforcing a local connectivity pattern between neurons of adjacent layers. Intutively, ...
Read more >ResNet 3D | Papers With Code
Summary ResNet 3D is a type of model for video that employs 3D convolutions. This model collection consists of two main variants.
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
@oke-aditya I kicked off by renaming the
ConvNormActivation
as we all seem to be aligned. Looking forward to your contribution for step 2.Thanks for the feedback @oke-aditya!
I was thinking and discussing with @datumbox offline, and I’m inclined to the following solution:
ConvNormActivation
and call itConv2dNormActivation
. (this will be done in a separate PR. I would also add a deprecation warning for the ConvNormActivation in this case.Conv3dNormActivation
, which seems to be your preferred method too.The advantages of this approach is that we have a clear naming convention in line with the
nn.Conv2d
andnn.Conv3d
from pytorch, and we wouldn’t have to validate invalid combinations ofnorm_layer
and the newconv_layer
paramter inConvNormActivation
.The major disadvantage is that the current
ConvNormActivation
is already used in 9 models inside TorchVision and numerous places externally but I think this can be mitigated with the deprecation warning and fazing out in future releases.