當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。