tf.lookup.StaticHashTable
Общая хеш-таблица, неизменяемая после инициализации.
Наследуется от: TrackableResource
tf.lookup.StaticHashTable(
initializer, default_value, name=None, experimental_is_anonymous=False
)
Используется в блокнотах
Пример использования:
keys_tensor = tf.constant(['a', 'b', 'c'])
vals_tensor = tf.constant([7, 8, 9])
input_tensor = tf.constant(['a', 'f'])
table = tf.lookup.StaticHashTable(
tf.lookup.KeyValueTensorInitializer(keys_tensor, vals_tensor),
default_value=-1)
table.lookup(input_tensor).numpy()
array([ 7, -1], dtype=int32)Или более идиоматичный для Python код:
table[input_tensor].numpy() array([ 7, -1], dtype=int32)
Результат операции поиска имеет ту же форму, что и аргумент:
input_tensor = tf.constant([['a', 'b'], ['c', 'd']])
table[input_tensor].numpy()
array([[ 7, 8],
[ 9, -1]], dtype=int32)| Аргументы | |
|---|---|
initializer | Инициализатор таблицы. Сведения о поддерживаемых типах ключей и значений см. в ядре HashTable. |
default_value | Значение, используемое, если ключ отсутствует в таблице. |
name | Имя операции (необязательно). |
experimental_is_anonymous | Следует ли использовать для таблицы анонимный режим (по умолчанию False). В анонимном режиме доступ к ресурсу таблицы возможен только через дескриптор ресурса. Найти его по имени нельзя. Когда все дескрипторы, указывающие на этот ресурс, будут удалены, ресурс будет удален автоматически. |
| Атрибуты | |
|---|---|
default_value | Значение таблицы по умолчанию. |
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 для ragged-ключей, в противном случае — плотный 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/api_docs/python/tf/lookup/StaticHashTable