jax.numpy.atleast_3d#

jax.numpy.atleast_3d(*arys)[源代码]#

将输入转换为至少三维的数组。

JAX 中对 numpy.atleast_3d() 的实现。

参数:
  • 参数。 (零个多个类数组对象)

  • arys (类数组对象)

返回:

与输入值对应的数组或数组列表。形状为 () 的数组将转换为形状 (1, 1, 1),形状为 (N,) 的一维数组将转换为形状 (1, N, 1),形状为 (M, N) 的二维数组将转换为形状 (M, N, 1),所有其他形状的数组将保持不变返回。

返回类型:

Array | list[Array]

示例

标量参数将转换为三维、大小为1的数组

>>> x = jnp.float32(1.0)
>>> jnp.atleast_3d(x)
Array([[[1.]]], dtype=float32)

一维数组的前后将添加一个单位维度

>>> y = jnp.arange(4)
>>> jnp.atleast_3d(y).shape
(1, 4, 1)

二维数组的末尾将添加一个单位维度

>>> z = jnp.ones((2, 3))
>>> jnp.atleast_3d(z).shape
(2, 3, 1)

可以一次向函数传递多个参数,在这种情况下,将返回结果列表

>>> x3, y3 = jnp.atleast_3d(x, y)
>>> print(x3)
[[[1.]]]
>>> print(y3)
[[[0]
  [1]
  [2]
  [3]]]