Spec-Zone.ru › TensorFlow 2.9

tf.lookup.experimental.DenseHashTable

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

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

Наследуется от: 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 в таблице, выводит соответствующие значения.

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

Аргументы
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/versions/r2.9/api_docs/python/tf/lookup/experimental/DenseHashTable

Spec-Zone.ru

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