Класс StringLookup
Класс StringLookup преобразует строковые значения
в целочисленные индексы на основе словаря.
Первый параметр max_tokens задает максимальный размер словаря.
Вторым параметром num_oov_indices передается количество
индексов для слов, отсутствующих в словаре.
Третьим параметром mask_token можно передать строку,
которая будет зарезервирована как маскирующий токен.
Четвертым параметром oov_token задается строка
для представления слов вне словаря.
Пятым параметром vocabulary передается
готовый список строк для словаря.
Синтаксис
tf.keras.layers.StringLookup(
max_tokens=None,
num_oov_indices=1,
mask_token=None,
oov_token="[UNK]",
vocabulary=None,
dtype="int64"
)
Пример
Давайте создадим слой StringLookup
и преобразуем строки в индексы:
import tensorflow as tf
lookup = tf.keras.layers.StringLookup(vocabulary=['abcde', 'model.keras'])
res = lookup(['abcde', 'model.keras', 'abcde'])
print(res)
Результат выполнения кода:
tf.Tensor([1 2 1], shape=(3,), dtype=int64)
Пример
Давайте создадим слой StringLookup
без готового словаря и адаптируем его на данных:
import tensorflow as tf
lookup = tf.keras.layers.StringLookup()
lookup.adapt(['abcde', 'model.keras', 'abcde'])
res = lookup(['abcde', 'model.keras', 'unknown'])
print(res)
Результат выполнения кода:
tf.Tensor([1 2 0], shape=(3,), dtype=int64)
Пример
Давайте передадим два индекса для слов вне словаря:
import tensorflow as tf
lookup = tf.keras.layers.StringLookup(
num_oov_indices=2,
vocabulary=['abcde', 'model.keras']
)
res = lookup(['abcde', 'model.keras', 'unknown'])
print(res)
Результат выполнения кода:
tf.Tensor([2 3 0], shape=(3,), dtype=int64)
Пример
Давайте получим словарь слоя StringLookup:
import tensorflow as tf
lookup = tf.keras.layers.StringLookup(vocabulary=['abcde', 'model.keras'])
res = lookup.get_vocabulary()
print(res)
Результат выполнения кода:
['[UNK]', 'abcde', 'model.keras']
Смотрите также
-
класс
StringLookup,
который преобразует строки в индексы -
метод
adapt,
который строит словарь на основе данных -
метод
get_vocabulary,
который возвращает словарь слоя