Spec-Zone.ru › TensorFlow 2.3

tf.lookup.StaticVocabularyTable

Просмотреть исходный код на GitHub

Оборачивающий объект таблицы «строка-ID», который назначает ключи вне словаря в корзины.

tf.lookup.StaticVocabularyTable(
    initializer, num_oov_buckets, lookup_key_dtype=None, name=None
)

Например, если экземпляр StaticVocabularyTable инициализирован инициализатором «строка-ID», который сопоставляет:

  • emerson -> 0
  • lake -> 1
  • palmer -> 2

Объект Vocabulary выполнит следующее отображение:

  • emerson -> 0
  • lake -> 1
  • palmer -> 2
  • <other term> -> bucket_id, где идентификатор корзины будет находиться между 3 и 3 + num_oov_buckets - 1, вычисленный по формуле: hash(<term>) % num_oov_buckets + vocab_size

Если входной тензор ["emerson", "lake", "palmer", "king", "crimson"], результат поиска — [0, 1, 2, 4, 7].

Если initializer равно None, используются только корзины для ключей вне словаря.

Пример использования:

num_oov_buckets = 3
input_tensor = tf.constant(["emerson", "lake", "palmer", "king", "crimnson"])
table = tf.lookup.StaticVocabularyTable(
    tf.lookup.TextFileInitializer(
        filename,
        key_dtype=tf.string, key_index=tf.lookup.TextFileIndex.WHOLE_LINE,
        value_dtype=tf.int64, value_index=tf.lookup.TextFileIndex.LINE_NUMBER,
        delimiter="\t"),
    num_oov_buckets)
out = table.lookup(input_tensor).
table.init.run()
print(out.eval())

Функция хеширования, используемая для генерации идентификаторов корзин для ключей вне словаря, — Fingerprint64.

Аргументы
initializer Объект TableInitializerBase, содержащий данные для инициализации таблицы. Если None, то используются только корзины для ключей вне словаря.
num_oov_buckets Количество корзин для использования для ключей вне словаря. Должно быть больше нуля.
lookup_key_dtype Тип данных ключей, передаваемых в lookup. По умолчанию initializer.key_dtype если initializer указан, в противном случае tf.string. Должно быть строкой или целым числом и должно быть приводимым к типу initializer.key_dtype.
name Имя операции (необязательно).
Исключения
ValueError когда num_oov_buckets не положительно.
TypeError когда lookup_key_dtype или initializer.key_dtype не являются целыми числами или строками. Также, когда initializer.value_dtype != int64.
Атрибуты
key_dtype Тип данных ключей таблицы.
name Имя таблицы.
resource_handle Возвращает дескриптор ресурса, связанный с этим ресурсом.
value_dtype Тип данных значений таблицы.

Методы

lookup

Просмотреть исходный код

lookup(
    keys, name=None
)

Ищет keys в таблице, выводит соответствующие значения.

Назначает ключи вне словаря в корзины на основе их хэшей.

Аргументы
keys Ключи для поиска. Может быть либо SparseTensor или плотным Tensor.
name Необязательное имя для операции.
Возвращаемые значения
A SparseTensor если ключи являются разреженными, в противном случае плотный Tensor.
Исключения
TypeError если keys не соответствует типу данных ключа таблицы.

size

Просмотреть исходный код

size(
    name=None
)

Вычисляет количество элементов в этой таблице.

© 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/r2.3/api_docs/python/tf/lookup/StaticVocabularyTable

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API