jax.numpy.swapaxes#

jax.numpy.swapaxes(a, axis1, axis2)[源代码]#

交换数组的两个轴。

JAX 中对 numpy.swapaxes() 的实现,它是基于 jax.lax.transpose() 实现的。

参数:
  • a (ArrayLike) – 输入数组

  • axis1 (int) – 第一个轴的索引

  • axis2 (int) – 第二个轴的索引

返回:

交换指定轴的 a 的副本。

返回类型:

Array

说明

numpy.swapaxes() 不同,jax.numpy.swapaxes() 将返回输入数组的副本,而不是视图。然而,在 JIT 下,编译器会在可能的情况下优化掉这些副本,因此在实践中不会影响性能。

另请参阅

示例

>>> a = jnp.ones((2, 3, 4, 5))
>>> jnp.swapaxes(a, 1, 3).shape
(2, 5, 4, 3)

通过 swapaxes 数组方法实现的等效输出

>>> a.swapaxes(1, 3).shape
(2, 5, 4, 3)

通过 transpose() 实现的等效输出

>>> a.transpose(0, 3, 2, 1).shape
(2, 5, 4, 3)