Мне нужно реализовать сложную модель, и мне лучше использовать наследование Diamond для удовлетворения различных требований. Вот игрушечный код, показывающий, что я пытаюсь сделать:
Traceback (most recent call last):
File "tmp.py", line 95, in
model = D(b_args, c_args)
File "tmp.py", line 88, in __init__
super().__init__(b_args=b_args, c_args=c_args)
File "tmp.py", line 72, in __init__
super().__init__(ratio=4)
TypeError: C.__init__() missing 1 required positional argument: 'c_args'
Скажите, пожалуйста, как мне это сделать?
Кстати, мне нужны B и C быть работоспособными, а это означает, что они являются не только родителями D, но и классом, экземпляр которого можно создать.
Мне нужно реализовать сложную модель, и мне лучше использовать наследование Diamond для удовлетворения различных требований. Вот игрушечный код, показывающий, что я пытаюсь сделать: [code]import torch import torch.nn as nn import torch.nn.functional as F import torch.utils.model_zoo as modelzoo import torch.distributed as dist
b_args = dict(a=1) c_args = dict(b=2) model = D(b_args, c_args) [/code] Я получил ошибку: [code]Traceback (most recent call last): File "tmp.py", line 95, in model = D(b_args, c_args) File "tmp.py", line 88, in __init__ super().__init__(b_args=b_args, c_args=c_args) File "tmp.py", line 72, in __init__ super().__init__(ratio=4) TypeError: C.__init__() missing 1 required positional argument: 'c_args' [/code] Скажите, пожалуйста, как мне это сделать? Кстати, мне нужны B и C быть работоспособными, а это означает, что они являются не только родителями D, но и классом, экземпляр которого можно создать.