AttributeError: cannot assign module before Module.__init__() call

诸神缄默不语-个人CSDN博文目录

运行环境,报错信息和查找到的错误内容:
Linux系统
Python 3.8(使用anaconda管理的虚拟环境)
PyTorch 1.11+cudatoolkit 10.2(通过anaconda下载)

这个问题是出现在自定义PyTorch模型(torch.nn.Module)子类的运行过程中,在__init__()函数中报错。
我的错误原因是super(类名,self).__init__()忘写最后一个括号了。将括号加上后,就能正常运行了。
这个错误的原因就在于还没有调用Module.__init__()就开始定义子模型了,如self.classifier=nn.Linear(input_dim,output_dim)等。参考异常解决(二)– AttributeError: cannot assign module before Module.__init__() call_奋斗の博客的博客-CSDN博客,也可能是因为直接没写super()命令而造成的。加上之后就可以正常运行。

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
青葱年少的头像青葱年少普通用户
上一篇 2023年2月26日 下午12:40
下一篇 2023年2月26日 下午12:41

相关推荐