tf.strings.to_hash_bucket_strong
Преобразует каждую строку в тензоре входных данных в её хэш по модулю количества ведер.
tf.strings.to_hash_bucket_strong(
input, num_buckets, key, name=None
)
Функция хэширования детерминирована относительно содержимого строки в рамках процесса. Функция хэширования — это функция хэширования с ключом, где атрибут key определяет ключ функции хэширования. key представляет собой массив из 2 элементов.
Сильный хэш важен, когда входные данные могут быть вредоносными, например, URL-адреса с дополнительными компонентами. Злоумышленники могут попытаться заставить свои входные данные хэшироваться в одном и том же ведре для атаки типа «отказ в обслуживании» или искажения результатов. Сильный хэш может использоваться для затруднения поиска входных данных со смещённым распределением значений хэша по ведрам. Это требует, чтобы функция хэширования была инициализирована высокоэнтропийным (случайным) «ключом», неизвестным злоумышленнику.
Дополнительная надёжность влечёт за собой увеличение времени вычислений примерно в 4 раза по сравнению с tf.string_to_hash_bucket_fast.
| Аргументы | |
|---|---|
input | A Tensor типа string. Строки, которым нужно назначить ведро хэша. |
num_buckets | Целое число, представляющее количество ведер. |
key | Список ints. Ключ, используемый для инициализации функции хэширования, передаваемый в виде списка из двух элементов uint64. |
name | Имя операции (необязательно). |
| Возвращаемое значение | |
|---|---|
A Tensor типа int64. |
© 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/r1.15/api_docs/python/tf/strings/to_hash_bucket_strong