jax.numpy.ravel#
- jax.numpy.ravel(a, order='C', *, out_sharding=None)[源代码]#
将数组展平为一维形状。
numpy.ravel()
的 JAX 实现,以jax.lax.reshape()
的形式实现。ravel(arr, order=order)
等价于reshape(arr, -1, order=order)
。- 参数:
a (ArrayLike) – 要展平的数组。
order (str) –
'F'
或'C'
,指定 reshape 应应用列优先(Fortran 风格,"F"
)还是行优先(C 风格,"C"
)顺序;默认值为"C"
。JAX 不支持 order=”A” 或 order=”K”。
- 返回:
输入数组的展平副本。
- 返回类型:
注意事项
与
numpy.ravel()
不同,jax.numpy.ravel()
将返回输入数组的副本,而不是视图。但是,在 JIT 下,编译器会在可能的情况下优化掉这些副本,因此这在实践中不会产生性能影响。另请参阅
jax.Array.ravel()
:通过数组方法提供的等效功能。jax.numpy.reshape()
:通用数组 reshape。
示例
>>> 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)