TensorFlow函数:tf.parallel_stack
2018-11-08 13:45 更新
tf.parallel_stack 函数
parallel_stack ( values , name = 'parallel_stack' )
定义在:tensorflow/python/ops/array_ops.py.
参见指南:张量变换>分割和连接
将 rank-R
张量列表堆叠为一个 rank-(R+1)
张量平行.
要求在图形构建时知道输入的形状.
将 values 中的张量打包成一个张量,其值比每个张量的秩高一个.通过将它们沿第一维进行封装.给定一个张量的形状为 (A, B, C)的 长度为 N 的列表;则 output 张量将有形状 (N, A, B, C).
例如:
# 'x' is [1, 4]
# 'y' is [2, 5]
# 'z' is [3, 6]
parallel_stack([x, y, z]) # => [[1, 4], [2, 5], [3, 6]]
stack 和 parallel_stack 之间的区别是 stack 需要在操作开始之前计算所有输入,但并不要求输入的形状在图构造中是已知的.
parallel_stack 会将输入的片段复制到输出中,在某些情况下,这可以提供性能优势.
与 stack 不同,parallel_stack 不支持反向传播.
这与 unpack 相反,这个 numpy 等价物是:
tf.parallel_stack([x, y, z]) = np.asarray([x, y, z])
参数:
- values:具有相同形状和类型的张量对象的列表.
- name:此操作的名称(可选).
返回:
- output:与值具有相同类型的堆积张量.