Conv

Conv - 22

版本

  • 名稱: Conv (GitHub)

  • 網域: main

  • since_version: 22

  • 函式: False

  • 支援層級: SupportType.COMMON

  • 形狀推斷: True

此版本的運算子自版本 22 起提供。

摘要

捲積運算子會使用輸入張量和篩選器,並計算輸出。

屬性

  • auto_pad - 字串 (預設為 'NOTSET')

    auto_pad 必須是 NOTSET、SAME_UPPER、SAME_LOWER 或 VALID。預設值為 NOTSET,表示使用明確的填補。SAME_UPPER 或 SAME_LOWER 表示填補輸入,使每個軸 ioutput_shape[i] = ceil(input_shape[i] / strides[i])。填補會平均或幾乎平均地分配在兩側(取決於是偶數還是奇數)。如果填補是奇數,額外填補會加在 SAME_UPPER 的結尾和 SAME_LOWER 的開頭。

  • dilations - INTS :

    篩選器每個空間軸的膨脹值。如果不存在,膨脹預設為每個空間軸的 1。

  • group - INT (預設為 '1')

    輸入通道和輸出通道分成的群組數量。

  • kernel_shape - INTS :

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

  • pads - INTS :

    沿著每個空間軸的開頭和結尾的填補,它可以接受任何大於或等於 0 的值。該值表示新增到對應軸開頭和結尾部分的像素數。pads 格式應如下所示 [x1_begin, x2_begin…x1_end, x2_end,…],其中 xi_begin 是新增到軸 i 開頭的像素數,而 xi_end 是新增到軸 i 結尾的像素數。此屬性不能與 auto_pad 屬性同時使用。如果不存在,則填補預設為沿每個空間軸的開頭和結尾的 0。

  • strides - INTS :

    沿著每個空間軸的步幅。如果不存在,步幅預設為每個空間軸的 1。

輸入

介於 2 到 3 個輸入之間。

  • X (異質) - T

    來自上一層的輸入資料張量;大小為 (N x C x H x W),其中 N 是批次大小,C 是通道數,而 H 和 W 是高度和寬度。請注意,這是用於 2D 影像。否則大小為 (N x C x D1 x D2 … x Dn)。或者,如果維度符號有效,則運算預期輸入資料張量會帶有 [DATA_BATCH, DATA_CHANNEL, DATA_FEATURE, DATA_FEATURE ...] 的維度符號。

  • W (異質) - T

    將用於捲積的權重張量;大小為 (M x C/群組 x kH x kW),其中 C 是通道數,kH 和 kW 是核心的高度和寬度,而 M 是特徵圖的數量。對於超過 2 個維度,核心形狀將為 (M x C/群組 x k1 x k2 x … x kn),其中 (k1 x k2 x … kn) 是核心的維度。或者,如果維度符號有效,則運算預期權重張量會帶有 [FILTER_OUT_CHANNEL, FILTER_IN_CHANNEL, FILTER_SPATIAL, FILTER_SPATIAL ...] 的維度符號。假設形狀陣列的索引是以零為基礎,則 X.shape[1] == (W.shape[1] * 群組) == C 且 W.shape[0] mod G == 0。或者換句話說,FILTER_IN_CHANNEL 乘以群組數應該等於 DATA_CHANNEL,而且特徵圖 M 的數量應該是群組 G 數量的倍數。

  • B (選擇性、異質) - T

    要新增至捲積的可選 1D 偏差,大小為 M。

輸出

  • Y (異質) - T

    包含捲積結果的輸出資料張量。輸出維度是核心大小、步幅大小和填補長度的函式。

類型限制

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

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

Conv - 11

版本

  • 名稱: Conv (GitHub)

  • 網域: main

  • since_version: 11

  • 函式: False

  • 支援層級: SupportType.COMMON

  • 形狀推斷: True

此版本的運算子自版本 11 起提供。

摘要

捲積運算子會使用輸入張量和篩選器,並計算輸出。

屬性

  • auto_pad - 字串 (預設為 'NOTSET')

    auto_pad 必須是 NOTSET、SAME_UPPER、SAME_LOWER 或 VALID。預設值為 NOTSET,表示使用明確的填補。SAME_UPPER 或 SAME_LOWER 表示填補輸入,使每個軸 ioutput_shape[i] = ceil(input_shape[i] / strides[i])。填補會平均或幾乎平均地分配在兩側(取決於是偶數還是奇數)。如果填補是奇數,額外填補會加在 SAME_UPPER 的結尾和 SAME_LOWER 的開頭。

  • dilations - INTS :

    篩選器每個空間軸的膨脹值。如果不存在,膨脹預設為每個空間軸的 1。

  • group - INT (預設為 '1')

    輸入通道和輸出通道分成的群組數量。

  • kernel_shape - INTS :

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

  • pads - INTS :

    沿著每個空間軸的開頭和結尾的填補,它可以接受任何大於或等於 0 的值。該值表示新增到對應軸開頭和結尾部分的像素數。pads 格式應如下所示 [x1_begin, x2_begin…x1_end, x2_end,…],其中 xi_begin 是新增到軸 i 開頭的像素數,而 xi_end 是新增到軸 i 結尾的像素數。此屬性不能與 auto_pad 屬性同時使用。如果不存在,則填補預設為沿每個空間軸的開頭和結尾的 0。

  • strides - INTS :

    沿著每個空間軸的步幅。如果不存在,步幅預設為每個空間軸的 1。

輸入

介於 2 到 3 個輸入之間。

  • X (異質) - T

    來自上一層的輸入資料張量;大小為 (N x C x H x W),其中 N 是批次大小,C 是通道數,而 H 和 W 是高度和寬度。請注意,這是用於 2D 影像。否則大小為 (N x C x D1 x D2 … x Dn)。或者,如果維度符號有效,則運算預期輸入資料張量會帶有 [DATA_BATCH, DATA_CHANNEL, DATA_FEATURE, DATA_FEATURE ...] 的維度符號。

  • W (異質) - T

    將用於捲積的權重張量;大小為 (M x C/群組 x kH x kW),其中 C 是通道數,kH 和 kW 是核心的高度和寬度,而 M 是特徵圖的數量。對於超過 2 個維度,核心形狀將為 (M x C/群組 x k1 x k2 x … x kn),其中 (k1 x k2 x … kn) 是核心的維度。或者,如果維度符號有效,則運算預期權重張量會帶有 [FILTER_OUT_CHANNEL, FILTER_IN_CHANNEL, FILTER_SPATIAL, FILTER_SPATIAL ...] 的維度符號。假設形狀陣列的索引是以零為基礎,則 X.shape[1] == (W.shape[1] * 群組) == C 且 W.shape[0] mod G == 0。或者換句話說,FILTER_IN_CHANNEL 乘以群組數應該等於 DATA_CHANNEL,而且特徵圖 M 的數量應該是群組 G 數量的倍數。

  • B (選擇性、異質) - T

    要新增至捲積的可選 1D 偏差,大小為 M。

輸出

  • Y (異質) - T

    包含捲積結果的輸出資料張量。輸出維度是核心大小、步幅大小和填補長度的函式。

類型限制

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

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

Conv - 1

版本

  • 名稱: Conv (GitHub)

  • 網域: main

  • since_version: 1

  • 函式: False

  • 支援層級: SupportType.COMMON

  • 形狀推斷: True

此版本的運算子自版本 1 起提供。

摘要

捲積運算子會使用輸入張量和篩選器,並計算輸出。

屬性

  • auto_pad - 字串 (預設為 'NOTSET')

    auto_pad 必須是 NOTSET、SAME_UPPER、SAME_LOWER 或 VALID。預設值為 NOTSET,表示使用明確的填補。SAME_UPPER 或 SAME_LOWER 表示填補輸入,使輸出空間大小符合 input.In。在奇數情況下,在 SAME_UPPER 的結尾新增額外填補,並在 SAME_LOWER 的開頭新增額外填補。VALID 表示沒有填補。

  • dilations - INTS :

    篩選器每個空間軸的膨脹值。

  • group - INT (預設為 '1')

    輸入通道和輸出通道分成的群組數量。

  • kernel_shape - INTS :

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

  • pads - INTS :

    沿著每個空間軸的開頭和結尾的填補,它可以接受任何大於或等於 0 的值。該值表示新增到對應軸開頭和結尾部分的像素數。pads 格式應如下所示 [x1_begin, x2_begin…x1_end, x2_end,…],其中 xi_begin 是新增到軸 i 開頭的像素數,而 xi_end 是新增到軸 i 結尾的像素數。此屬性不能與 auto_pad 屬性同時使用。如果不存在,則填補預設為沿每個空間軸的開頭和結尾的 0。

  • strides - INTS :

    沿著每個空間軸的步幅。

輸入

介於 2 到 3 個輸入之間。

  • X (異質) - T

    來自上一層的輸入資料張量;大小為 (N x C x H x W),其中 N 是批次大小,C 是通道數,而 H 和 W 是高度和寬度。請注意,這是用於 2D 影像。否則大小為 (N x C x D1 x D2 … x Dn)。或者,如果維度符號有效,則運算預期輸入資料張量會帶有 [DATA_BATCH, DATA_CHANNEL, DATA_FEATURE, DATA_FEATURE ...] 的維度符號。

  • W (異質) - T

    將用於捲積的權重張量;大小為 (M x C/群組 x kH x kW),其中 C 是通道數,kH 和 kW 是核心的高度和寬度,而 M 是特徵圖的數量。對於超過 2 個維度,核心形狀將為 (M x C/群組 x k1 x k2 x … x kn),其中 (k1 x k2 x … kn) 是核心的維度。或者,如果維度符號有效,則運算預期權重張量會帶有 [FILTER_OUT_CHANNEL, FILTER_IN_CHANNEL, FILTER_SPATIAL, FILTER_SPATIAL ...] 的維度符號。X.shape[1] == (W.shape[1] * 群組) == C (假設形狀陣列的索引是以零為基礎)。或者換句話說,FILTER_IN_CHANNEL 應該等於 DATA_CHANNEL。

  • B (選擇性、異質) - T

    要新增至捲積的可選 1D 偏差,大小為 M。

輸出

  • Y (異質) - T

    包含捲積結果的輸出資料張量。輸出維度是核心大小、步幅大小和填補長度的函式。

類型限制

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

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