DeformableConv2d¶
- class DeformableConv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True, conv_mode='cross_correlation', compute_mode='default', **kwargs)[source]¶
Deformable Convolution.
- Parameters
in_channels (
int
) – number of input channels.out_channels (
int
) – number of output channels.kernel_size (
Union
[int
,Tuple
[int
,int
]]) – size of weight on spatial dimensions. If kernel_size is anint
, the actual kernel size would be(kernel_size, kernel_size)
.stride (
Union
[int
,Tuple
[int
,int
]]) – stride of the 2D convolution operation. Default: 1padding (
Union
[int
,Tuple
[int
,int
]]) – size of the paddings added to the input on both sides of its spatial dimensions. Only zero-padding is supported. Default: 0dilation (
Union
[int
,Tuple
[int
,int
]]) – dilation of the 2D convolution operation. Default: 1groups (
int
) – number of groups into which the input and output channels are divided, so as to perform agrouped convolution
. Whengroups
is not 1,in_channels
andout_channels
must be divisible by groups, and the shape of weight should be(groups, out_channel // groups, in_channels // groups, height, width)
. Default: 1bias (
bool
) – whether to add a bias onto the result of convolution. Default: Trueconv_mode (
str
) – Supports cross_correlation. Default: cross_correlationcompute_mode (
str
) – When set to “default”, no special requirements will be placed on the precision of intermediate results. When set to “float32”, “float32” would be used for accumulator and intermediate result, but only effective when input and output are of float16 dtype.
Note
weight
usually has shape(out_channels, in_channels, height, width)
, if groups is not 1, shape will be(groups, out_channels // groups, in_channels // groups, height, width)
bias
usually has shape(1, out_channels, *1)