L1Неструктурированный
-
class torch.nn.utils.prune.L1Unstructured(amount)[source] -
Удаляет (в настоящее время не удалённые) элементы в тензоре, обнуляя элементы с наименьшей нормой L1.
- Параметры:
-
amount (int или float) – количество параметров для удаления. Если
float, должно быть от 0.0 до 1.0 и представлять собой долю параметров для удаления. Еслиint, оно представляет собой абсолютное число параметров для удаления.
-
classmethod apply(module, name, amount, importance_scores=None)[source] -
Добавляет предварительный хук для перехода, который позволяет удалять параметры на лету и перепараметризовать тензор относительно исходного тензора и маски удаления.
- Параметры:
-
- module (nn.Module) – модуль, содержащий тензор для удаления
-
name (str) – имя параметра внутри
module, на котором будет действовать удаление. -
amount (int или float) – количество параметров для удаления. Если
float, должно быть от 0.0 до 1.0 и представлять собой долю параметров для удаления. Еслиint, оно представляет собой абсолютное число параметров для удаления. - importance_scores (torch.Tensor) – тензор оценок важности (той же формы, что и параметр модуля), используемый для вычисления маски для удаления. Значения в этом тензоре указывают на важность соответствующих элементов в параметре, который удаляется. Если не указано или None, параметр модуля будет использован вместо него.
-
apply_mask(module) -
Просто обрабатывает умножение параметра, который удаляется, на сгенерированную маску. Получает маску и исходный тензор из модуля и возвращает обрезанную версию тензора.
- Параметры:
-
module (nn.Module) – модуль, содержащий тензор для удаления
- Возвращаемое значение:
-
обрезанная версия входного тензора
- Тип возвращаемого значения:
-
pruned_tensor (torch.Tensor)
-
prune(t, default_mask=None, importance_scores=None) -
Вычисляет и возвращает обрезанную версию входного тензора
tв соответствии с правилом удаления, указанным вcompute_mask().- Параметры:
-
-
t (torch.Tensor) – тензор для удаления (той же размерности, что и
default_mask). -
importance_scores (torch.Tensor) – тензор оценок важности (той же формы, что и
t) используется для вычисления маски для удаленияt. Значения в этом тензоре указывают на важность соответствующих элементов вt, который удаляется. Если не указано или None, тензорtбудет использован вместо него. - default_mask (torch.Tensor, необязательно) – маска из предыдущей итерации удаления, если она есть. Учитывается при определении той части тензора, на которую должно действовать удаление. Если None, по умолчанию используется маска из единиц.
-
t (torch.Tensor) – тензор для удаления (той же размерности, что и
- Возвращаемое значение:
-
обрезанная версия тензора
t.
-
remove(module) -
Удаляет перепараметризацию удаления из модуля. Удаленный параметр с именем
nameостается постоянно удалённым, а параметр с именемname+'_orig'удаляется из списка параметров. Аналогично, буфер с именемname+'_mask'удаляется из буферов.Примечание
Само удаление НЕ отменяется и НЕ отменяется!
© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/1.13/generated/torch.nn.utils.prune.L1Unstructured.html