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


Python tf.raw_ops.SparseCross用法及代碼示例


從稀疏和密集張量列表生成稀疏交叉。

用法

tf.raw_ops.SparseCross(
    indices, values, shapes, dense_inputs, hashed_output, num_buckets, hash_key,
    out_type, internal_type, name=None
)

參數

  • indices 類型為 int64Tensor 對象列表。二維。每個輸入的索引 SparseTensor
  • values Tensor 對象列表,其類型來自:int64 , string。一維。每個 SparseTensor 的值。
  • shapes 與類型為 int64Tensor 對象的 indices 長度相同的列表。一維。每個 SparseTensor 的形狀。
  • dense_inputs Tensor 對象列表,其類型來自:int64 , string。二維。由密集 Tensor 表示的列。
  • hashed_output 一個bool。如果為真,則返回十字架的哈希值而不是字符串。這將允許我們避免字符串操作。
  • num_buckets int>= 0 。如果hashed_output 為真,則使用它。輸出 = hashed_value%num_buckets 如果 num_buckets > 0 否則 hashed_value。
  • hash_key 一個 int 。指定FingerprintCat64 函數將使用的hash_key 來組合交叉指紋。
  • out_type tf.DType 來自:tf.int64, tf.string
  • internal_type tf.DType 來自:tf.int64, tf.string
  • name 操作的名稱(可選)。

返回

  • Tensor 對象的元組(output_indices、output_values、output_shape)。
  • output_indices Tensor 類型為 int64
  • output_values Tensor 類型為 out_type
  • output_shape Tensor 類型為 int64

該操作采用兩個列表,一個是 2D SparseTensor ,另一個是 2D Tensor ,每個列表代表一個特征列的特征。它輸出具有這些特征的批量交叉的 2D SparseTensor

例如,如果輸入是

inputs[0]:SparseTensor with shape = [2, 2]
[0, 0]:"a"
[1, 0]:"b"
[1, 1]:"c"

inputs[1]:SparseTensor with shape = [2, 1]
[0, 0]:"d"
[1, 0]:"e"

inputs[2]:Tensor [["f"], ["g"]]

那麽輸出將是

shape = [2, 2]
[0, 0]:"a_X_d_X_f"
[1, 0]:"b_X_e_X_g"
[1, 1]:"c_X_e_X_g"

如果 hashed_output=true 那麽輸出將是

shape = [2, 2]
[0, 0]:FingerprintCat64(
            Fingerprint64("f"), FingerprintCat64(
                Fingerprint64("d"), Fingerprint64("a")))
[1, 0]:FingerprintCat64(
            Fingerprint64("g"), FingerprintCat64(
                Fingerprint64("e"), Fingerprint64("b")))
[1, 1]:FingerprintCat64(
            Fingerprint64("g"), FingerprintCat64(
                Fingerprint64("e"), Fingerprint64("c")))

相關用法


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