jax.lax.conv_general_dilated#

jax.lax.conv_general_dilated(lhs, rhs, window_strides, padding, lhs_dilation=None, rhs_dilation=None, dimension_numbers=None, feature_group_count=1, batch_group_count=1, precision=None, preferred_element_type=None)[源代码]#

通用的 n 维卷积算子,带有可选的扩张。

封装了 XLA 的 Conv 算子。

参数:
  • lhs (Array) – 一个秩为 n+2 的输入数组。

  • rhs (Array) – 一个秩为 n+2 的核权重数组。

  • window_strides (Sequence[int]) – 一个包含 n 个整数的序列,表示窗口之间的步长。

  • padding (str | Sequence[tuple[int, int]]) – 可以是字符串 ‘SAME’‘SAME_LOWER’‘VALID’,或者是一个包含 n(low, high) 整数对的序列,表示在每个空间维度之前和之后应用的填充。‘SAME’‘SAME_LOWER’ 添加填充以产生与输入相同大小的输出。填充在两侧之间均匀或几乎均匀地分配。如果填充是奇数,则 ‘SAME’ 将额外的填充添加到末尾,而 ‘SAME_LOWER’ 将其添加到开头。

  • lhs_dilation (Sequence[int] | None | None) – None,或者一个包含 n 个整数的序列,表示在 lhs 的每个空间维度中应用的扩张因子。LHS 扩张也称为转置卷积。

  • rhs_dilation (Sequence[int] | None | None) – None,或者一个包含 n 个整数的序列,表示在 rhs 的每个空间维度中应用的扩张因子。RHS 扩张也称为空洞卷积。

  • dimension_numbers (ConvGeneralDilatedDimensionNumbers | None) – 可以是 None,一个 ConvDimensionNumbers 对象,或者一个 3 元组 (lhs_spec, rhs_spec, out_spec),其中每个元素都是一个长度为 n+2 的字符串。

  • feature_group_count (int) – 整数,默认值为 1。请参阅 XLA HLO 文档。

  • batch_group_count (int) – 整数,默认值为 1。请参阅 XLA HLO 文档。

  • precision (lax.PrecisionLike | None) – 可选。可以是 None,表示后端的默认精度,一个 Precision 枚举值(Precision.DEFAULTPrecision.HIGHPrecision.HIGHEST),一个字符串(例如 'highest' 或 'fastest',请参阅 jax.default_matmul_precision 上下文管理器),或者一个包含两个 Precision 枚举或字符串的元组,表示 lhsrhs 的精度。

  • preferred_element_type (DTypeLike | None | None) – 可选。可以是 None,表示输入类型的默认累积类型,或者是一个数据类型,指示将结果累积到该数据类型并返回该数据类型的结果。

返回值:

一个包含卷积结果的数组。

返回类型:

Array

dimension_numbers 的字符串情况下,每个字符通过位置来标识:

  • lhsrhs 和输出中的批处理维度,使用字符 'N',

  • lhs 和输出中的特征维度,使用字符 'C',

  • rhs 中的输入和输出特征维度,分别使用字符 'I' 和 'O',

  • 以及使用任何不同的字符表示 lhs、rhs 和输出之间的空间维度对应关系。以下示例使用 'W' 和 'H'。

例如,为了表示与具有两个空间维度的 conv 函数一致的维度编号,可以使用 ('NCHW', 'OIHW', 'NCHW')。作为另一个例子,为了表示与 TensorFlow Conv2D 操作一致的维度编号,可以使用 ('NHWC', 'HWIO', 'NHWC')。当使用后一种形式的卷积维度规范时,窗口步长会根据标签在 rhs_spec 字符串中出现的顺序与空间维度字符标签相关联,因此 window_strides[0]rhs_spec 中出现的第一个不是 'I''O' 的字符对应的维度匹配。

如果 dimension_numbersNone,则默认值为 ('NCHW', 'OIHW', 'NCHW')(对于 2D 卷积)。