jax.numpy.ravel#

jax.numpy.ravel(a, order='C')[源代码]#

将数组展平为一维形状。

JAX 实现的 numpy.ravel(),根据 jax.lax.reshape() 实现。

ravel(arr, order=order) 等价于 reshape(arr, -1, order=order)

参数:
  • a (ArrayLike) – 要展平的数组。

  • order (str) – 'F''C',指定重塑操作应按列优先(Fortran 风格,"F")还是按行优先(C 风格,"C")的顺序进行;默认值为 "C"。JAX 不支持 order=”A”order=”K”

返回:

输入数组的扁平化副本。

返回类型:

Array

笔记

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

另请参阅

示例

>>> x = jnp.array([[1, 2, 3],
...                [4, 5, 6]])

默认情况下,ravel 按 C 风格的行优先顺序进行

>>> jnp.ravel(x)
Array([1, 2, 3, 4, 5, 6], dtype=int32)

可以选择按 Fortran 风格的列优先顺序进行 ravel

>>> jnp.ravel(x, order='F')
Array([1, 4, 2, 5, 3, 6], dtype=int32)

为了方便起见,相同的功能可以通过 jax.Array.ravel() 方法获得

>>> x.ravel()
Array([1, 2, 3, 4, 5, 6], dtype=int32)