Spec-Zone.ru › PyTorch 2.14

L1Unstructured

class torch.nn.utils.prune.L1Unstructured(amount) [исходный код]

Удаляет (пока не удалённые) элементы тензора, обнуляя те из них, у которых наименьшая L1-норма.

Параметры:

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

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

Добавляет динамическое прореживание и репараметризацию тензора.

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

Параметры:
  • 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, optional) – маска предыдущей итерации прореживания, если она есть. Учитывается при определении той части тензора, к которой следует применить прореживание. Если значение равно 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.L1Unstructured.html

Spec-Zone.ru

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