当前位置:   article > 正文

日常开发报错记录_"runtimeerror: \"slow_conv2d_cpu\" not implemented

"runtimeerror: \"slow_conv2d_cpu\" not implemented for 'half"

20230424

python3.7中报错:No module named ‘typing_extensions‘ 

在网上找到的解决办法:【pytorch】错误:No module named ‘typing_extensions‘ 问题解决_no module named typing_污喵王z的博客-CSDN博客

就是将缺失的文件typing_extensions.py,补充到路径:…\envs\py3.7\Lib\typing.py的同目录下,但发现github上的文件丢失,这里附上新路径1:typing_extensions/typing_extensions.py at main · python/typing_extensions · GitHub

路径2:(300条消息) python3.7报错:typing-extensions.py文件按丢失资源-CSDN文库

20230306

复现Github:

GitHub - Sharpiless/Yolov5-Flask-VUE: 基于Flask开发后端、VUE开发前端框架,在WEB端部署YOLOv5目标检测模型

运行时报错:

RuntimeError: "slow_conv2d_cpu" not implemented for 'Half'
 

整体情况:

在执行F.conv2d(input, weight, bias, self.stride, self.padding, self.dilation, self.groups)这句代码的时候报的错误。

 报错情况:

  1. Traceback (most recent call last):
  2. File "D:\SOFTWARE\ProgrammeSoftware\Programs\Python\Python39\lib\site-packages\flask\app.py", line 2551, in __call__
  3. return self.wsgi_app(environ, start_response)
  4. File "D:\SOFTWARE\ProgrammeSoftware\Programs\Python\Python39\lib\site-packages\flask\app.py", line 2531, in wsgi_app
  5. response = self.handle_exception(e)
  6. File "D:\SOFTWARE\ProgrammeSoftware\Programs\Python\Python39\lib\site-packages\flask\app.py", line 2528, in wsgi_app
  7. response = self.full_dispatch_request()
  8. File "D:\SOFTWARE\ProgrammeSoftware\Programs\Python\Python39\lib\site-packages\flask\app.py", line 1825, in full_dispatch_request
  9. rv = self.handle_user_exception(e)
  10. File "D:\SOFTWARE\ProgrammeSoftware\Programs\Python\Python39\lib\site-packages\flask\app.py", line 1823, in full_dispatch_request
  11. rv = self.dispatch_request()
  12. File "D:\SOFTWARE\ProgrammeSoftware\Programs\Python\Python39\lib\site-packages\flask\app.py", line 1799, in dispatch_request
  13. return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
  14. File "E:\WorkSpace\ProjectPrograme\Python\Yolov5-Flask-VUE\back-end\app.py", line 53, in upload_file
  15. pid, image_info = core.main.c_main(
  16. File "E:\WorkSpace\ProjectPrograme\Python\Yolov5-Flask-VUE\back-end\core\main.py", line 6, in c_main
  17. image_info = predict.predict(image_data, model, ext)
  18. File "E:\WorkSpace\ProjectPrograme\Python\Yolov5-Flask-VUE\back-end\core\predict.py", line 10, in predict
  19. img_y, image_info = model.detect(x)
  20. File "E:\WorkSpace\ProjectPrograme\Python\Yolov5-Flask-VUE\back-end\processor\AIDetector_pytorch.py", line 70, in detect
  21. pred = self.m(img, augment=False)[0]
  22. File "D:\SOFTWARE\ProgrammeSoftware\Programs\Python\Python39\lib\site-packages\torch\nn\modules\module.py", line 1194, in _call_impl
  23. return forward_call(*input, **kwargs)
  24. File "E:\WorkSpace\ProjectPrograme\Python\Yolov5-Flask-VUE\back-end\models\yolo.py", line 112, in forward
  25. return self.forward_once(x, profile) # single-scale inference, train
  26. File "E:\WorkSpace\ProjectPrograme\Python\Yolov5-Flask-VUE\back-end\models\yolo.py", line 128, in forward_once
  27. x = m(x) # run
  28. File "D:\SOFTWARE\ProgrammeSoftware\Programs\Python\Python39\lib\site-packages\torch\nn\modules\module.py", line 1194, in _call_impl
  29. return forward_call(*input, **kwargs)
  30. File "E:\WorkSpace\ProjectPrograme\Python\Yolov5-Flask-VUE\back-end\models\common.py", line 90, in forward
  31. return self.conv(torch.cat([x[..., ::2, ::2], x[..., 1::2, ::2], x[..., ::2, 1::2], x[..., 1::2, 1::2]], 1))
  32. File "D:\SOFTWARE\ProgrammeSoftware\Programs\Python\Python39\lib\site-packages\torch\nn\modules\module.py", line 1194, in _call_impl
  33. return forward_call(*input, **kwargs)
  34. File "E:\WorkSpace\ProjectPrograme\Python\Yolov5-Flask-VUE\back-end\models\common.py", line 34, in fuseforward
  35. return self.act(self.conv(x))
  36. File "D:\SOFTWARE\ProgrammeSoftware\Programs\Python\Python39\lib\site-packages\torch\nn\modules\module.py", line 1194, in _call_impl
  37. return forward_call(*input, **kwargs)
  38. File "D:\SOFTWARE\ProgrammeSoftware\Programs\Python\Python39\lib\site-packages\torch\nn\modules\conv.py", line 463, in forward
  39. return self._conv_forward(input, self.weight, self.bias)
  40. File "D:\SOFTWARE\ProgrammeSoftware\Programs\Python\Python39\lib\site-packages\torch\nn\modules\conv.py", line 459, in _conv_forward
  41. return F.conv2d(input, weight, bias, self.stride,
  42. RuntimeError: "slow_conv2d_cpu" not implemented for 'Half'

 然后根据错误,找到了这篇博客:RuntimeError: “unfolded2d_copy“ not implemented for ‘Half‘(实测百分百有效)_醉公子~的博客-CSDN博客

刚开始没动只改一句:

model.float()导致输入输出的结果不一样又报错: RuntimeError: Input type (torch.FloatTensor) and weight type (torch.cuda.FloatTensor)

然后通过ctrl+shift+r继续查找:

找到了三处需要将half()改为float()的地方,并将其一一修改。

修改完后,继续运行,不出意外

又报错:AttributeError: 'Upsample' object has no attribute 'recompute_scale_factor'

发现是upsampling.py文件中,存在了recompute_scale_factor参数冗余。

解决方案就是对Upsample.py进行修改

(256条消息) YOLOV5 | AttributeError: ‘Upsample‘ object has no attribute ‘recompute_scale_factor‘ 问题解决 亲测有效_RodgeH的博客-CSDN博客

 最后的最后,上述错误都解决了。

又来了个文件存储的错误:

Exception: 保存图片时出错.Error saving thepicture.

这是正常的...代码写错

参考:

【目标检测】Flask+Docker在服务器部署YOLOv5应用 - 腾讯云开发者社区-腾讯云

安全验证 - 知乎

AttributeError: ‘Upsample‘ object has no attribute ‘recompute_scale_factor‘_知道的都知道 不知道的慢慢了解的博客-CSDN博客

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/536563
推荐阅读
相关标签
  

闽ICP备14008679号