У меня сложилось впечатление, что декорирование с помощью @dataclass
автоматически генерирует функцию __init__()
, которую нельзя настроить, кроме метода __post_init__()
, который добавляет шаги после завершения назначения всех элементов. Это означает, что любой подкласс torch.nn.Module
не может использовать его напрямую. Поскольку любое назначение члена без вызова супер-конструктора сначала приведет к следующей ошибке:
File "..., in __setattr__
"cannot assign module before Module.__init__() call")
AttributeError: cannot assign module before Module.__init__() call
Так правда ли, что в этом случае класс данных будет бесполезен? Есть ли лучший способ минимизировать количество шаблонного кода?