Spec-Zone.ru › TensorFlow

tf.lookup.experimental.DenseHashTable

Изменяемая хеш-таблица с более быстрым поиском и большим объёмом используемой памяти.

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

Псевдонимы

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

См. Руководство по миграции для получения более подробной информации.

tf.compat.v1.lookup.experimental.DenseHashTable

tf.lookup.experimental.DenseHashTable(
    key_dtype,
    value_dtype,
    default_value,
    empty_key,
    deleted_key,
    initial_num_buckets=None,
    name='MutableDenseHashTable',
    checkpoint=True,
    experimental_is_anonymous=False
)

Данные могут быть добавлены с помощью метода insert и удалены с помощью метода remove. Она не поддерживает инициализацию через метод init.

По сравнению с MutableHashTable, DenseHashTable предлагает, как правило, более быстрые операции insert, remove и lookup, за счёт большего общего потребления памяти.

Использует "открытую адресацию" с квадратичным перепробованием для разрешения коллизий. Это требует указания двух ключей в пространстве ключей, empty_key и deleted_key, которые никогда не могут быть добавлены в таблицу.

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

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

table = tf.lookup.experimental.DenseHashTable(
    key_dtype=tf.string,
    value_dtype=tf.int64,
    default_value=-1,
    empty_key='',
    deleted_key='$')
keys = tf.constant(['a', 'b', 'c'])
values = tf.constant([0, 1, 2], dtype=tf.int64)
table.insert(keys, values)
table.remove(tf.constant(['c']))
table.lookup(tf.constant(['a', 'b', 'c','d'])).numpy()
array([ 0,  1, -1, -1])
Аргументы
key_dtype тип тензоров ключей.
value_dtype тип тензоров значений.
default_value Значение по умолчанию, если ключ отсутствует в таблице.
empty_key ключ, используемый для представления пустых корзин внутри. Не должен использоваться в операциях вставки, удаления или поиска.
deleted_key ключ, используемый для представления удалённых корзин внутри. Не должен использоваться в операциях вставки, удаления или поиска и должен отличаться от empty_key.
initial_num_buckets начальное количество корзин (необязательно, по умолчанию 2^17=131072). Обратите внимание, что значение по умолчанию относительно большое (~1 МБ), поэтому, если вы собираетесь создавать много таблиц (вероятно, так происходит, когда experimental_is_anonymous является True), вы должны установить initial_num_buckets на меньшее значение для уменьшения использования памяти.
name Имя операции (необязательно).
checkpoint если True, содержимое таблицы сохраняется и восстанавливается из контрольных точек. Если shared_name пусто для таблицы контрольной точки, она делится с помощью имени узла таблицы.
experimental_is_anonymous использовать анонимный режим для таблицы (по умолчанию False). В анонимном режиме к ресурсу таблицы можно получить доступ только через дескриптор ресурса. Его нельзя найти по имени. Когда все дескрипторы ресурсов, указывающие на этот ресурс, исчезнут, ресурс будет удалён автоматически.
Возможные ошибки
ValueError Если checkpoint = True и имя не было указано.
Атрибуты
key_dtype Тип ключа таблицы.
name Имя таблицы.
resource_handle Возвращает дескриптор ресурса, связанный с этим ресурсом.
value_dtype Тип значений таблицы.

Методы

erase

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

erase(
    keys, name=None
)

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

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

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

export

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

export(
    name=None
)

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

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

insert

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

insert(
    keys, values, name=None
)

Связывает keys со значениями values.

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

insert_or_assign

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

insert_or_assign(
    keys, values, name=None
)

Связывает keys со значениями values.

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

lookup

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

lookup(
    keys, name=None
)

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

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

Аргументы
keys Ключи для поиска. Может быть тензором любой формы. Должен соответствовать типу key_dtype таблицы.
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/DenseHashTable

Spec-Zone.ru

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