Spec-Zone.ru › PyTorch 2.14

torch.nn.utils.prune.random_structured

torch.nn.utils.prune.random_structured(module, name, amount, dim) [исходный код]

Выполняет прореживание тензора, удаляя случайные каналы вдоль указанного измерения.

Выполняет прореживание тензора, соответствующего параметру с именем name в module, удаляя указанное количество amount (в настоящее время не прореженных) каналов вдоль указанного dim, выбранных случайным образом. Изменяет модуль на месте (и также возвращает измененный модуль), выполняя следующие действия:

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

Spec-Zone.ru

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