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 (torch.Tensor) – тензор для прореживания (с теми же размерностями, что и
- Возвращает:
-
прореженную версию тензора
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