赞
踩
错误原因:缺少依赖库或者环境配置问题导致的
解决方法:1、安装pillow库——pip install pillow
2、直接采用1的方法,仍然出错,表明安装的pillow与python当前版本不兼容。因此,需要先卸载piilow,再下载指定版本的pillow。以我当前版本为3.8的python为例,我应当下载pillow版本为6.2.1。具体操作如下:
- pip uninstall pillow
- pip install pillow==6.2.1
错误原因:在读取 YAML 文件时出现了编码解析问题
解决方法:在使用 yaml.load(f, Loader=yaml.SafeLoader)
加载 YAML 文件之前,尝试指定文件的编码格式,可以尝试在打开文件时指定编码格式为 UTF-8,更改train.py文件64行,具体操作如下:
- with open(opt.data, 'r', encoding='utf-8') as f:
- data_dict = yaml.load(f, Loader=yaml.SafeLoader) # data dict
错误原因:common.py中没有定义 SPPF
属性
解决方法:打开common.py,在代码最前面,模块导入后面,加入以下代码:
- ##
- import warnings
-
- class SPPF(nn.Module):
- # Spatial Pyramid Pooling - Fast (SPPF) layer for YOLOv5 by Glenn Jocher
- def __init__(self, c1, c2, k=5): # equivalent to SPP(k=(5, 9, 13))
- super().__init__()
- c_ = c1 // 2 # hidden channels
- self.cv1 = Conv(c1, c_, 1, 1)
- self.cv2 = Conv(c_ * 4, c2, 1, 1)
- self.m = nn.MaxPool2d(kernel_size=k, stride=1, padding=k // 2)
-
- def forward(self, x):
- x = self.cv1(x)
- with warnings.catch_warnings():
- warnings.simplefilter('ignore') # suppress torch 1.9.0 max_pool2d() warning
- y1 = self.m(x)
- y2 = self.m(y1)
- return self.cv2(torch.cat([x, y1, y2, self.m(y2)], 1))
- ##

错误原因:最近版本的 NumPy 已经不再支持 np.int
这个属性,而是直接使用内置的 int
类型
解决方法:删掉np.
错误原因:在代码中尝试执行一些 NumPy 操作时,由于python包不兼容引起的
解决方法:更改 NumPy 版本,在pycharm终端输入以下代码:
- pip uninstall numpy
- pip install numpy==1.23.5
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。