当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python mxnet.contrib.symbol.DeformableConvolution用法及代码示例


用法:

mxnet.contrib.symbol.DeformableConvolution(data=None, offset=None, weight=None, bias=None, kernel=_Null, stride=_Null, dilate=_Null, pad=_Null, num_filter=_Null, num_group=_Null, num_deformable_group=_Null, workspace=_Null, no_bias=_Null, layout=_Null, name=None, attr=None, out=None, **kwargs)

参数

  • data(Symbol) - 输入数据到DeformableConvolutionOp
  • offset(Symbol) - DeformableConvolutionOp 的输入偏移量
  • weight(Symbol) - 权重矩阵。
  • bias(Symbol) - 偏置参数。
  • kernel(Shape(tuple), required) - 卷积核大小:(h, w) 或 (d, h, w)
  • stride(Shape(tuple), optional, default=[]) - 卷积步幅:(h, w) 或 (d, h, w)。每个维度默认为 1。
  • dilate(Shape(tuple), optional, default=[]) - 卷积膨胀:(h, w) 或 (d, h, w)。每个维度默认为 1。
  • pad(Shape(tuple), optional, default=[]) - 卷积的零填充:(h, w) 或 (d, h, w)。默认为无填充。
  • num_filter(int, required) - 卷积滤波器(通道)编号
  • num_group(int, optional, default='1') - 组分区数。
  • num_deformable_group(int, optional, default='1') - 可变形组分区的数量。
  • workspace(long (non-negative), optional, default=1024) - 卷积允许的最大温度工作空间 (MB)。
  • no_bias(boolean, optional, default=0) - 是否禁用偏差参数。
  • layout({None, 'NCDHW', 'NCHW', 'NCW'},optional, default='None') - 设置输入、输出和权重的布局。默认布局为空:NCW 表示 1d,NCHW 表示 2d,NCDHW 表示 3d。
  • name(string, optional.) - 结果符号的名称。

返回

结果符号。

返回类型

Symbol

在 4-D 输入上计算 2-D 可变形卷积。

https://arxiv.org/abs/1703.06211中说明了可变形卷积操作

对于二维可变形卷积,形状为

  • data(batch_size, channel, height, width)
  • offset(batch_size, num_deformable_group * kernel[0] * kernel[1] * 2, height, width)
  • weight(num_filter, channel, kernel[0], kernel[1])
  • bias(num_filter,)
  • out(batch_size, num_filter, out_height, out_width).

定义:

f(x,k,p,s,d) = floor((x+2*p-d*(k-1)-1)/s)+1

那么我们有:

out_height=f(height, kernel[0], pad[0], stride[0], dilate[0])
out_width=f(width, kernel[1], pad[1], stride[1], dilate[1])

如果 no_bias 设置为 true,则忽略 bias 项。

默认数据 layoutNCHW ,即 (batch_size, channle, height, width)

如果 num_group 大于 1,用 g 表示,则将输入 data 沿通道轴均匀拆分为 g 部分,并沿第一维均匀拆分 weight。接下来计算 i -th 数据部分与 i -th 权重部分的卷积。通过连接所有g 结果获得输出。

如果 num_deformable_group 大于 1,记为 dg ,则将输入 offset 沿通道轴均匀拆分为 dg 部分,并将 data 沿通道轴均匀拆分为 dg 部分。接下来计算可变形卷积,在数据的第 i 部分上应用偏移的第 i 部分。

weightbias 都是可学习的参数。

相关用法


注:本文由纯净天空筛选整理自apache.org大神的英文原创作品 mxnet.contrib.symbol.DeformableConvolution。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。