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()命令而造成的。加上之后就可以正常运行。

Original: https://blog.csdn.net/PolarisRisingWar/article/details/126424114
Author: 诸神缄默不语
Title: AttributeError: cannot assign module before Module.init() call

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/673454/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球