Spec-Zone.ru › TensorFlow

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))
Args
initializer Инициализатор таблицы. Смотрите HashTable, для поддерживаемых типов ключей и значений.
default_value Значение, используемое, если ключ отсутствует в таблице.
name Имя операции (необязательно).
experimental_is_anonymous Использовать анонимный режим для таблицы (по умолчанию False). В анонимном режиме доступ к ресурсу таблицы возможен только через дескриптор ресурса. Таблица не может быть найдена по имени. Когда все дескрипторы ресурсов, указывающие на этот ресурс, исчезнут, ресурс будет автоматически удалён.
Атрибуты
default_value Значение по умолчанию для таблицы.
initializer
key_dtype Тип данных ключей таблицы.
name Имя таблицы.
resource_handle Возвращает дескриптор ресурса, связанный с этим ресурсом.
value_dtype Тип данных значений таблицы.

Методы

export

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

export(
    name=None
)

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

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

lookup

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

lookup(
    keys, name=None
)

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

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

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

size

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

size(
    name=None
)

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

Args
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/api_docs/python/tf/compat/v1/lookup/StaticHashTable

Spec-Zone.ru

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