Spec-Zone.ru › TensorFlow 2.9

tf.compat.v1.lookup.StaticHashTable

Общий хэш-таблица, которая становится неизменяемой после инициализации.

Наследуется от: StaticHashTable, TrackableResource

tf.compat.v1.lookup.StaticHashTable(
    initializer, default_value, name=None, experimental_is_anonymous=False
)

При работе в режиме графа, необходимо выполнить тензор, возвращаемый tf.tables_initializer() перед выполнением метода этого класса lookup(). Пример использования в режиме графа:

keys_tensor = tf.constant([1, 2])
vals_tensor = tf.constant([3, 4])
input_tensor = tf.constant([1, 5])
table = tf.lookup.StaticHashTable(
    tf.lookup.KeyValueTensorInitializer(keys_tensor, vals_tensor), -1)
out = table.lookup(input_tensor)
with tf.Session() as sess:
    sess.run(tf.tables_initializer())
    print(sess.run(out))

Обратите внимание, что в режиме графа, если вы установите experimental_is_anonymous в True, вы должны вызвать Session.run только один раз, иначе каждый Session.run создаст (и уничтожит) новую таблицу, не связанную друг с другом, что приведёт к ошибкам, таким как «Таблица не инициализирована». Вы можете сделать это так:

keys_tensor = tf.constant([1, 2])
vals_tensor = tf.constant([3, 4])
input_tensor = tf.constant([1, 5])
table = tf.lookup.StaticHashTable(
    tf.lookup.KeyValueTensorInitializer(keys_tensor, vals_tensor), -1,
    experimental_is_anonymous=True)
with tf.control_dependencies([tf.tables_initializer()]):
  out = table.lookup(input_tensor)
with tf.Session() as sess:
  print(sess.run(out))

В режиме eager, для инициализации таблицы не требуется специальный код. Пример использования в режиме eager:

tf.enable_eager_execution()
keys_tensor = tf.constant([1, 2])
vals_tensor = tf.constant([3, 4])
input_tensor = tf.constant([1, 5])
table = tf.lookup.StaticHashTable(
    tf.lookup.KeyValueTensorInitializer(keys_tensor, vals_tensor), -1)
print(table.lookup(input_tensor))
Аргументы
initializer Инициализатор таблицы для использования. Смотрите HashTable ядро для поддерживаемых типов ключей и значений.
default_value Значение, используемое, если ключ отсутствует в таблице.
name Имя операции (необязательно).
experimental_is_anonymous Использовать анонимный режим для таблицы (по умолчанию False). В анонимном режиме к ресурсу таблицы можно получить доступ только через дескриптор ресурса. Его нельзя найти по имени. Когда все дескрипторы ресурсов, указывающие на этот ресурс, исчезнут, ресурс будет автоматически удален.
Атрибуты
default_value Значение по умолчанию таблицы.
initializer
key_dtype Тип данных ключа таблицы.
name Имя таблицы.
resource_handle Возвращает дескриптор ресурса, связанный с этим ресурсом.
value_dtype Тип данных значений таблицы.

Методы

export

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

export(
    name=None
)

Возвращает тензоры всех ключей и значений в таблице.

Аргументы
name Имя операции (необязательно).
Возвращает
Пара тензоров, где первый тензор содержит все ключи, а второй тензор содержит все значения в таблице.

lookup

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

lookup(
    keys, name=None
)

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

default_value используется для ключей, отсутствующих в таблице.

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

size

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

size(
    name=None
)

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

Аргументы
name Имя операции (необязательно).
Возвращает
Скалярный тензор, содержащий количество элементов в этой таблице.

__getitem__

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

__getitem__(
    keys
)

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

© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/compat/v1/lookup/StaticHashTable

Spec-Zone.ru

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