torch.nn.utils.prune.ln_structured
-
torch.nn.utils.prune.ln_structured(module, name, amount, n, dim, importance_scores=None)[source] -
Прореживает тензор, удаляя каналы с наименьшей L
n-нормой вдоль указанного измерения.Прореживает тензор, соответствующий параметру с именем
nameвmodule, удаляя указанное количествоamountканалов (которые ещё не были прорежены) вдоль указанногоdimс наименьшей Ln-нормой. Изменяет модуль на месте (и также возвращает изменённый модуль), выполняя следующие действия:- добавляет именованный буфер с именем
name+'_mask', соответствующий бинарной маске, применённой методом прореживания к параметруname. - заменяет параметр
nameего прореженной версией, сохраняя исходный (непрореженный) параметр в новом параметре с именемname+'_orig'.
- Параметры:
-
- module (nn.Module) – модуль, содержащий тензор для прореживания
-
name (str) – имя параметра в
module, к которому будет применено прореживание. -
amount (int or float) – количество параметров для прореживания. Если
float, должно находиться в диапазоне от 0.0 до 1.0 и задавать долю параметров для прореживания. Еслиint, задаёт абсолютное количество параметров для прореживания. -
n (int, float, inf, -inf, 'fro', 'nuc') – Допустимые значения аргумента
pсм. в документации кtorch.norm(). - dim (int) – индекс измерения, вдоль которого определяются каналы для прореживания.
- importance_scores (torch.Tensor) – тензор оценок важности (той же формы, что и параметр модуля), используемый для вычисления маски прореживания. Значения в этом тензоре указывают важность соответствующих элементов прореживаемого параметра. Если значение не указано или равно None, вместо него используется параметр модуля.
- Возвращает:
-
изменённую (то есть прореженную) версию входного модуля
- Тип возвращаемого значения:
-
module (nn.Module)
Примеры
>>> from torch.nn.utils import prune >>> m = prune.ln_structured( ... nn.Conv2d(5, 3, 2), "weight", amount=0.3, dim=1, n=float("-inf") ... ) - добавляет именованный буфер с именем
© 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.ln_structured.html