我得到了以下错误:
AttributeError:无法在模块之前分配模块。init()调用
我正在尝试创建类的一个实例:
class ResNetGenerator(nn.Module):
def __init__(self, input_nc=3, output_nc=3, n_residual_blocks=9, use_dropout=False):
# super(ResNetGenerator, self).__init__()
super().__init__()
我给super().__init__()
打电话,但没有结果。
我在这里做错了什么?
完全回溯:
File "train.py", line 40, in <module>
model = ColorizationCycleGAN(args)
File "/path/cycle_gan.py", line 27, in __init__
self.G_A2B = ResNetGenerator(input_nc=self.input_nc, output_nc=self.output_nc, n_residual_blocks=9, use_dropout=False)
File "/path/.local/lib/python3.6/site packages/torch/nn/modules/module.py", line 544, in __setattr__
"cannot assign module before Module.__init__() call")
AttributeError: cannot assign module before Module.__init__() call
发布于 2019-01-05 21:51:05
事实上,我意识到我并没有在主类super().__init__()
中调用ColorizationCycleGAN
。加上这个解决了问题。
我希望这个答案能够提醒您检查如何在继承自super().__init__()
的所有类中调用nn.Module
函数。
https://stackoverflow.com/questions/54053256
复制相似问题