当前位置:   article > 正文

YOLOv5常见报错原因及其解决方法_yolov5常见错误

yolov5常见错误

一、Pillow库

错误原因:缺少依赖库或者环境配置问题导致的

 解决方法:1、安装pillow库——pip install pillow

2、直接采用1的方法,仍然出错,表明安装的pillow与python当前版本不兼容。因此,需要先卸载piilow,再下载指定版本的pillow。以我当前版本为3.8的python为例,我应当下载pillow版本为6.2.1。具体操作如下:

  1. pip uninstall pillow
  2. pip install pillow==6.2.1

二、文件编码不匹配

错误原因:在读取 YAML 文件时出现了编码解析问题

解决方法:在使用 yaml.load(f, Loader=yaml.SafeLoader) 加载 YAML 文件之前,尝试指定文件的编码格式,可以尝试在打开文件时指定编码格式为 UTF-8,更改train.py文件64行,具体操作如下:

  1. with open(opt.data, 'r', encoding='utf-8') as f:
  2. data_dict = yaml.load(f, Loader=yaml.SafeLoader) # data dict

三、SPPF

错误原因:common.py中没有定义 SPPF 属性

解决方法:打开common.py,在代码最前面,模块导入后面,加入以下代码:

  1. ##
  2. import warnings
  3. class SPPF(nn.Module):
  4. # Spatial Pyramid Pooling - Fast (SPPF) layer for YOLOv5 by Glenn Jocher
  5. def __init__(self, c1, c2, k=5): # equivalent to SPP(k=(5, 9, 13))
  6. super().__init__()
  7. c_ = c1 // 2 # hidden channels
  8. self.cv1 = Conv(c1, c_, 1, 1)
  9. self.cv2 = Conv(c_ * 4, c2, 1, 1)
  10. self.m = nn.MaxPool2d(kernel_size=k, stride=1, padding=k // 2)
  11. def forward(self, x):
  12. x = self.cv1(x)
  13. with warnings.catch_warnings():
  14. warnings.simplefilter('ignore') # suppress torch 1.9.0 max_pool2d() warning
  15. y1 = self.m(x)
  16. y2 = self.m(y1)
  17. return self.cv2(torch.cat([x, y1, y2, self.m(y2)], 1))
  18. ##

四、np.int被弃用

错误原因:最近版本的 NumPy 已经不再支持 np.int 这个属性,而是直接使用内置的 int 类型

解决方法:删掉np.

五、在使用 TensorBoard 记录直方图时出现了问题

错误原因:在代码中尝试执行一些 NumPy 操作时,由于python包不兼容引起的

解决方法:更改 NumPy 版本,在pycharm终端输入以下代码:

  1. pip uninstall numpy
  2. pip install numpy==1.23.5

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

闽ICP备14008679号