若该文为原创文章,转载请注明原文出处。
记录yolov5从环境搭建到测试全过程。
一、运行环境
1、系统:windows10 (无cpu)
2、yolov5版本:yolov5-5.0
3、python版本:py3.8
在创建虚拟环境前需要先把miniconda3和pytorch安装好。
二、虚拟环境搭建
1、打开Anaconda Powershell Prompt(miniconda3)终端,执行下面命令创建python虚拟环境
conda create -n your_env_name python=x.x
conda create -n yolov5_env python=3.8
创建名为yolov5_env,py3.8的虚拟环境,遇到需要输入时,输入y,会安装一些基本的包。
如果创建过程中出错或长时间等待,自行换轮子(源)
创建成功后会提示激活环境等,如下图。
按提示,激活环境
conda activate yolov5_env
激活后,环境就修改了
三、yolov5测试
1、下载5.0版本
Tags · ultralytics/yolov5 · GitHub
下载后,解压,然后从终端进入目录,比如解压后的文件放在桌面,使用命令cd进入:
目录下有个README.md已经写得很清楚了,可以参照上面的去操作。
2、安装Requirements
要求python3.8, torch>=1.7,在requirements.txt文件里有指定版本
执行下面命令安装即可,安装如果太慢,就使用国内的源
pip install -r requirements.txt
太慢使用下面指令安装,使用的是清华源
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
第一次安装可能会有点久,需要耐心等待
3、测试
测试前需要先下载使用的权重文件。
下载地址:
Release v5.0 - YOLOv5-P6 1280 models, AWS, Supervise.ly and YouTube integrations · ultralytics/yolov5 · GitHub
下载yolov5s.pt文件,也可以下载其他的,在yolov5-5.0目录下创建weights,把下载的yolov5s.pt放到weights目录下。
接下来使用下面命令测试
python detect.py --source data/images/zidane.jpg --weights weights/yolov5s.pt
执行后出错了attributeerror: 'upsample' object has no attribute 'recompute_scale_factor'这个错误,这个错误是PyTorch的版本问题,
降低PyTorch的版本到1.9.0,PyTorch的历史版本Previous PyTorch Versions | PyTorch
pytorch需要根据自己的电脑安装,我使用的是CPU,所以指令最后一条指令
# CUDA 10.2
conda install pytorch==1.9.0 torchvision==0.10.0 torchaudio==0.9.0 cudatoolkit=10.2 -c pytorch
# CUDA 11.3
conda install pytorch==1.9.0 torchvision==0.10.0 torchaudio==0.9.0 cudatoolkit=11.3 -c pytorch -c conda-forge
# CPU Only
conda install pytorch==1.9.0 torchvision==0.10.0 torchaudio==0.9.0 cpuonly -c pytorch
安装后在次执行,出现“ImportError: DLL load failed while importing _imaging: 找不到指定的模块”的错误
重装pillow:
pip uninstall pillow
pip install pillow
运行成功后,会把结果输出保存到runs/detect/expX中。
参数
--source:输入源
0 # webcam
file.jpg # image
file.mp4 # video
path/ # directory
path/*.jpg # glob
'https://youtu.be/NUsoVlDFqZg' # YouTube video
'rtsp://example.com/media.mp4' # RTSP, RTMP, HTTP stream
--weights:权重文件,可以是自己训练的,测试使用的是github提供的
参数还有很多,详细参考github上
如此,测试完成,接下来自己编写一个简单的测试程序,并训练自己的数据集。