tensorflow::ops::StringToHashBucketStrong

#include <string_ops.h>

Converts each string in the input Tensor to its hash mod by a number of buckets.

Summary

The hash function is deterministic on the content of the string within the process. The hash function is a keyed hash function, where attribute key defines the key of the hash function. key is an array of 2 elements.

A strong hash is important when inputs may be malicious, e.g. URLs with additional components. Adversaries could try to make their inputs hash to the same bucket for a denial-of-service attack or to skew the results. A strong hash prevents this by making it difficult, if not infeasible, to compute inputs that hash to the same bucket. This comes at a cost of roughly 4x higher compute time than tf.string_to_hash_bucket_fast.

Arguments:

  • scope: A Scope object
  • input: The strings to assign a hash bucket.
  • num_buckets: The number of buckets.
  • key: The key for the keyed hash function passed as a list of two uint64 elements.

Returns:

  • Output: A Tensor of the same shape as the input string_tensor.

Constructors and Destructors

StringToHashBucketStrong(const ::tensorflow::Scope & scope, ::tensorflow::Input input, int64 num_buckets, const gtl::ArraySlice< int > & key)

Public attributes

output

Public functions

node() const
::tensorflow::Node *
operator::tensorflow::Input() const
operator::tensorflow::Output() const

Public attributes

output

::tensorflow::Output output

Public functions

StringToHashBucketStrong

 StringToHashBucketStrong(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input,
  int64 num_buckets,
  const gtl::ArraySlice< int > & key
)

node

::tensorflow::Node * node() const 

operator::tensorflow::Input

 operator::tensorflow::Input() const 

operator::tensorflow::Output

 operator::tensorflow::Output() const