TensorFlow函數(shù):tf.SparseFeature

2018-01-30 10:43 更新

tf.SparseFeature 函數(shù)

SparseFeature 類

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

請(qǐng)參閱指南:輸入和讀取器>協(xié)議緩沖區(qū)示例

從一個(gè)Example中分析稀疏輸入功能的配置.

請(qǐng)注意,最好使用VarLenFeature(可能與SequenceExample組合)來(lái)解析SparseTensors,而不是SparseFeature,由于其簡(jiǎn)單性.

這將通過解析一個(gè)帶有SparseFeature配置的一個(gè)Example來(lái)密切地模仿將獲得的SparseTensor,一個(gè)SparseFeature包含如下部分:

  • value_key:在Example中Feature的鍵的名稱,其解析Tensor將是結(jié)果SparseTensor.values.
  • index_key:一個(gè)名稱的列表;一個(gè)用于在所產(chǎn)生的SparseTensor中的每個(gè)維度,其indices[i][dim]指示的dim維度中的第 i 值的位置將等同于Example中具有鍵名為index_key [dim]的Feature中的第 i 值.
  • size:生成的 SparseTensor. dense_shape 的整數(shù)列表.

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

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

帶有一個(gè)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個(gè)index_key配置:

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

字段:

index_key: 單個(gè)字符串名稱或索引功能的字符串名稱列表.對(duì)于每個(gè)鍵, 基礎(chǔ)特征的類型必須是 int64 的, 并且它的長(zhǎng)度必須始終與 value_key 特征的匹配.要代表 SparseTensors 與 dense_shape 等級(jí)高于1一個(gè)長(zhǎng)度等級(jí)名單應(yīng)該使用.value_key: 值功能的名稱.基礎(chǔ)特征的類型必須是 dtype 的, 并且它的長(zhǎng)度必須與所有 index_keys 的特征相匹配.dtype: value_key 特征的數(shù)據(jù)類型.大小: 一個(gè) Python int 或它的列表, 它指定稠密的形狀.應(yīng)該是一個(gè)列表, 如果和僅當(dāng) index_key 是一個(gè)列表.在這種情況下, 列表必須等于 index_key 的長(zhǎng)度.每個(gè)條目 i 所有值的 index_key [i] 功能必須在 [0, 大小 [i]).already_sorted: 一個(gè) Python 布爾值, 用于指定是否已按照 value_key 的索引位置對(duì)其進(jìn)行排序.如果是這樣跳過排序.默認(rèn)為 False (可選).

  • index_key:?jiǎn)蝹€(gè)字符串名稱或索引功能的字符串名稱列表.對(duì)于每個(gè)鍵,基礎(chǔ)功能的類型必須是int64,并且其長(zhǎng)度必須始終與 value_key 功能的長(zhǎng)度相匹配.為了表示帶有dense_shape的rank大于1的SparseTensor s,長(zhǎng)度為rank的列表應(yīng)該被使用.
  • value_key:值功能的名稱.基礎(chǔ)功能的類型必須是dtype,其長(zhǎng)度必須始終與所有index_key的特征的相匹配.
  • dtype:index_key功能的數(shù)據(jù)類型.
  • size:指定稠密形狀的Python int或其列表.應(yīng)該是一個(gè)列表,當(dāng)且僅當(dāng)index_key是一個(gè)列表.在這種情況下,列表必須等于index_key的長(zhǎng)度.每個(gè)項(xiàng) i 中的index_key[i]功能中的所有值都必須在[0, size[i]).
  • already_sorted:一個(gè)Python布爾值,用來(lái)指定值value_key是否已經(jīng)按索引位置排序.如果這樣則跳過排序;默認(rèn)為false.

屬性

  • already_sorted
    字段編號(hào)4的別名
  • dtype
    字段編號(hào)2的別名
  • index_key
    0字段編號(hào)0的別名
  • size
    字段編號(hào)3的別名
  • value_key
    字段編號(hào)1的別名

方法

__new__

@staticmethod
__new__(
    cls,
    index_key,
    value_key,
    dtype,
    size,
    already_sorted=False
)
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)