调试程序的时候报错,torch.nn.modules.module.ModuleAttributeError: ‘Hardswish‘ object has no attribute ‘inplace‘
查资料发现可能是yolov5和torch版本的关系。
这篇提到可以降版本解决,https://blog.csdn.net/qq_38767041/article/details/109736024
分别把 torch 版本降到 1.6.0 、torchvision 版本降到 0.7.0,执行检测,成功~
但是我用的是rtx3090,用的是用的是torch 1.7.1+cu110,想用gpu就不能降torch版本,故上面的方法不适用与我。
然后发现了另一篇资料提到可以改torch的activation.py文件,改完确实有效,记录一下。
根据报错提示的路径,编辑/torch/nn/modules/activation.py,把“,self.inplace”删掉,大概在438行左右。
def forward(self, input: Tensor) -> Tensor:
#return F.hardswish(input, self.inplace) #删除,self,inplace即可
return F.hardswish(input)
原文在此:https://blog.csdn.net/ynxdb2002/article/details/109697772