Spec-Zone.ru › PyTorch 2.14

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 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

Spec-Zone.ru

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