Spec-Zone.ru › PyTorch 2.14

BasePruningMethod

class torch.nn.utils.prune.BasePruningMethod [исходный код]

Абстрактный базовый класс для создания новых методов прореживания.

Предоставляет основу для настройки, требующей переопределения таких методов, как compute_mask() и apply().

classmethod apply(module, name, *args, importance_scores=None, **kwargs) [исходный код]

Применяет прореживание на лету и выполняет репараметризацию тензора.

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

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

Выполняет только умножение прореживаемого параметра на созданную маску.

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

Параметры:

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

Возвращает:

прореженную версию входного тензора

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

pruned_tensor (torch.Tensor)

abstract compute_mask(t, default_mask) [исходный код]

Вычисляет и возвращает маску для входного тензора t.

Начиная с базовой default_mask (которая должна быть маской из единиц, если тензор ещё не прореживался), создает случайную маску для применения поверх default_mask в соответствии с правилами конкретного метода прореживания.

Параметры:
  • t (torch.Tensor) – тензор, представляющий оценки важности
  • prune. (параметра для прореживания) –
  • default_mask (torch.Tensor) – базовая маска, полученная в результате предыдущего прореживания
  • iterations –
  • is (которые необходимо сохранить после применения новой маски) –
  • t. (Имеет те же размерности, что и) –
Возвращает:

маску для применения к t с теми же размерностями, что и t

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

mask (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' удаляется из списка буферов.

Примечание

Само прореживание НЕ отменяется и НЕ обращается!

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

Spec-Zone.ru

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