RandomUnstructured
-
class torch.nn.utils.prune.RandomUnstructured(amount)[исходный код] -
Случайным образом прореживает элементы тензора, которые ещё не были прорежены.
- Параметры:
-
-
name (str) – имя параметра в
module, к которому будет применено прореживание. -
amount (int или float) – количество параметров для прореживания. Если
float, значение должно находиться между 0.0 и 1.0 и обозначать долю параметров для прореживания. Еслиint, значение обозначает абсолютное количество параметров для прореживания.
-
name (str) – имя параметра в
-
classmethod apply(module, name, amount)[исходный код] -
Добавляет динамическое прореживание и репараметризацию тензора.
Добавляет предварительный обработчик прямого вызова, который включает динамическое прореживание и репараметризацию тензора на основе исходного тензора и маски прореживания.
- Параметры:
-
- module (nn.Module) – модуль, содержащий тензор для прореживания
-
name (str) – имя параметра в
module, к которому будет применено прореживание. -
amount (int или float) – количество параметров для прореживания. Если
float, значение должно находиться между 0.0 и 1.0 и обозначать долю параметров для прореживания. Еслиint, значение обозначает абсолютное количество параметров для прореживания.
-
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 (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.RandomUnstructured.html