ConvInteger

ConvInteger - 10

版本

  • 名稱ConvInteger (GitHub)

  • 網域main

  • since_version10

  • 函數False

  • 支援層級SupportType.COMMON

  • 形狀推論True

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

摘要

整數卷積運算子會消耗輸入張量、其零點、篩選器及其零點,並計算輸出。生產絕對不能溢位。累積只有在 32 位元時才會溢位。

屬性

  • 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 的開頭。

  • 膨脹 - INTS :

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

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

    輸入通道和輸出通道分割成的群組數。預設值為 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 到 4 個輸入之間。

  • x (異質) - T1

    來自前一個圖層的輸入資料張量;大小為 (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 (異質) - T2

    將用於卷積的權重張量;大小為 (M x C/group x kH x kW),其中 C 是通道數,kH 和 kW 是核心的高度和寬度,而 M 是特徵圖的數量。對於兩個以上的維度,核心形狀為 (M x C/group 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] * group) == C (假設形狀陣列的索引以零為基底)。或換句話說,FILTER_IN_CHANNEL 應該等於 DATA_CHANNEL。

  • x_zero_point (選擇性、異質) - T1

    輸入 'x' 的零點張量。它是選擇性的,預設值為 0。它是一個純量,表示每個張量/圖層量化。

  • w_zero_point (選擇性、異質) - T2

    輸入 'w' 的零點張量。它是選擇性的,預設值為 0。它可能是純量或 1 維張量,表示每個張量/圖層或每個輸出通道量化。如果它是 1 維張量,則其元素數量應等於輸出通道 (M) 的數量

輸出

  • y (異質) - T3

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

類型限制

  • T1 in ( tensor(int8), tensor(uint8) )

    將輸入 x 和其零點資料類型限制為 8 位元整數張量。

  • T2 in ( tensor(int8), tensor(uint8) )

    將輸入 w 和其零點資料類型限制為 8 位元整數張量。

  • T3 in ( tensor(int32) )

    將輸出 y 資料類型限制為 32 位元整數張量。