目录
环境配置
注意:本文使用yolov5的5.0版本进行演示
github上搜索yolov,选择5.0版本进行下载
解压后用pycharm打开,设置pytorch解释器
pycharm提示缺文件,点击安装
或者在终端里安装:pip install -r requirements.txt
(1)如果作者提供requirments.txt 文件∶
可以利用PyCharm自带的智能提示进行安装
或者利用pip install -r requirements.txt 指令进行安装
(2)如果作者没有提供requirments.txt文件:
根据运行报错信息,百度,手动安装缺少的库
提示安装pycocotools报错的话,可以看下面这篇文章
将两个文件放到文件夹Anaconda3\envs\pytorch\Lib\site-packages下面
拷贝完后重新执行安装命令:pip install pycocotools -i https://pypi.tuna.tsinghua.edu.cn/simple
即可安装成功。
用yolov5进行预测
在使用代码前可以看看readme文档的介绍
运行detect.py文件,里面有main函数
下载文件报错,直接点进链接下载(慢的话,可以复制到迅雷下载)
运行还是报错,因为我的yolov是5.0版本,上面链接下载的yolov5s.pt不是5.0版本的,所以不匹配
重新用下面这个链接下载
https://github.com/ultralytics/yolov5/releases/download/v5.0/yolov5s.pt
运行后还是报错
出现报错AttributeError: Cant get attribute SPPF on module models
解决方案
找到model/common.py文件
发现没有SPPF这个类,把下面代码直接复制到common.py里面即可,记得把import warnings放在最上面
import warnings
class SPPF(nn.Module):
def __init__(self, c1, c2, k=5):
super().__init__()
c_ = c1 // 2
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')
y1 = self.m(x)
y2 = self.m(y1)
return self.cv2(torch.cat([x, y1, y2, self.m(y2)], 1))
再次运行detect.py文件,不再报错
查看运行结果
显示人的概率0.88,bus的概率0.80
训练yolov5模型
找到train.py里面的参数
其中workers参数表示进程数
运行train.py代码,显示下载coco128数据集报错
复制链接到迅雷下载,解压后放到和yolov5同一级目录下
运行后显示一些信息
训练的第一轮
训练结果保存在了这个文件夹下