Spec-Zone.ru › PyTorch 2.14

torch.nn.utils.skip_init

torch.nn.utils.skip_init(module_cls, *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.skip_init.html

Spec-Zone.ru

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