megengine.functional.nn.deformable_conv2d

deformable_conv2d(inp, weight, offset, mask, bias=None, stride=1, padding=0, dilation=1, groups=1, conv_mode='cross_correlation', compute_mode='default')[源代码]

可变形卷积

参数
  • inp (Tensor) – 卷积运算的特征图。

  • weight (Tensor) – 卷积核。形状通常是 (out_channels, in_channels, height, width).

  • offset (Tensor) – 可变形卷积层的输入坐标偏移,该张量的通道数要和可变形卷积的设置相同。

  • mask (Tensor) – 可变形卷积层的输入掩码,该张量的通道数要和可变形卷积的设置相同。

  • bias (Optional[Tensor]) – 添加到卷积结果中的偏置量(如果给定该值)

  • stride (Union[int, Tuple[int, int]]) – 二维卷积运算的步长。默认:1

  • padding (Union[int, Tuple[int, int]]) – 输入数据空域维度两侧的填充(padding)大小。仅支持填充0值。默认:0

  • dilation (Union[int, Tuple[int, int]]) – 二维卷积运算的空洞(dilation)。默认:1

  • groups (int) – 在进行“分组卷积”时,对输入输出通道的分组数量。当 groups 不是 1 时,in_channels 和 out_channels 必须可被 groups 整除,卷积核权重的形状将会是 (groups, in_channels // groups, out_channels // groups, height, width) 。默认值:1

  • conv_mode – 支持 cross_correlation。默认值:cross_correlation

  • compute_mode – 设置为 default 时,计算时中间结果的精度不会有特殊的保证;设置为 float32 时,计算时累加器和中间结果的类型会设为 float32,仅当输入和输出张量的数据类型都是 float16 时生效。

返回类型

Tensor

返回

输出张量。