Spec-Zone.ru › PyTorch 2

torch.nn.utils.prune.random_unstructured

torch.nn.utils.prune.random_unstructured(module, name, amount) [source]

Удаляет тензор, соответствующий параметру с именем name в module, удаляя указанную amount (в настоящее время не прореженных) элементов, выбранных случайным образом. Модифицирует модуль на месте (а также возвращает изменённый модуль) путём:

  1. добавления именованного буфера с именем name+'_mask' , соответствующего бинарной маске, применённой к параметру name методом прореживания.
  2. замены параметра 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

Spec-Zone.ru

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