阅读(8.4k) 书签 (0)

TensorFlow函数:tf.string_to_hash_bucket_strong

2018-03-22 11:08 更新

tf.string_to_hash_bucket_strong函数

tf.string_to_hash_bucket_strong(
    input,
    num_buckets,
    key,
    name=None
)

请参阅指南:字符串操作>散列

与tf.string_to_hash_bucket_fast函数的作用一样,tf.string_to_hash_bucket_strong函数也是通过多个 bucket 将输入张量中的每个字符串转换为哈希模式.

哈希函数对进程内字符串的内容是确定性的.散列函数是一个密钥散列函数,其中属性 key 定义散列函数的密钥.key 是 2 个元素的数组.

当输入可能是恶意的时,强大的散列很重要,例如带有附加组件的 URL.攻击者可以尝试将他们的输入散列到同一个 bucket 中以进行拒绝服务攻击或扭曲结果.如果不是不可行的话,强大的散列通过使其难以计算散列到相同 bucket 的输入来防止这种情况.这比tf.string_to_hash_bucket_fast函数的计算时间要多出大约4倍.

函数参数:

  • input:一个 string 类型的 Tensor,要分配散列桶的字符串.
  • num_buckets:一个大于等于1的 int,bucket 的数量.
  • key:ints 列表.密钥散列函数的密钥以两个 uint64 元素的列表形式传递.
  • name:操作的名称(可选).

函数返回值:

tf.string_to_hash_bucket_strong函数返回一个 int64 类型的 Tensor.