Spec-Zone.ru › TensorFlow

tf.lookup.experimental.MutableHashTable

Универсальная реализация изменяемой хеш-таблицы.

Наследует: TrackableResource

Просмотреть псевдонимы

Псевдонимы совместимости для миграции

Подробнее см. в руководстве по миграции.

tf.compat.v1.lookup.experimental.MutableHashTable

tf.lookup.experimental.MutableHashTable(
    key_dtype,
    value_dtype,
    default_value,
    name='MutableHashTable',
    checkpoint=True,
    experimental_is_anonymous=False
)

Данные можно вставить, вызвав метод insert, и удалить, вызвав метод remove. Инициализация с помощью метода init не поддерживается.

Для MutableHashTable во время создания и восстановления контрольной точки требуется дополнительная память для создания временных тензоров ключей и значений.

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

table = tf.lookup.experimental.MutableHashTable(key_dtype=tf.string,
                                                value_dtype=tf.int64,
                                                default_value=-1)
keys_tensor = tf.constant(['a', 'b', 'c'])
vals_tensor = tf.constant([7, 8, 9], dtype=tf.int64)
input_tensor = tf.constant(['a', 'f'])
table.insert(keys_tensor, vals_tensor)
table.lookup(input_tensor).numpy()
array([ 7, -1])
table.remove(tf.constant(['c']))
table.lookup(keys_tensor).numpy()
array([ 7, 8, -1])
sorted(table.export()[0].numpy())
[b'a', b'b']
sorted(table.export()[1].numpy())
[7, 8]
Аргументы
key_dtype тип тензоров ключей.
value_dtype тип тензоров значений.
default_value Значение, которое используется, если ключ отсутствует в таблице.
name Имя операции (необязательно).
checkpoint Если значение равно True, содержимое таблицы сохраняется в контрольные точки и восстанавливается из них. Если значение shared_name для таблицы с контрольными точками пусто, таблица совместно используется по имени узла таблицы.
experimental_is_anonymous Следует ли использовать для таблицы анонимный режим (по умолчанию — False). В анонимном режиме доступ к ресурсу таблицы возможен только через дескриптор ресурса. Найти его по имени нельзя. Когда все дескрипторы ресурсов, указывающие на этот ресурс, исчезнут, ресурс будет удален автоматически.
Исключения
ValueError Если значение checkpoint равно True и имя не указано.
Атрибуты
key_dtype Тип данных ключей таблицы.
name Имя таблицы.
resource_handle Возвращает дескриптор ресурса, связанный с этим ресурсом.
value_dtype Тип данных значений таблицы.

Методы

export

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

export(
    name=None
)

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

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

insert

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

insert(
    keys, values, name=None
)

Связывает keys с values.

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

lookup

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

lookup(
    keys, dynamic_default_values=None, name=None
)

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

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

Аргументы
keys Ключи для поиска. Может быть тензором любой формы. Тип должен соответствовать key_dtype таблицы.
dynamic_default_values Значения, используемые, если ключ отсутствует в таблице. Если значение равно None (по умолчанию), используется table.default_value. Форма dynamic_default_values должна совпадать с table.default_value или с тензором результата поиска. Во втором случае для каждого ключа будет использоваться отдельное значение по умолчанию.

Например:

keys = [0, 1, 3]
dynamic_default_values = [[1, 3, 4], [2, 3, 9], [8, 3, 0]]

# The key '0' will use [1, 3, 4] as default value.
# The key '1' will use [2, 3, 9] as default value.
# The key '3' will use [8, 3, 0] as default value.
name Имя операции (необязательно).
Возвращает
Тензор, содержащий значения той же формы, что и keys, с типом данных значений таблицы.
Исключения
TypeError если типы keys не соответствуют типам данных таблицы.

remove

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

remove(
    keys, name=None
)

Удаляет keys и связанные с ними значения из таблицы.

Если ключ отсутствует в таблице, он игнорируется без уведомления.

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

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/experimental/MutableHashTable

Spec-Zone.ru

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