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


Python tf.parallel_stack用法及代码示例


将 rank-R 张量列表堆叠成一个 rank-(R+1) 张量。

用法

tf.parallel_stack(
    values, name='parallel_stack'
)

参数

  • values 具有相同形状和类型的 Tensor 对象列表。
  • name 此操作的名称(可选)。

返回

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

抛出

  • RuntimeError 如果在即刻模式下执行。

要求在图构建时知道输入的形状。

values 中的张量列表打包成一个排名高于 values 中每个张量的张量,方法是将它们沿第一维打包。给定形状为 (A, B, C) 的张量的长度列表 Noutput 张量将具有形状 (N, A, B, C)

例如:

x = tf.constant([1, 4])
y = tf.constant([2, 5])
z = tf.constant([3, 6])
tf.parallel_stack([x, y, z])  # [[1, 4], [2, 5], [3, 6]]

stackparallel_stack 之间的区别在于 stack 要求在操作开始之前计算所有输入,但不需要在图形构建期间知道输入形状。

parallel_stack 将在输入可用时将其复制到输出中,在某些情况下,这可以提供性能优势。

不像 stack , parallel_stack 不支持反向传播。

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

tf.parallel_stack([x, y, z]) = np.asarray([x, y, z])

eager模式兼容性

parallel_stack 与即刻执行不兼容。

相关用法


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