Данные могут быть добавлены с помощью метода insert и удалены с помощью метода remove. Она не поддерживает инициализацию через метод init.
По сравнению с MutableHashTable, DenseHashTable предлагает, как правило, более быстрые операции insert, remove и lookup, за счёт большего общего потребления памяти.
Использует "открытую адресацию" с квадратичным перепробованием для разрешения коллизий. Это требует указания двух ключей в пространстве ключей, empty_key и deleted_key, которые никогда не могут быть добавлены в таблицу.
В отличие от MutableHashTable, DenseHashTable не требует дополнительной памяти для временных тензоров, созданных во время операций сохранения и восстановления контрольных точек.
Значение по умолчанию, если ключ отсутствует в таблице.
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
Возвращает дескриптор ресурса, связанный с этим ресурсом.