首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AttributeError:无法在Module.__init__()调用之前分配模块,即使已初始化

AttributeError:无法在Module.__init__()调用之前分配模块,即使已初始化
EN

Stack Overflow用户
提问于 2019-01-05 15:06:55
回答 1查看 1.9K关注 0票数 2

我得到了以下错误:

AttributeError:无法在模块之前分配模块。init()调用

我正在尝试创建类的一个实例:

代码语言:javascript
运行
复制
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__()打电话,但没有结果。

我在这里做错了什么?

完全回溯:

代码语言:javascript
运行
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-05 21:51:05

事实上,我意识到我并没有在主类super().__init__()中调用ColorizationCycleGAN。加上这个解决了问题。

我希望这个答案能够提醒您检查如何在继承自super().__init__()的所有类中调用nn.Module函数。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54053256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档