tf.compat.v1.lookup.StaticVocabularyTable
Оборачивание таблицы соответствия «строка-ID», которая назначает ключи вне словаря в корзины.
Унаследованно от: StaticVocabularyTable
tf.compat.v1.lookup.StaticVocabularyTable(
initializer, num_oov_buckets, lookup_key_dtype=None, name=None
)
Например, если экземпляр StaticVocabularyTable инициализирован инициализатором «строка-ID», который сопоставляет:
emerson -> 0lake -> 1palmer -> 2
Объект Vocabulary будет выполнять следующее сопоставление:
emerson -> 0lake -> 1palmer -> 2-
<other term> -> bucket_id, где идентификатор корзины будет находиться между3и3 + num_oov_buckets - 1, вычисляемый по формуле:hash(<term>) % num_oov_buckets + vocab_size
Если input_tensor — ["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. |
| Атрибуты | |
|---|---|
initializer | |
key_dtype | Тип данных ключа таблицы. |
name | Имя таблицы. |
resource_handle | Возвращает дескриптор ресурса, связанный с этим ресурсом. |
value_dtype | Тип данных значений таблицы. |
Методы
lookup
lookup(
keys, name=None
)
Ищет keys в таблице и выводит соответствующие значения.
Назначает ключи вне словаря в корзины, основанные на их хэшах.
| Аргументы | |
|---|---|
keys | Ключи для поиска. Может быть либо разреженным SparseTensor, либо плотным Tensor. |
name | Необязательное имя для операции. |
| Возвращаемое значение | |
|---|---|
Разреженный 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/compat/v1/lookup/StaticVocabularyTable