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


Python tf.RaggedTensor.from_value_rowids用法及代碼示例


用法

@classmethod
from_value_rowids(
    values, value_rowids, nrows=None, name=None, validate=True
)

參數

  • values 形狀可能參差不齊的張量 [nvals, ...]
  • value_rowids 形狀為 [nvals] 的一維整數張量,對應於 one-to-one 和 values ,並指定每個值的行索引。必須是非負數,並且必須按升序排序。
  • nrows 指定行數的整數標量。如果 RaggedTensor 可能包含空的訓練行,則應指定此項。必須大於 value_rowids[-1](如果 value_rowids 為空,則為零)。默認為 value_rowids[-1] + 1(如果 value_rowids 為空,則為零)。
  • name RaggedTensor 的名稱前綴(可選)。
  • validate 如果為真,則使用斷言檢查參數是否形成有效的 RaggedTensor 。注意:這些斷言會產生運行時成本,因為必須檢查每個張量值。

返回

  • 一個RaggedTensorresult.rank = values.rank + 1result.ragged_rank = values.ragged_rank + 1

拋出

  • ValueError 如果 nrowsvalue_rowids 不兼容。

創建一個 RaggedTensor ,其中行由 value_rowids 分區。

返回的 RaggedTensor 對應於由以下定義的 python 列表:

result = [[values[i] for i in range(len(values)) if value_rowids[i] == row]
          for row in range(nrows)]

例子:

print(tf.RaggedTensor.from_value_rowids(
    values=[3, 1, 4, 1, 5, 9, 2, 6],
    value_rowids=[0, 0, 0, 0, 2, 2, 2, 3],
    nrows=5))
<tf.RaggedTensor [[3, 1, 4, 1], [], [5, 9, 2], [6], []]>

相關用法


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