deform_conv2d

    deform_conv2d 对输入4-D Tensor计算2-D可变形卷积。给定输入Tensor x,输出Tensor y,可变形卷积运算如下所示:

    可形变卷积v2(mask != None):

    可形变卷积v1(mask = None):

    其中

    deform_conv2d - 图1

    分别为第k个位置的可学习偏移和调制标量。在deformable conv v1中

    deform_conv2d - 图2

    为1.

    具体细节可以参考论文: 和 <<Deformable Convolutional Networks>>

    示例

    输入:

    卷积核形状:

    deform_conv2d - 图3

    offset 形状:

    mask 形状:

    deform_conv2d - 图4

    输出:

    输出形状:

    其中

    deform_conv2d - 图5

    参数:

    • x (Tensor) - 形状为

    • offset (Tensor) – 可变形卷积层的输入坐标偏移,数据类型为float32或float64。

    • bias (Tensor, 可选) - 可变形卷积偏置项, 形状为

      deform_conv2d - 图6

    • stride (int|list|tuple,可选) - 步长大小。卷积核和输入进行卷积计算时滑动的步长。如果它是一个列表或元组,则必须包含两个整型数:(stride_height,stride_width)。若为一个整数,stride_height = stride_width = stride。默认值:1。

    • dilation (int|list|tuple,可选) - 空洞大小。空洞卷积时会使用该参数,卷积核对输入进行卷积时,感受野里每相邻两个特征点之间的空洞信息。如果空洞大小为列表或元组,则必须包含两个整型数:(dilation_height,dilation_width)。若为一个整数,dilation_height = dilation_width = dilation。默认值:1。

    • groups (int,可选) - 二维卷积层的组数。根据Alex Krizhevsky的深度卷积神经网络(CNN)论文中的成组卷积:当group=n,输入和卷积核分别根据通道数量平均分为n组,第一组卷积核和第一组输入进行卷积计算,第二组卷积核和第二组输入进行卷积计算,……,第n组卷积核和第n组输入进行卷积计算。默认值:1。

    • name (str,可选) – 具体用法请参见 ,一般无需设置,默认值为None。

    返回:可变形卷积输出的4-D Tensor,数据类型为float32或float64。

    代码示例