Функция strings.to_hash_bucket
Функция strings.to_hash_bucket преобразует
строки в целочисленные индексы хеш-корзин.
Первым параметром передается строковый тензор
с исходными данными. Вторым параметром
указывается количество корзин num_buckets,
в которые будут распределяться строки.
Третьим необязательным параметром задается
имя операции name.
Синтаксис
tf.strings.to_hash_bucket(input, num_buckets, name=None)
Пример
Давайте преобразуем строковый тензор
в хеш-корзины с количеством корзин 10:
import tensorflow as tf
t = tf.constant(['abcde', 'model.keras'])
res = tf.strings.to_hash_bucket(t, num_buckets=10)
print(res)
Результат выполнения кода:
tf.Tensor([6 2], shape=(2,), dtype=int64)
Пример
Давайте применим функцию к тензору
с количеством корзин 3:
import tensorflow as tf
t = tf.constant(['abcde', 'model.keras'])
res = tf.strings.to_hash_bucket(t, num_buckets=3)
print(res)
Результат выполнения кода:
tf.Tensor([0 2], shape=(2,), dtype=int64)
Пример
Давайте сохраним тип данных результата
в int64 и выведем форму тензора:
import tensorflow as tf
t = tf.constant(['abcde', 'model.keras'])
res = tf.strings.to_hash_bucket(t, num_buckets=5)
print(res)
print(res.dtype)
Результат выполнения кода:
tf.Tensor([1 4], shape=(2,), dtype=int64)
<dtype: 'int64'>
Смотрите также
-
функцию
to_hash_bucket_fast,
которая быстро хеширует строки без учета коллизий -
функцию
to_number,
которая преобразует строки в числа -
функцию
unicode_decode,
которая декодирует строки в коды символов -
функцию
unicode_encode,
которая кодирует коды символов в строки