Spec-Zone.ru › PyTorch 2.14

torch.nn.utils.init.skip_init

torch.nn.utils.init.skip_init(module_cls, *args, **kwargs) [исходный код]

Получив объект класса модуля и аргументы args / kwargs, создает экземпляр модуля без инициализации параметров / буферов.

Это может быть полезно, если инициализация выполняется медленно или если будет выполняться пользовательская инициализация, из-за чего стандартная инициализация не нужна. Однако у этого подхода есть некоторые ограничения, обусловленные особенностями реализации данной функции:

1. Конструктор модуля должен принимать аргумент device, который передается всем параметрам или буферам, создаваемым при конструировании.

2. Конструктор модуля не должен выполнять никаких операций над параметрами, кроме инициализации (то есть функций из torch.nn.init).

Если эти условия соблюдены, экземпляр модуля можно создать с неинициализированными значениями параметров / буферов, как если бы он был создан с помощью torch.empty().

Параметры:
  • module_cls – Объект класса; должен быть подклассом torch.nn.Module
  • args – аргументы, передаваемые конструктору модуля
  • kwargs – именованные аргументы, передаваемые конструктору модуля
Возвращает:

Созданный экземпляр модуля с неинициализированными параметрами / буферами

Пример:

>>> import torch
>>> m = torch.nn.utils.skip_init(torch.nn.Linear, 5, 1)
>>> m.weight
Parameter containing:
tensor([[0.0000e+00, 1.5846e+29, 7.8307e+00, 2.5250e-29, 1.1210e-44]],
       requires_grad=True)
>>> m2 = torch.nn.utils.skip_init(torch.nn.Linear, in_features=6, out_features=1)
>>> m2.weight
Parameter containing:
tensor([[-1.4677e+24,  4.5915e-41,  1.4013e-45,  0.0000e+00, -1.4677e+24,
          4.5915e-41]], requires_grad=True)

© 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.init.skip_init.html

Spec-Zone.ru

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