torch.nn.factory_kwargs
-
torch.nn.factory_kwargs(kwargs)[исходный код] -
Возвращает канонизированный словарь аргументов фабричных функций.
Принимая kwargs, возвращает канонизированный словарь аргументов фабричных функций, который можно напрямую передать фабричным функциям, таким как torch.empty, либо сообщает об ошибке, если присутствуют нераспознанные kwargs.
Эта функция упрощает написание кода, например:
class MyModule(nn.Module): def __init__(self, **kwargs): factory_kwargs = torch.nn.factory_kwargs(kwargs) self.weight = Parameter(torch.empty(10, **factory_kwargs))Зачем использовать эту функцию, а не просто передавать
kwargsнапрямую?1. Эта функция проверяет корректность аргументов, поэтому при наличии неожиданных kwargs ошибка будет сразу же сообщена, а не отложена до вызова фабричной функции. 2. Эта функция поддерживает специальный аргумент
factory_kwargs, который можно использовать для явного указания kwarg для фабричных функций, если один из аргументов фабричной функции конфликтует с уже существующим аргументом в сигнатуре (например, в сигнатуреdef f(dtype, **kwargs)можно указатьdtypeдля фабричных функций отдельно от аргумента dtype, написавf(dtype1, factory_kwargs={"dtype": dtype2}))
© 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.factory_kwargs.html