jax.Array.byteswap

jax.Array.byteswap#

abstract Array.byteswap()[源代码]#

交换数组元素的字节顺序。

此方法在小端序和大端序数据表示之间进行切换。

返回:

返回一个与 self 具有相同 dtype 的数组,其中每个条目的底层字节顺序被颠倒。

参数:

self (Array)

返回类型:

Array

示例

>>> import jax.numpy as jnp
>>> x = jnp.arange(5, dtype='int32')
>>> x
Array([0, 1, 2, 3, 4], dtype=int32)
>>> x.byteswap()
Array([       0, 16777216, 33554432, 50331648, 67108864], dtype=int32)

当生成的字节被视为大端序 dtype(在 NumPy 中可行,但在 JAX 中不可行)时,它们代表原始值。

>>> import numpy as np
>>> np.array(x.byteswap()).view('>i4')  # view as big-endian
array([0, 1, 2, 3, 4], dtype='>i4')

调用两次 byteswap 将返回原始数组。

>>> x.byteswap().byteswap()
Array([0, 1, 2, 3, 4], dtype=int32)