当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.stack用法及代码示例


将秩列表 - R 张量堆叠到一个秩 - (R+1) 张量中。

用法

tf.stack(
    values, axis=0, name='stack'
)

参数

  • values 具有相同形状和类型的 Tensor 对象列表。
  • axis 一个 int 。要堆叠的轴。默认为第一个维度。负值环绕,因此有效范围是 [-(R+1), R+1)
  • name 此操作的名称(可选)。

返回

  • output values 具有相同类型的堆叠 Tensor

抛出

  • ValueError 如果axis 超出范围 [-(R+1), R+1)。

另见tf.concattf.tiletf.repeat

values 中的张量列表打包成一个比 values 中的每个张量高一级的张量,方法是将它们沿 axis 维度打包。给定形状为 (A, B, C) 的张量的长度为 N 的列表;

如果 axis == 0 那么 output 张量将具有形状 (N, A, B, C) 。如果 axis == 1 那么 output 张量将具有形状 (A, N, B, C) 。等等。

例如:

x = tf.constant([1, 4])
y = tf.constant([2, 5])
z = tf.constant([3, 6])
tf.stack([x, y, z])
<tf.Tensor:shape=(3, 2), dtype=int32, numpy=
array([[1, 4],
       [2, 5],
       [3, 6]], dtype=int32)>
tf.stack([x, y, z], axis=1)
<tf.Tensor:shape=(2, 3), dtype=int32, numpy=
array([[1, 2, 3],
       [4, 5, 6]], dtype=int32)>

这与 unstack 正好相反。 numpy 等价物是np.stack

np.array_equal(np.stack([x, y, z]), tf.stack([x, y, z]))
True

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.stack。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。