可變形卷積

可變形卷積 - 22

版本

  • 名稱: DeformConv (GitHub)

  • 網域: main

  • since_version: 22

  • 函式: False

  • 支援等級: SupportType.COMMON

  • 形狀推斷: True

此版本的運算子自版本 22 起可用。

摘要

執行可變形卷積,如 https://arxiv.org/abs/1703.06211https://arxiv.org/abs/1811.11168 中所述。此運算子規格支援一般 N 維案例。請注意,最常見的使用案例是 2D 或 3D 資料。

屬性

  • 膨脹 - INTS :

    沿著核心每個空間軸的膨脹值。預設值為沿著每個軸 1。

  • 群組 - INT (預設值為 '1')

    將輸入和輸出通道 C 和 oC 分成的群組數。C 和 oC 都必須可被群組整除。預設值為 1。

  • kernel_shape - INTS :

    卷積核心的形狀。如果不存在,則從輸入 W 的形狀推斷。

  • offset_group - INT (預設值為 '1')

    偏移量的群組數。C 必須可被 offset_group 整除。預設值為 1。

  • pads - INTS :

    沿著每個空間軸的開始和結尾的填補。這些值表示新增至對應軸的開始和結尾的像素數,且可採用任何非負值。格式應如下所示:[x1_begin, x2_begin, …, x1_end, x2_end, …],其中 xi_begin 是新增至軸 i 的開始處的像素數,而 xi_end 是新增至軸 i 的結尾處的像素數。預設值為沿著每個軸 0。

  • strides - INTS :

    沿著每個空間軸的步幅。預設值為沿著每個軸 1。

輸入

介於 3 到 5 個輸入之間。

  • X (異質) - T

    輸入資料張量。對於 2D 影像資料,其形狀為 (N, C, H, W),其中 N 是批次大小,C 是輸入通道數,而 H 和 W 是高度和寬度。一般而言,對於 n 維資料,其形狀為 (N, C, D1, D2, … , Dn),其中 D1 到 Dn 是空間維度大小。最常見的使用案例為 n = 2 或 3。

  • W (異質) - T

    將用於卷積的權重張量。其形狀為 (oC, C/群組, kH, kW),其中 oC 是輸出通道數,而 kH 和 kW 是核心高度和寬度。對於超過 2 個維度,其形狀為 (oC, C/群組, k1, k2, … , kn)。

  • 偏移量 (異質) - T

    表示卷積核心中取樣位置偏移量的偏移量張量。對於 2D 資料,其形狀為 (N, offset_group * kH * kW * 2, oH, oW),對於 nD 資料,其形狀為 (N, offset_group * k1 * k2 * … * kn * n, o1, o2, … , on)。針對分數偏移值使用線性內插。在填補的輸入張量之外的取樣位置提供零。

  • B (選用,異質) - T

    要新增至卷積的長度為 oC 的選用 1D 偏差。預設值為零張量。

  • 遮罩 (選用,異質) - T

    要套用至卷積核心中每個位置的遮罩張量。對於 2D 資料,其形狀為 (N, offset_group * kH * kW, oH, oW),對於 nD 資料,其形狀為 (N, offset_group * k1 * k2 * … * kn * n, o1, o2, … , on)。預設值為 1 張量。

輸出

  • Y (異質) - T

    包含卷積結果的輸出資料張量。對於 2D 資料,其形狀為 (N, oC, oH, oW),對於 nD 資料,其形狀為 (N, oC, o1, o2, …, on)

類型限制

  • T 在 ( tensor(bfloat16), tensor(double), tensor(float), tensor(float16) )

    將輸入和輸出類型限制為浮點張量。

可變形卷積 - 19

版本

  • 名稱: DeformConv (GitHub)

  • 網域: main

  • since_version: 19

  • 函式: False

  • 支援等級: SupportType.COMMON

  • 形狀推斷: True

此版本的運算子自版本 19 起可用。

摘要

執行可變形卷積,如 https://arxiv.org/abs/1703.06211https://arxiv.org/abs/1811.11168 中所述。此運算子規格支援一般 N 維案例。請注意,最常見的使用案例是 2D 或 3D 資料。

屬性

  • 膨脹 - INTS :

    沿著核心每個空間軸的膨脹值。預設值為沿著每個軸 1。

  • 群組 - INT (預設值為 '1')

    將輸入和輸出通道 C 和 oC 分成的群組數。C 和 oC 都必須可被群組整除。預設值為 1。

  • kernel_shape - INTS :

    卷積核心的形狀。如果不存在,則從輸入 W 的形狀推斷。

  • offset_group - INT (預設值為 '1')

    偏移量的群組數。C 必須可被 offset_group 整除。預設值為 1。

  • pads - INTS :

    沿著每個空間軸的開始和結尾的填補。這些值表示新增至對應軸的開始和結尾的像素數,且可採用任何非負值。格式應如下所示:[x1_begin, x2_begin, …, x1_end, x2_end, …],其中 xi_begin 是新增至軸 i 的開始處的像素數,而 xi_end 是新增至軸 i 的結尾處的像素數。預設值為沿著每個軸 0。

  • strides - INTS :

    沿著每個空間軸的步幅。預設值為沿著每個軸 1。

輸入

介於 3 到 5 個輸入之間。

  • X (異質) - T

    輸入資料張量。對於 2D 影像資料,其形狀為 (N, C, H, W),其中 N 是批次大小,C 是輸入通道數,而 H 和 W 是高度和寬度。一般而言,對於 n 維資料,其形狀為 (N, C, D1, D2, … , Dn),其中 D1 到 Dn 是空間維度大小。最常見的使用案例為 n = 2 或 3。

  • W (異質) - T

    將用於卷積的權重張量。其形狀為 (oC, C/群組, kH, kW),其中 oC 是輸出通道數,而 kH 和 kW 是核心高度和寬度。對於超過 2 個維度,其形狀為 (oC, C/群組, k1, k2, … , kn)。

  • 偏移量 (異質) - T

    表示卷積核心中取樣位置偏移量的偏移量張量。對於 2D 資料,其形狀為 (N, offset_group * kH * kW * 2, oH, oW),對於 nD 資料,其形狀為 (N, offset_group * k1 * k2 * … * kn * n, o1, o2, … , on)。針對分數偏移值使用線性內插。在填補的輸入張量之外的取樣位置提供零。

  • B (選用,異質) - T

    要新增至卷積的長度為 oC 的選用 1D 偏差。預設值為零張量。

  • 遮罩 (選用,異質) - T

    要套用至卷積核心中每個位置的遮罩張量。對於 2D 資料,其形狀為 (N, offset_group * kH * kW, oH, oW),對於 nD 資料,其形狀為 (N, offset_group * k1 * k2 * … * kn * n, o1, o2, … , on)。預設值為 1 張量。

輸出

  • Y (異質) - T

    包含卷積結果的輸出資料張量。對於 2D 資料,其形狀為 (N, oC, oH, oW),對於 nD 資料,其形狀為 (N, oC, o1, o2, …, on)

類型限制

  • T 在 ( tensor(double), tensor(float), tensor(float16) )

    將輸入和輸出類型限制為浮點張量。