jax.lax.conv_general_dilated_patches#

jax.lax.conv_general_dilated_patches(lhs, filter_shape, window_strides, padding, lhs_dilation=None, rhs_dilation=None, dimension_numbers=None, precision=None, preferred_element_type=None)[原始碼]#

提取受 conv_general_dilated 感受野約束的 patches。

使用給定參數對輸入執行卷積。卷積核的建構方式是使輸出通道維度 “C” 包含展平的圖像 patches,因此單個 “C” 維度代表,例如,三個摺疊的維度 “chw”。這些維度的順序是 “c” + ‘’.join(c for c in rhs_spec if c not in ‘OI’),其中 rhs_spec == dimension_numbers[1],因此 “C” 維度的大小是每個 patch 的大小,即 np.prod(filter_shape) * lhs.shape[lhs_spec.index(‘C’)],其中 lhs_spec == dimension_numbers[0]

以下文檔字串改編自 jax.lax.conv_general_dilated

參數:
  • lhs (ArrayLike) – 秩為 n+2 維的輸入陣列。

  • filter_shape (Sequence[int]) – 一個由 n 個整數組成的序列,表示感受野空間形狀,順序如 rhs_spec = dimension_numbers[1] 中指定。

  • window_strides (Sequence[int]) – 一個由 n 個整數組成的序列,表示窗口間的步幅。

  • padding (str | Sequence[tuple[int, int]]) – 字串 ‘SAME’、字串 ‘VALID’,或由 n(low, high) 整數對組成的序列,指定在每個空間維度之前和之後應用的填充。

  • lhs_dilation (Sequence[int] | None | None) – None,或一個由 n 個整數組成的序列,指定在 lhs 的每個空間維度中應用的擴張因子。 LHS 擴張也稱為轉置卷積。

  • rhs_dilation (Sequence[int] | None | None) – None,或一個由 n 個整數組成的序列,指定在 rhs 的每個空間維度中應用的擴張因子。 RHS 擴張也稱為 atrous 卷積。

  • dimension_numbers (convolution.ConvGeneralDilatedDimensionNumbers | None | None) – None,或一個 3 元組 (lhs_spec, rhs_spec, out_spec),其中每個元素都是長度為 n+2 的字串。None 預設為 (“NCHWD…, OIHWD…, NCHWD…”)

  • precision (lax.Precision | None | None) – 選擇性參數。可以是 None,表示後端的預設精度,或是 Precision 列舉值(Precision.DEFAULTPrecision.HIGHPrecision.HIGHEST)。

  • preferred_element_type (DType | None | None) – 選擇性參數。可以是 None,表示輸入類型的預設累積類型,或是一種資料類型,指示將結果累積到該資料類型並返回具有該資料類型的結果。

返回:

一個秩為 n+2 的陣列,在輸出通道 (“C”) 維度中包含展平的圖像 patches。例如,如果 dimension_numbers = (“NcHW”, “OIwh”, “CNHW”),則輸出具有維度編號 “CNHW” = “{cwh}NHW”,其中維度 “C” 的大小等於每個 patch 的大小 (np.prod(filter_shape) * lhs.shape[lhs_spec.index(‘C’)])。

返回類型:

Array