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 can be used to make it difficult to find inputs with a skewed hash value distribution over buckets. This requires that the hash function is seeded by a high-entropy (random) "key" unknown to the adversary.
The additional robustness comes at a cost of roughly 4x higher compute time than tf.string_to_hash_bucket_fast.
Examples:
tf.strings.to_hash_bucket_strong(["Hello", "TF"], 3, [1, 2]).numpy() array([2, 0])
Args:
- scope: A Scope object
 - input: The strings to assign a hash bucket.
 - num_buckets: The number of buckets.
 - key: The key used to seed the hash function, passed as a list of two uint64 elements.
 
Returns:
Constructors and Destructors | 
|
|---|---|
StringToHashBucketStrong(const ::tensorflow::Scope & scope, ::tensorflow::Input input, int64 num_buckets, const gtl::ArraySlice< int > & key)
 | 
Public attributes | 
|
|---|---|
operation
 | 
|
output
 | 
|
Public functions | 
|
|---|---|
node() const 
 | 
::tensorflow::Node *
 | 
operator::tensorflow::Input() const 
 | 
 | 
operator::tensorflow::Output() const 
 | 
 | 
Public attributes
operation
Operation operation
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