Altifigence Academy

3 / 24 · 概念

形狀、步幅、填補與膨脹

H=7、R=3、步幅 2、上方填補 0、下方填補 1、膨脹 2 時,計算 Ho 與 h=1,r=2 的輸入座標。

形狀計算決定位址生成

步幅控制輸出視窗起點之間的間距。膨脹控制單一核心內樣本之間的間距。兩者在不同索引項中跳過輸入位置。具有 R 個樣本、膨脹 D 的核心,橫跨 D(R−1)+1 個位置。分別指定上、下、左、右填補。這些練習使用明確填補與向下取整的輸出尺寸,不假設自動 SAME 慣例。

Ho=⌊H+Pt+Pb−Dh(R−1)−1Sh⌋+1H_o=\left\lfloor\frac{H+P_t+P_b-D_h(R-1)-1}{S_h}\right\rfloor+1

將高度與垂直參數替換成水平對應值,即可求輸出寬度。當有效核心超過填補後的輸入時,我們的教學模型傳回零個輸出位置。正式運算子必須另行定義是否接受空張量。

計算範例

H=5、R=3、步幅 2、上下填補各一、膨脹一時,有效高度為三。輸出高度為 floor((5+2−3)/2)+1=3。膨脹改為二後,有效高度變為五,輸出高度為二。步幅並未改變;各視窗現在涵蓋更大區域。

使用 ih=h×S−Pt+r×D 映射輸出座標與核心座標。h=1,r=2 時,第一種配置讀取 3。膨脹配置讀取 5。有效輸入座標是零到四,因此座標五提供填補,不會越界讀取陣列。填補代表實數零;原始量化儲存可能以非零編碼表示此零。

NCHW 線性位址為 ((nC+c)H+ih)W+iw。N=1、C=2、H=W=3 時,座標 (0,1,2,1) 對應 18 元素張量中的 16。它是第二通道最後一列的中間樣本。交換通道軸與空間軸雖不改變元素數,卻會改變運算。

若有 G 個群組,輸入與輸出通道數都必須可被 G 整除。每個輸出歸約其群組所屬的 C/G 個輸入通道。依序計算輸出尺寸、產生位址、檢查每個輸入邊界。ONNX Conv 官方規格 定義了對應的明確填補、步幅、膨脹與群組屬性。

自己試試看

H=7、R=3、步幅 2、上方填補 0、下方填補 1、膨脹 2 時,計算 Ho 與 h=1,r=2 的輸入座標。

查看解說

有效核心高度為五。Ho=floor((7+1−5)/2)+1=2。輸入座標為 1×2+2×2=6,即最後一個有效列。

此選擇適用於本瀏覽器,隨時可從頁尾變更。