运行环境,报错信息和查找到的错误内容:
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/
转载文章受原作者版权保护。转载请注明原作者出处!