當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python mxnet.ndarray.contrib.DeformableConvolution用法及代碼示例


用法:

mxnet.ndarray.contrib.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, out=None, name=None, **kwargs)

參數

  • data(NDArray) - 輸入數據到DeformableConvolutionOp
  • offset(NDArray) - DeformableConvolutionOp 的輸入偏移量
  • weight(NDArray) - 權重矩陣。
  • bias(NDArray) - 偏置參數。
  • 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。
  • out(NDArray, optional) - 輸出 NDArray 來保存結果。

返回

out- 此函數的輸出。

返回類型

NDArray 或 NDArray 列表

在 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.ndarray.contrib.DeformableConvolution。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。