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 感受野约束的补丁。
通过给定的参数对输入进行卷积操作。卷积的内核构造使得输出通道维度 “C” 包含扁平化的图像块,因此单个 “C” 维度代表例如三个维度 “chw” 的折叠。这些维度的顺序是 “c” + ‘’.join(c for c in rhs_spec if c not in ‘OI’),其中 rhs_spec == dimension_numbers[1],而这个 “C” 维度的大小因此是每个块的大小,即 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,或一个包含 n 个整数的序列,给出在 lhs 的每个空间维度上应用的扩张因子。LHS 扩张也称为转置卷积。
rhs_dilation (Sequence[int] | None) – None,或一个包含 n 个整数的序列,给出在 rhs 的每个空间维度上应用的膨胀因子。RHS 膨胀也称为空洞卷积。
dimension_numbers (convolution.ConvGeneralDilatedDimensionNumbers | None) – 要么是 None,要么是一个 3-元组 (lhs_spec, rhs_spec, out_spec),其中每个元素是一个长度为 n+2 的字符串。None 默认值为 (“NCHWD…, OIHWD…, NCHWD…”)。
precision (lax.Precision | None) – 可选。可以是
None
,这意味着使用后端的默认精度,或者是一个Precision
枚举值(Precision.DEFAULT
、Precision.HIGH
或Precision.HIGHEST
)。preferred_element_type (DType | None) – 可选。可以是
None
,这意味着使用输入类型的默认累积类型,或者是一个数据类型,指示将结果累积到并返回该数据类型的结果。
- 返回:
一个秩 n+2 的数组,包含在输出通道 (“C”) 维度上的展平图像块。例如,如果 dimension_numbers = (“NcHW”, “OIwh”, “CNHW”),则输出具有维度编号 “CNHW” = “{cwh}NHW”,其中维度 “C” 的大小等于每个块的大小 (np.prod(filter_shape) * lhs.shape[lhs_spec.index(‘C’)])。
- 返回类型: