В python 3.7+ возможно ли определить torch.nn.Module как класс данных? - PullRequest
0 голосов
/ 13 июня 2019

У меня сложилось впечатление, что декорирование с помощью @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

Так правда ли, что в этом случае класс данных будет бесполезен? Есть ли лучший способ минимизировать количество шаблонного кода?

...