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 или float) – количество параметров для прореживания. Если
float, должно быть в диапазоне от 0,0 до 1,0 и представлять долю параметров для прореживания. Еслиint, оно представляет собой абсолютное количество параметров для прореживания.
- Возвращает
-
изменённый (т.е. прореженный) вариант входного модуля
- Тип возвращаемого значения
-
модуль (nn.Module)
Примеры
>>> m = prune.random_unstructured(nn.Linear(2, 3), 'weight', amount=1) >>> torch.sum(m.weight_mask == 0) tensor(1)
- добавления именованного буфера с именем
© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/2.1/generated/torch.nn.utils.prune.random_unstructured.html