当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。