ToHashBucketStrong

public final class ToHashBucketStrong

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

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])

Constants

String OP_NAME The name of this op, as known by TensorFlow core engine

Public Methods

Output<TInt64>
asOutput()
Returns the symbolic handle of the tensor.
static ToHashBucketStrong
create(Scope scope, Operand<TString> input, Long numBuckets, List<Long> key)
Factory method to create a class wrapping a new ToHashBucketStrong operation.
Output<TInt64>
output()
A Tensor of the same shape as the input `string_tensor`.

Inherited Methods

Constants

public static final String OP_NAME

The name of this op, as known by TensorFlow core engine

Constant Value: "StringToHashBucketStrong"

Public Methods

public Output<TInt64> asOutput ()

Returns the symbolic handle of the tensor.

Inputs to TensorFlow operations are outputs of another TensorFlow operation. This method is used to obtain a symbolic handle that represents the computation of the input.

public static ToHashBucketStrong create (Scope scope, Operand<TString> input, Long numBuckets, List<Long> key)

Factory method to create a class wrapping a new ToHashBucketStrong operation.

Parameters
scope current scope
input The strings to assign a hash bucket.
numBuckets The number of buckets.
key The key used to seed the hash function, passed as a list of two uint64 elements.
Returns
  • a new instance of ToHashBucketStrong

public Output<TInt64> output ()

A Tensor of the same shape as the input `string_tensor`.