Spec-Zone.ru › PyTorch 1

L1Неструктурированный

class torch.nn.utils.prune.L1Unstructured(amount) [source]

Удаляет (в настоящее время не удалённые) элементы в тензоре, обнуляя элементы с наименьшей нормой L1.

Параметры:

amount (int или float) – количество параметров для удаления. Если float, должно быть от 0.0 до 1.0 и представлять собой долю параметров для удаления. Если int, оно представляет собой абсолютное число параметров для удаления.

classmethod apply(module, name, amount, importance_scores=None) [source]

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

Параметры:
  • module (nn.Module) – модуль, содержащий тензор для удаления
  • name (str) – имя параметра внутри module, на котором будет действовать удаление.
  • amount (int или float) – количество параметров для удаления. Если float, должно быть от 0.0 до 1.0 и представлять собой долю параметров для удаления. Если int, оно представляет собой абсолютное число параметров для удаления.
  • importance_scores (torch.Tensor) – тензор оценок важности (той же формы, что и параметр модуля), используемый для вычисления маски для удаления. Значения в этом тензоре указывают на важность соответствующих элементов в параметре, который удаляется. Если не указано или None, параметр модуля будет использован вместо него.
apply_mask(module)

Просто обрабатывает умножение параметра, который удаляется, на сгенерированную маску. Получает маску и исходный тензор из модуля и возвращает обрезанную версию тензора.

Параметры:

module (nn.Module) – модуль, содержащий тензор для удаления

Возвращаемое значение:

обрезанная версия входного тензора

Тип возвращаемого значения:

pruned_tensor (torch.Tensor)

prune(t, default_mask=None, importance_scores=None)

Вычисляет и возвращает обрезанную версию входного тензора t в соответствии с правилом удаления, указанным в compute_mask().

Параметры:
  • t (torch.Tensor) – тензор для удаления (той же размерности, что и default_mask).
  • importance_scores (torch.Tensor) – тензор оценок важности (той же формы, что и t) используется для вычисления маски для удаления t. Значения в этом тензоре указывают на важность соответствующих элементов в t, который удаляется. Если не указано или None, тензор t будет использован вместо него.
  • default_mask (torch.Tensor, необязательно) – маска из предыдущей итерации удаления, если она есть. Учитывается при определении той части тензора, на которую должно действовать удаление. Если None, по умолчанию используется маска из единиц.
Возвращаемое значение:

обрезанная версия тензора t.

remove(module)

Удаляет перепараметризацию удаления из модуля. Удаленный параметр с именем name остается постоянно удалённым, а параметр с именем name+'_orig' удаляется из списка параметров. Аналогично, буфер с именем name+'_mask' удаляется из буферов.

Примечание

Само удаление НЕ отменяется и НЕ отменяется!

© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/1.13/generated/torch.nn.utils.prune.L1Unstructured.html

Spec-Zone.ru

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