`#include <string_ops.h>`

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

Arguments:

- 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 ` |

Operation operation

::tensorflow::Output output

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

::tensorflow::Node * node() const

operator::tensorflow::Input() const

operator::tensorflow::Output() const

© 2020 The TensorFlow Authors. All rights reserved.

Licensed under the Creative Commons Attribution License 3.0.

Code samples licensed under the Apache 2.0 License.

https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/ops/string-to-hash-bucket-strong