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


Python tf.ragged.stack用法及代碼示例


將秩列表 - R 張量堆疊成一個秩 - (R+1) RaggedTensor

用法

tf.ragged.stack(
    values:typing.List[ragged_tensor.RaggedOrDense],
    axis=0,
    name=None
)

參數

  • values tf.Tensortf.RaggedTensor 的列表。不得為空。所有values必須具有相同的等級和相同的dtype;但與 tf.stack 不同,它們可以具有任意尺寸大小。
  • axis 一個 python 整數,指示堆疊的維度。 (注意:與 tf.stack 不同,axis 參數必須是靜態已知的。)僅當至少一個 values 值的等級是靜態已知的時,才支持負值。
  • name 返回張量的名稱前綴(可選)。

返回

  • 排名為 R+1RaggedTensor(如果 R>0 )。如果 R==0 ,則結果將作為一維 Tensor 返回,因為 RaggedTensor 隻能在 rank>1 時使用。 result.ragged_rank=1+max(axis, max(rt.ragged_rank for rt in values]))

拋出

  • ValueError 如果 values 為空,如果 axis 超出範圍或輸入張量具有不同的秩。

給定具有相同等級 R ( R >= axis ) 的張量或參差不齊的張量列表,返回一個等級 - R+1 RaggedTensor result 使得 result[i0...iaxis][value[i0...iaxis] for value in values]

例子:

# Stacking two ragged tensors.
t1 = tf.ragged.constant([[1, 2], [3, 4, 5]])
t2 = tf.ragged.constant([[6], [7, 8, 9]])
tf.ragged.stack([t1, t2], axis=0)
<tf.RaggedTensor [[[1, 2], [3, 4, 5]], [[6], [7, 8, 9]]]>
tf.ragged.stack([t1, t2], axis=1)
<tf.RaggedTensor [[[1, 2], [6]], [[3, 4, 5], [7, 8, 9]]]>
# Stacking two dense tensors with different sizes.
t3 = tf.constant([[1, 2, 3], [4, 5, 6]])
t4 = tf.constant([[5], [6], [7]])
tf.ragged.stack([t3, t4], axis=0)
<tf.RaggedTensor [[[1, 2, 3], [4, 5, 6]], [[5], [6], [7]]]>

相關用法


注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.ragged.stack。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。