Метод set_vocabulary
Метод set_vocabulary класса TextVectorization
устанавливает готовый словарь для слоя векторизации.
Первым параметром передаётся список токенов словаря.
Вторым параметром можно передать файл словаря,
а третьим - количество документов, использованных
при построении словаря. После вызова метода слой
использует заданный словарь вместо автоматического,
который строит метод adapt.
Синтаксис
TextVectorization.set_vocabulary(
vocabulary, [filepath], [num_oov_tokens]
)
Пример
Давайте создадим слой векторизации и зададим ему собственный словарь из нескольких токенов:
import tensorflow as tf
layer = tf.keras.layers.TextVectorization()
layer.set_vocabulary(['abcde', 'model.keras', 'tensor'])
print(layer.get_vocabulary())
Результат выполнения кода:
['abcde', 'model.keras', 'tensor']
Пример
Давайте проверим, как слой векторизует строку с заданным словарём:
import tensorflow as tf
layer = tf.keras.layers.TextVectorization()
layer.set_vocabulary(['abcde', 'model.keras', 'tensor'])
res = layer(['abcde tensor'])
print(res)
Результат выполнения кода:
tf.Tensor([[0 2]], shape=(1, 2), dtype=int64)
Пример
Давайте сохраним словарь в файл и загрузим его
через параметр filepath:
<+python+>
import tensorflow as tf
layer = tf.keras.layers.TextVectorization()
layer.set_vocabulary(['abcde', 'model.keras', 'tensor'])
layer.save_assets('/tmp/textvec')
new_layer = tf.keras.layers.TextVectorization()
new_layer.set_vocabulary(
None, filepath='/tmp/textvec/vocabulary.txt'
)
print(new_layer.get_vocabulary())
<-python+>
Результат выполнения кода:
['abcde', 'model.keras', 'tensor']
Смотрите также
-
класс
TextVectorization,
который векторизует текст в последовательности токенов -
метод
adapt,
который строит словарь по обучающим данным -
метод
get_vocabulary,
который возвращает текущий словарь слоя -
метод
set_vocabulary,
который задаёт словарь для слоя векторизации