Метод adapt класса StringLookup
Метод adapt класса StringLookup
анализирует переданные данные и строит словарь
уникальных строковых значений. Первым параметром
метод принимает данные для анализа, обычно это
тензор или массив строк. Вторым параметром можно
передать количество шагов для обработки больших
наборов данных.
Синтаксис
StringLookup.adapt(data, [steps])
Пример
Давайте создадим слой StringLookup и
построим словарь на основе списка строк:
import tensorflow as tf
lookup = tf.keras.layers.StringLookup()
lookup.adapt(tf.constant(['abcde', 'model.keras', 'abcde', 'model.keras']))
res = lookup.get_vocabulary()
print(res)
Результат выполнения кода:
['', '[UNK]', 'model.keras', 'abcde']
Пример
Давайте создадим слой StringLookup с
ограничением на количество токенов и построим
словарь:
import tensorflow as tf
lookup = tf.keras.layers.StringLookup(max_tokens=2)
lookup.adapt(tf.constant(['abcde', 'model.keras', 'abcde', 'model.keras']))
res = lookup.get_vocabulary()
print(res)
Результат выполнения кода:
['', '[UNK]', 'abcde']
Пример
Давайте применим слой StringLookup
после построения словаря для преобразования
строк в числовые индексы:
import tensorflow as tf
lookup = tf.keras.layers.StringLookup()
lookup.adapt(tf.constant(['abcde', 'model.keras']))
t = tf.constant(['abcde', 'model.keras', 'unknown'])
res = lookup(t)
print(res)
Результат выполнения кода:
tf.Tensor([2 1 0], shape=(3,), dtype=int64)
Смотрите также
-
класс
StringLookup,
который преобразует строки в числовые индексы -
метод
get_vocabulary,
который возвращает построенный словарь -
метод
adapt,
который строит словарь на основе данных -
класс
StringLookup,
который поддерживает маскирование и OOV-токены