jax.numpy.atleast_3d#

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

将输入转换为至少具有 3 个维度的数组。

numpy.atleast_3d() 的 JAX 实现。

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

  • arys (类数组)

返回:

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

返回类型:

Array | list[Array]

示例

标量参数被转换为3维、大小为1的数组

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

1维数组在开头和结尾都添加一个单位维度

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

2维数组在结尾添加一个单位维度

>>> 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]]]