TensorFlow函數(shù)教程:tf.io.SparseFeature

2019-02-26 16:51 更新

tf.io.SparseFeature函數(shù)

類 SparseFeature

別名:

  • 類 tf.SparseFeature
  • 類 tf.io.SparseFeature

定義在:tensorflow/python/ops/parsing_ops.py。

用于解析Example的稀疏輸入要素的配置。

注意,最好使用VarLenFeature(可能與SequenceExample結合使用),以便解析SparseTensors而不是SparseFeature,因為它的簡單性。

通過使用SparseFeature配置解析Example獲得的非常相似的SparseTensor,SparseFeature包含:

  • value_key:Example中Feature的鍵名稱,解析Tensor將是生成的sparsetensor. value。
  • index_key:一個名稱列表 - 一個用于生成的SparseTensor中的每個維度,其indices[i][dim]表示dim維度中第i個值的位置將等于Feature中的第i個值,并在Example中命名為index_key [dim]。
  • size:生成的SparseTensor.dense_shape的整數(shù)列表。

例如,我們可以表示以下2D SparseTensor

SparseTensor(indices=[[3, 1], [20, 0]],
             values=[0.5, -1.0]
             dense_shape=[100, 3])

用Example輸入原型:

features {
  feature { key: "val" value { float_list { value: [ 0.5, -1.0 ] } } }
  feature { key: "ix0" value { int64_list { value: [ 3, 20 ] } } }
  feature { key: "ix1" value { int64_list { value: [ 1, 0 ] } } }
}

SparseFeature配置為2個 index_key:

SparseFeature(index_key=["ix0", "ix1"],
              value_key="val",
              dtype=tf.float32,
              size=[100, 3])

字段:

  • index_key:單個字符串名稱或索引功能的字符串名稱列表。對于每個鍵,基礎特性的類型必須是int64,并且其長度必須始終與value_key特性的長度匹配。若要表示具有rank大于1的dense_shape的SparseTensor,應使用長度rank列表。
  • value_key:值特性的名稱。底層特性的類型必須是dtype,并且其長度必須始終與所有index_keys特性的長度相匹配。
  • dtype:value_key特性的數(shù)據(jù)類型。
  • size:Python int或其列表,指定密集形狀。當且僅當index_key是列表時,應該是列表。在這種情況下,列表必須等于index_key的長度。index_key [i]特性中的每個條目i的所有值都必須位于[0, size[i])中。
  • already_sorted:一個Python布爾值,用于指定value_key中的值是否已按其索引位置排序。如果是,請?zhí)^排序。默認為False(可選)。

__new__

@staticmethod
__new__(
    cls,
    index_key,
    value_key,
    dtype,
    size,
    already_sorted=False
)

創(chuàng)建SparseFeature(index_key, value_key, dtype, size, already_sorted)的新實例。

屬性

index_key

value_key

dtype

size

already_sorted

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號