torch.nn.utils.prune.random_structured
-
torch.nn.utils.prune.random_structured(module, name, amount, dim)[исходный код] -
Выполняет прореживание тензора, удаляя случайные каналы вдоль указанного измерения.
Выполняет прореживание тензора, соответствующего параметру с именем
nameвmodule, удаляя указанное количествоamount(в настоящее время не прореженных) каналов вдоль указанногоdim, выбранных случайным образом. Изменяет модуль на месте (и также возвращает измененный модуль), выполняя следующие действия:- добавляет именованный буфер с именем
name+'_mask', соответствующий двоичной маске, примененной методом прореживания к параметруname. - заменяет параметр
nameего прореженной версией, сохраняя исходный (непрореженный) параметр в новом параметре с именемname+'_orig'.
- Параметры:
-
- module (nn.Module) – модуль, содержащий тензор для прореживания
-
name (str) – имя параметра в
module, к которому будет применено прореживание. -
amount (int or float) – количество параметров для прореживания. Если
float, должно находиться в диапазоне от 0.0 до 1.0 и обозначать долю параметров для прореживания. Еслиint, обозначает абсолютное количество параметров для прореживания. - dim (int) – индекс измерения, вдоль которого определяются прореживаемые каналы.
- Возвращает:
-
измененную (то есть прореженную) версию входного модуля
- Тип возвращаемого значения:
-
module (nn.Module)
Примеры
>>> m = prune.random_structured(nn.Linear(5, 3), "weight", amount=3, dim=1) >>> columns_pruned = int(sum(torch.sum(m.weight, dim=0) == 0)) >>> print(columns_pruned) 3
- добавляет именованный буфер с именем
© 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.random_structured.html