用法:
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.
) - 结果符号的名称。
- data:(
结果符号。
参数:
返回:
返回类型:
在 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
项。默认数据
layout
为NCHW
,即(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
部分。weight
和bias
都是可学习的参数。
相关用法
- Python mxnet.contrib.symbol.DeformableConvolution用法及代码示例
- Python mxnet.contrib.symbol.SparseEmbedding用法及代码示例
- Python mxnet.contrib.symbol.edge_id用法及代码示例
- Python mxnet.contrib.symbol.dgl_graph_compact用法及代码示例
- Python mxnet.contrib.symbol.dgl_adjacency用法及代码示例
- Python mxnet.contrib.symbol.dgl_csr_neighbor_non_uniform_sample用法及代码示例
- Python mxnet.contrib.symbol.ifft用法及代码示例
- Python mxnet.contrib.symbol.count_sketch用法及代码示例
- Python mxnet.contrib.symbol.fft用法及代码示例
- Python mxnet.contrib.symbol.ModulatedDeformableConvolution用法及代码示例
- Python mxnet.contrib.symbol.box_non_maximum_suppression用法及代码示例
- Python mxnet.contrib.symbol.index_copy用法及代码示例
- Python mxnet.contrib.symbol.dgl_subgraph用法及代码示例
- Python mxnet.contrib.symbol.index_array用法及代码示例
- Python mxnet.contrib.symbol.hawkesll用法及代码示例
- Python mxnet.contrib.symbol.arange_like用法及代码示例
- Python mxnet.contrib.symbol.quadratic用法及代码示例
- Python mxnet.contrib.symbol.allclose用法及代码示例
- Python mxnet.contrib.symbol.group_adagrad_update用法及代码示例
- Python mxnet.contrib.symbol.dgl_csr_neighbor_uniform_sample用法及代码示例
注:本文由纯净天空筛选整理自apache.org大神的英文原创作品 mxnet.contrib.symbol.DeformableConvolution。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。