Данные могут быть добавлены с помощью метода 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
Возвращает дескриптор ресурса, связанный с этим ресурсом.