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