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


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


返回包含指定數字序列的RaggedTensor

用法

tf.ragged.range(
    starts, limits=None, deltas=1, dtype=None, name=None,
    row_splits_dtype=tf.dtypes.int64
)

參數

  • starts 向量或標量 Tensor 。如果 limits 不是 None ,則指定每個範圍的第一個條目;否則,指定範圍限製,第一個條目默認為 0
  • limits 向量或標量 Tensor 。指定每個範圍的獨占上限。
  • deltas 向量或標量 Tensor 。指定每個範圍的增量。默認為 1
  • dtype 結果張量的元素類型。如果未指定,則根據其他參數選擇一個值。
  • name 操作的名稱。
  • row_splits_dtype dtype 用於返回的 RaggedTensorrow_splits 張量。 tf.int32tf.int64 之一。

返回

  • RaggedTensor 類型為 dtyperagged_rank=1

返回的 RaggedTensor 的每一行都包含一個序列:

ragged.range(starts, limits, deltas)[i] ==
    tf.range(starts[i], limits[i], deltas[i])

如果 start[i] < limits[i] and deltas[i] > 0 ,那麽 output[i] 將是一個空列表。同樣,如果 start[i] > limits[i] and deltas[i] < 0 ,那麽 output[i] 將是一個空列表。此行為與 Python range 函數一致,但與 tf.range 操作不同,後者在這些情況下返回錯誤。

例子:

tf.ragged.range([3, 5, 2]).to_list()
[[0, 1, 2], [0, 1, 2, 3, 4], [0, 1]]
tf.ragged.range([0, 5, 8], [3, 3, 12]).to_list()
[[0, 1, 2], [], [8, 9, 10, 11]]
tf.ragged.range([0, 5, 8], [3, 3, 12], 2).to_list()
[[0, 2], [], [8, 10]]

輸入張量 starts , limitsdeltas 可以是標量或向量。向量輸入必須全部具有相同的大小。標量輸入被廣播以匹配向量輸入的大小。

相關用法


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