jax.lax.conv_transpose

jax.lax.conv_transpose#

jax.lax.conv_transpose(lhs, rhs, strides, padding, rhs_dilation=None, dimension_numbers=None, transpose_kernel=False, precision=None, preferred_element_type=None)[source]#

用于计算 N 维卷积“转置”的便捷包装器。

此函数直接计算分数步长卷积,而不是间接计算前向卷积的梯度(转置)。

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

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

  • strides (Sequence[int]) – n 个整数的序列,设置分数步长。

  • padding (str | Sequence[tuple[int, int]]) – ‘SAME’, ‘VALID’ 将设置为相应前向卷积的转置,或一系列 n 个整数 2 元组,描述每个 n 个空间维度的前后填充。

  • rhs_dilation (Sequence[int] | None | None) – None,或一系列 n 个整数,给出要应用于 rhs 每个空间维度的膨胀因子。RHS 膨胀也称为空洞卷积。

  • dimension_numbers (ConvGeneralDilatedDimensionNumbers | None) – 维度描述符元组,如 lax.conv_general_dilated 中所述。默认值为 TensorFlow 约定。

  • transpose_kernel (bool) – 如果为 True,则翻转空间轴并交换内核的输入/输出通道轴。这使得此函数的输出与应用于相同内核的梯度派生函数(如 keras.layers.Conv2DTranspose)相同。对于神经网络中的典型使用,这完全没有意义,只会使输入/输出通道规范令人困惑。

  • precision (lax.PrecisionLike | None) – 可选。要么是 None,表示后端默认精度,要么是 Precision 枚举值 (Precision.DEFAULT, Precision.HIGHPrecision.HIGHEST) 或两个 Precision 枚举值的元组,指示 lhs`rhs 的精度。

  • preferred_element_type (DTypeLike | None | None) – 可选。要么是 None,表示输入类型的默认累积类型,要么是数据类型,表示将结果累积到该数据类型并返回具有该数据类型的结果。

返回值:

转置 N 维卷积,输出填充遵循 keras.layers.Conv2DTranspose 的约定。

返回类型:

数组