jax.numpy.moveaxis#
- jax.numpy.moveaxis(a, source, destination)[源代码]#
将数组轴移动到新位置
numpy.moveaxis()
的 JAX 实现,使用jax.lax.transpose()
实现。- 参数:
- 返回:
从
source
移动到destination
的轴的a
的副本。- 返回类型:
注意事项
与
numpy.moveaxis()
不同,jax.numpy.moveaxis()
将返回输入的数组的副本,而不是视图。但是,在 JIT 下,编译器会尽可能优化掉这些副本,因此实际上不会影响性能。另请参阅
jax.numpy.swapaxes()
: 交换两个轴。jax.numpy.rollaxis()
: 移动轴的旧 API。jax.numpy.transpose()
: 通用轴置换。
示例
>>> a = jnp.ones((2, 3, 4, 5))
将轴
1
移动到数组的末尾>>> jnp.moveaxis(a, 1, -1).shape (2, 4, 5, 3)
将最后一个轴移动到位置 1
>>> jnp.moveaxis(a, -1, 1).shape (2, 5, 3, 4)
移动多个轴
>>> jnp.moveaxis(a, (0, 1), (-1, -2)).shape (4, 5, 3, 2)
这也可以通过
transpose()
来实现>>> a.transpose(2, 3, 1, 0).shape (4, 5, 3, 2)