AI计算机视觉笔记十四:YOLOV5环境搭建及测试全过程

简介: 本文详细记录了在Windows 10环境下从零开始搭建yolov5环境并进行测试的全过程,涵盖环境配置、依赖安装及模型测试等关键步骤。文章首先介绍了所需环境(Python 3.8、yolov5-5.0),接着详细说明了如何使用Miniconda3创建与激活虚拟环境,并通过具体命令演示了如何下载安装yolov5及相关依赖库。最后,通过一系列命令展示了如何下载预训练模型并对示例图像进行目标检测,同时解决了一些常见错误。适合初学者跟随实践。如需转载,请注明原文出处。

若该文为原创文章,转载请注明原文出处。

记录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,会安装一些基本的包。
image.png
如果创建过程中出错或长时间等待,自行换轮子(源)

创建成功后会提示激活环境等,如下图。

image.png
按提示,激活环境

conda activate yolov5_env
激活后,环境就修改了
image.png

三、yolov5测试

1、下载5.0版本

Tags · ultralytics/yolov5 · GitHub

image.png
下载后,解压,然后从终端进入目录,比如解压后的文件放在桌面,使用命令cd进入:
image.png

目录下有个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
第一次安装可能会有点久,需要耐心等待

image.png
3、测试
测试前需要先下载使用的权重文件。

下载地址:

Release v5.0 - YOLOv5-P6 1280 models, AWS, Supervise.ly and YouTube integrations · ultralytics/yolov5 · GitHub

image.png
下载yolov5s.pt文件,也可以下载其他的,在yolov5-5.0目录下创建weights,把下载的yolov5s.pt放到weights目录下。

image.png

接下来使用下面命令测试

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中。
image.png
参数

--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上

如此,测试完成,接下来自己编写一个简单的测试程序,并训练自己的数据集。

相关文章
|
1月前
|
机器学习/深度学习 JSON 算法
实例分割笔记(一): 使用YOLOv5-Seg对图像进行分割检测完整版(从自定义数据集到测试验证的完整流程)
本文详细介绍了使用YOLOv5-Seg模型进行图像分割的完整流程,包括图像分割的基础知识、YOLOv5-Seg模型的特点、环境搭建、数据集准备、模型训练、验证、测试以及评价指标。通过实例代码,指导读者从自定义数据集开始,直至模型的测试验证,适合深度学习领域的研究者和开发者参考。
380 3
实例分割笔记(一): 使用YOLOv5-Seg对图像进行分割检测完整版(从自定义数据集到测试验证的完整流程)
|
1月前
|
测试技术
自动化测试项目实战笔记(三):测试用户注册(验证码错误,成功,出现弹框时处理)
本文是关于自动化测试项目实战笔记,主要介绍了如何测试用户注册功能,包括验证码错误、注册成功以及弹框处理的测试步骤和代码实现。
85 2
自动化测试项目实战笔记(三):测试用户注册(验证码错误,成功,出现弹框时处理)
|
1月前
|
Java 关系型数据库 MySQL
自动化测试项目实战笔记(一):JDK、Tomcat、MySQL、Jpress环境安装和搭建
这篇文章是关于自动化测试项目实战笔记,涵盖了JDK、Tomcat、MySQL、Jpress环境的安装和搭建过程,以及测试用例和常见问题总结。
49 1
自动化测试项目实战笔记(一):JDK、Tomcat、MySQL、Jpress环境安装和搭建
|
1月前
|
机器学习/深度学习 弹性计算 自然语言处理
前端大模型应用笔记(二):最新llama3.2小参数版本1B的古董机测试 - 支持128K上下文,表现优异,和移动端更配
llama3.1支持128K上下文,6万字+输入,适用于多种场景。模型能力超出预期,但处理中文时需加中英翻译。测试显示,其英文支持较好,中文则需改进。llama3.2 1B参数量小,适合移动端和资源受限环境,可在阿里云2vCPU和4G ECS上运行。
|
1月前
|
人工智能 算法 测试技术
自动化测试项目实战笔记(二):解决验证码识别问题
这篇文章介绍了三种自动化测试中验证码识别的方法:使用Python的pytesseract和PIL模块、利用第三方API如万维易源,以及使用开源的ddddocr库,还提到了一些注意事项,比如如何获取验证码区域的截图。
64 2
|
1月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
59 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
1月前
|
机器学习/深度学习 并行计算 数据可视化
目标分类笔记(二): 利用PaddleClas的框架来完成多标签分类任务(从数据准备到训练测试部署的完整流程)
这篇文章介绍了如何使用PaddleClas框架完成多标签分类任务,包括数据准备、环境搭建、模型训练、预测、评估等完整流程。
84 0
目标分类笔记(二): 利用PaddleClas的框架来完成多标签分类任务(从数据准备到训练测试部署的完整流程)
|
1月前
|
机器学习/深度学习 JSON 算法
语义分割笔记(二):DeepLab V3对图像进行分割(自定义数据集从零到一进行训练、验证和测试)
本文介绍了DeepLab V3在语义分割中的应用,包括数据集准备、模型训练、测试和评估,提供了代码和资源链接。
184 0
语义分割笔记(二):DeepLab V3对图像进行分割(自定义数据集从零到一进行训练、验证和测试)
|
1月前
|
机器学习/深度学习 数据采集 算法
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)
这篇博客文章介绍了如何使用包含多个网络和多种训练策略的框架来完成多目标分类任务,涵盖了从数据准备到训练、测试和部署的完整流程,并提供了相关代码和配置文件。
46 0
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)
|
1月前
|
测试技术 数据安全/隐私保护 Python
自动化测试项目实战笔记(四):测试用户登录(账号密码错误,成功,出现弹框等情况)
本文介绍了使用Selenium进行自动化测试时如何测试用户登录的不同情况,包括账号密码错误、登录成功以及处理登录时出现的弹框,并提供了相应的Python代码实现。
53 0
自动化测试项目实战笔记(四):测试用户登录(账号密码错误,成功,出现弹框等情况)