目录

  • 一、更换官方源
  • 二、安装Pytorch+CUDA(python版本)
  • 三、YOLO V5 配置与验证
  • 四、数据集测试
  • 五、小结

不想看前面,可以直接跳到标题: 一、更换官方源

在 YOLO V5 官方gayhub页面(https://github.com/ultralytics/yolov5),看到如下内容:

1 Requirements
2 Python 3.8 or later with all requirements.txt dependencies installed, including torch>=1.6. To install run:
3
4 $ pip install -r requirements.txt

所以,为了避免不必要麻烦,python请换成3.8版本!同时也要提前打开 requirements.txt文件(见下文),了解其依赖库版本。我这里事先安装好Anaconda3-2020.07-Windows-x86_64,对应Python3.8。

打开requirement.txt文件,内容如下。

 1 # pip install -r requirements.txt
2 Cython
3 matplotlib>=3.2.2
4 numpy>=1.18.5
5 opencv-python>=4.1.2
6 pillow
7 # pycocotools>=2.0
8 PyYAML>=5.3
9 scipy>=1.4.1
10 tensorboard>=2.2
11 torch>=1.6.0
12 torchvision>=0.7.0
13 tqdm>=4.41.0

一、更换官方源

由于YOLO V5 最近才出,清华等国内源似乎没有跟上步调(例如:服务器中没有Python3.8安装包),所以,这里使用官方源(要是你能找到合适国内源下载也行啊)。换源请参考:https://www.cnblogs.com/winslam/p/13347331.html

或者更简单的方法:手动打开 C:\Users\Administrator\.condarc文件,修改后,为如下内容

1 ssl_verify: true
2 show_channel_urls: true

【注:需要提前安装Anaconda3-2020.07-Windows-x86_64(去anaconda官网下就行了),对应Python3.8; 当你看到这篇博客的时候,说不定YOLO V5 页面的安装需求变为Python3.9...】

打开如上图红圈内的命令行窗口,本篇博客下述所有指令将在其上进行操作,而不是win自带CMD or powershell

二、安装Pytorch+CUDA(python版本)

先创建conda虚拟环境,取名字为pytorch

1 conda create -n pytorch python=3.8
2 conda activate pytorch # 激活虚拟环境

在pytorch官网,我们作出如下图选择,然后复制生成的脚本指令。

# 在pytorch官方选择相关依赖库版本,将其自动生成的安装命令拷贝,在命令行执行,即:
pip install torch==1.6.0+cu101 torchvision==0.7.0+cu101 -f https://download.pytorch.org/whl/torch_stable.html
pip install ipython

【注:cu101表示CUDA10.1版本,已经集成到上述pytorch中】

-----------------------------------------------------------------------------------------------------------------【如果上述成功安装了pytorch等库,则忽略这一段处理】----------------------------------------------------------------------------------------------------------------

注:上述第一行指令执行后,系统回去指定链接下载相关包。如果下载网速太慢或导致错误,可将名为 xxx.whl的下载链接粘贴到 IDM 或者迅雷中下载;其下载链接会在控制台中打印出来,你应该能看到。例如:

torch==1.6.0: https://download.pytorch.org/whl/cu102/torch-1.6.0-cp38-cp38-win_amd64.whl

torvision==0.7.0:     https://download.pytorch.org/whl/cu102/torchvision-0.7.0-cp38-cp38-win_amd64.whl

(从其拓展名也知道,该库仅支持python3.8,上述所有库的集合在链接:https://download.pytorch.org/whl/torch_stable.html )

下载到本地怎么安装?例如我将 torch 用迅雷下载好的库放到D盘根目录,那么使用pip安装该库的指令如下:

pip install d:/torch-1.6.0-cp38-cp38-win_amd64.whl

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

安装完毕后,需要检查下。根据我的经验,当一句命令行安装多个库,有时候总是会后漏网之鱼。执行以下指令:

conda list

我们看到torch 和 torchvision都有了,而且版本符合yolo v5 工程中requirement.txt 文件的要求。如果你发现如torchvision没有安装,这时候,只需要重复上述pip install......安装步骤即可。【注:上图torch显示版本是:1.6.0+cu101,如果你显示的是1.6.0,表示你安装的是cpu版本】

至此,我们已经安装了合适yolo v5的pytorch版本(GPU版)、ipython等(下面会安装requirment.txt中要求的剩余依赖库,比较简单)。这时候,可以简单测试、验证下pytorch与torchvision是否安装成功:

# 在控制台键入 ipython,然后逐条输入如下指令,
# 或者在ide中新建test.py,然后复制如下代码,然后运行可行
ipython
import torch torch.cuda.is_available()
import torchvision
torchvision.__version__

输出:

true;

totch161 + cu101

torchvision + cu101

证明GPU能够为pytorch加速

接着安装其余依赖,CD进入yolo源码目录,执行以下指令:

pip install -r requirements.txt

三、YOLO V5 配置与验证

去如下网站下载yolo5源码,我这里解压放在F盘根目录:

git clone https://github.com/ultralytics/yolov5.git

在命令行键入如下指令(测试yolo5源码包中自带图片 bus.jpg):

1 python  detect.py --source ./inference/images/bus.jpg

其中bus.jpg式输入图像,输出的效果图保存在F:\yolov5-master\inference\output 路径下。

          

      

在命令行键入如下指令,使用摄像头进行目标检测,使用默认权重文件:

(pytorch) F:\yolov5-master>python detect.py --source 0

四、数据集测试(没兴趣可以忽略)

在网站:https://public.roboflow.ai/

https://public.roboflow.ai/object-detection/mask-wearing

下载”人类是否戴口罩“的检测数据集,在页面按ctrl+F搜索mask,可能需要梯子。由于口罩检测是二分类,所以修改yolov5/models/yolov5s.yaml,将nc = 80修改为nc = 2,因为数据集中只有maskno-mask2个类别

接着修改mask/data.yaml文件内容为:

train: ../mask/train/images
val: ../mask/valid/images
#注:上述train 、val表示的路径,是相对于yolov5中源码的路径!
nc: 2
names: ['mask', 'no-mask']

执行以下命令,开始训练

cd yolov5
python train.py --img 640 --batch 16 --epochs 300 --data ../mask/data.yaml --cfg models/yolov5s.yaml --weights ''

可以看到,100多张图,训练了2小时。训练过程,我看过资源管理器,显存被占用了4Gb,GPU占用率一直很低,这是什么原因呢?

(我已经搞清楚训练很慢的原因,原因是:yolo5源码默认开启CPU多线程加载图片,所以很慢,需要在源码中修改,--worker = 0,或者在上面训练指令中新增,具体如下:

1 python train.py --img 640 --batch 16 --epochs 300 --data ../mask/data.yaml --cfg models/yolov5s.yaml --weights ''  --worker 0

)

执行以下命令,我们用单目摄像头来检测口罩:

pytorch) F:\yolov5-master> python detect.py --source 0 --weights runs/exp5/weights/best.pt

可以看到一个帅气的老哥.............口罩虽然被检测出来了,但是置信度有点低。

五、小结(没兴趣可以忽略)

YOLO V5作为新秀,和V4原理相似度极高,他们性能差不多,但是V4:偏于学术,容易工程化,而V5生而服务于工程化,结论:V5更香!

【实践证明:在Python环境下,咱们在安装torch的时候,安装了python版本的cuda后,是不用再安装NVIDIA官网的cuda,这时候显卡加速有效。如果部署到C++ OpenCV工程中,可以用CPU跑,至于GPU跑,应该还是要安装CUDA+cuDnn

如下图,这里是没有在win10系统中安装CUDA,但是在python的conda虚拟环境中安装了python版本的cuda,所以你看,还是有加速效果。猜想:之所以国内很多博客在教学安装pytorch环境中都要安装cuda环境的原因很可能是pytorch早期版本必须这样?还是一个吃螃蟹大佬搞错,导致后面的“复制粘贴”者都搞错?

Win10环境下YOLO5 快速配置与测试的更多相关文章

  1. win10环境下VS2019配置NTL库

    win10环境下VS2019配置NTL库 1.下载 WINNTL库文件     https://www.shoup.net/ntl/download.html 2.创建静态库 文件->新建-&g ...

  2. win10环境下如何运行debug

    在学习汇编的时候,会需要用到debug调试程序,但是现在win10默认已经移除了这个插件,我们需要手动安装,下面就告诉大家如何在win10环境下安装debug. 1:准备工具 1.1 DOSBox 1 ...

  3. win10环境下MySql(5.7.21版本)安装过程

    windows10上安装mysql(详细步骤) 2016年09月06日 08:09:34 阅读数:60405 环境:windwos 10(1511) 64bit.mysql 5.7.14 时间:201 ...

  4. Windows环境下完全手工配置Apache、MySQL和PHP

    现在LAMP(Linux.Apache.MySQL.PHP/Perl/Python的简称)已经很流行了.在Windows下也有类似的,比如 WAMP(Apache, MySQL, PHP on Win ...

  5. YApi——手摸手,带你在Win10环境下安装YApi可视化接口管理平台

    手摸手,带你在Win10环境下安装YApi可视化接口管理平台 YApi YApi 是高效.易用.功能强大的 api 管理平台,旨在为开发.产品.测试人员提供更优雅的接口管理服务.可以帮助开发者轻松创建 ...

  6. 海纳百川无所不容,Win10环境下使用Docker容器式部署前后端分离项目Django+Vue.js

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_179 随着现代化产品研发的不断推进,我们会发现,几乎每个产品线都会包含功能各异的服务,而且服务与服务之间存在也会存在着错综复杂的依 ...

  7. 在win10环境下搭建 solr 开发环境

    在win10环境下搭建 solr 开发环境 2017年05月30日 09:19:32 SegaChen0130 阅读数:1050   在win10环境下搭建 solr 开发环境 安装环境  Windo ...

  8. win10环境下安装Ubantu双系统(超详解)

    win10环境下安装Ubantu双系统 1.准备工作: 先去ubantu官网(https://www.ubuntu.com/download)去下载ubantu镜像.根据自己的实际情况选择32位的或者 ...

  9. Windows环境下JDK的配置及多版本JDK切换的方法记录

    (这里记录了笔者了解的关于JDK环境配置的信息,以及针对系统上存在不同版本JDK时所尝试的解决方案.具体来说,是已安装 JDK 8 后,又安装了 JDK 9 时所遇到的问题和尝试的解决方法.这次记录以 ...

随机推荐

  1. 灰度发布 & A/B 测试

    灰度发布 & A/B 测试 http://www.woshipm.com/pmd/573429.html 8 https://testerhome.com/topics/15746 scree ...

  2. django学习-23.admin管理后台的数据表数据的自定义展示

    目录结构 1.前言 2.自定义设置一张指定的数据表的列表展示内容 2.1.第一步:如果我们想让数据表[hello_person]里面的表字段值全部展示出来,需在应用[hello]里的[admin.py ...

  3. spring boot用ModelAndView向Thymeleaf模板传参数

    最近在调试一个Spring Boot向Thymeleaf模板传参数的例子,但踩了很多坑,这里就把详细过程记录下来,以供大家参考. 先说下,这里遇到哪些坑呢? 1 我用的是IDEA社区版,这不支持JSP ...

  4. 深入解析 HTTP 缓存控制

    缓存(Cache)是计算机领域里的一个重要概念,是优化系统性能的利器. 由于链路漫长,网络时延不可控,浏览器使用 HTTP 获取资源的成本较高.所以,非常有必要把"来之不易"的数据 ...

  5. C#如何防止程序多次运行的技巧(精典)

    一.引言最近发现很多人在论坛中问到如何防止程序被多次运行的问题的,所以这里就记录下来,希望给遇到同样问题的朋友有所参考的,同时也是对自己的一个积累.在介绍具体实现代码之前,我们必须明确解决这个问题的思 ...

  6. window.onresize绑定事件以及解绑事件

    问题描述 在Vue工程中,添加样式,部分需要做到自适应,需要添加resize事件,由于是单页面应用,如果组件初始化的时候绑定事件,在切换页面的时候不去注销事件,如果来回切换,会让resize事件执行多 ...

  7. springboot启动抛出javax.websocket.server.ServerContainer not available

    问题描述:spring boot接入websocket时,启动报错:javax.websocket.server.ServerContainer not available <dependenc ...

  8. 将VMware虚拟机最小化到托盘栏

    版权:本文采用「署名-非商业性使用-相同方式共享 4.0 国际」知识共享许可协议进行许可.   目录 前言 将VMware最小化到托盘栏的方法 1.下载 Trayconizer 2.解压 trayco ...

  9. Django简单的使用及一些基础方法

    目录 一.静态文件配置 1. 什么是静态文件 2. 静态文件的用法 3. 静态文件的动态绑定 二.请求方式与相应 1. get请求 2. post请求 3. Django后端视图函数处理请求 三.re ...

  10. Django的视图层和模板层

    目录 一.视图层 1. 小白必会三板斧 2. JsonResponse 3. FBV与CBV 3.1 FVB 3.2 CBV 4. CBV的源码 5. 给CBV加装饰器 二.模板层 1. 模板语法 2 ...