Yolov5配置傻瓜教程

2023-11-14

软硬件环境

Win10+anaconda(python3.7)+gtx 1660ti+cuda 10.1+pytorch 1.7+YOLOv5

 

介绍:

2020年6月25日,Ultralytics发布了YOLOV5 的第一个正式版本,其性能与YOLO V4不相伯仲,同样也是现今最先进的对象检测技术,并在推理速度上是目前最强,yolov5按大小分为四个模型yolov5s、yolov5m、yolov5l、yolov5x。

写这篇教程时的最新版yolov5是2021年1月5日更新的。

安装pytorch:

首先保证自己电脑已经安装了anaconda这里推荐安装最新版,下载地址:

https://www.anaconda.com/

       anaconda自带python,不用再另外下载python。

   

       安装pytorch需要登录网站https://pytorch.org/

  将Run this Command: 的内容复制在windos控制台内安装。

因为yolov5和pytorch更新很快导致windows版本bug较多,比如我用pytorch1.71+yolov5(4.0)出现了摄像头检测正常不能正确检测视频和图片等问题,为了不浪费时间,这里推荐Windows用户使用我用的torch1.70+cuda10.1.

pip安装口令如下:

pip install torch==1.7.0+cu101 torchvision==0.8.1+cu101 torchaudio===0.7.0 -f https://download.pytorch.org/whl/torch_stable.html

下载yolov5:

       Yolov5的官方下载地址:https://github.com/ultralytics/yolov5

点击绿色标志下载yolov5最新版的压缩包,解压完了如下:

该文件为yolov5的前置需求包。

把第一句口令复制下来,然后将win10控制台cd到该文件位置,粘贴回车即可安装所有前置包。

       因为网络原因推荐安装后使用pip list口令对比TXT中的需求检查一遍,没安装上的重新安装,保证必须的基础包都有。

测试:

       将官网下载的yolov5使用pycharm打开,直接运行其中的测试文件detect.py。

       此时程序会自动下载yolov5的权重模型s版,也就是最轻量版,因为国内网路原因下载速度极其慢,如果不想等待可以去官网下载,然后丢根目录中。

       下完完毕后会使用官方案例测试:

测试结果:

下载的yolov5s.pt模型中的权重是用coco数据集训练得来的,可以检测80种不同的物体。

训练模型:

       训练模型首先得需要收集数据集,可以自己用labelImg等工具挨个标注也可以去下载现成的,这里推荐免费公开数据集网站https://public.roboflow.com/

       下载数据集:

这里选择下载适合yolov5+pytorch版本的:

推荐解压后并将文件放于yolov5官方文件的同级目录或者里面。

将data文件用txt形式打开并且将红框中的内容修改正确的内容。

因为yolov5s可以测试80种物体,但是我们要训练的口罩检测模型只检测戴口罩和不带口罩,所以nc改为2.

 

使用口令进行模型训练:python train.py --img 640 --batch 16 --epochs 300 --data ../mask1.0/data.yaml --cfg models/yolov5s.yaml --weights ''

       --batch后的参数尽可能的大,直到gpu内存不允许为止,该参数为每批训练图片个数。

       --epochs 为训练轮数。

       --img为指定图片大小。

       --cfg 为模型配置文件位置

       --data为训练数据集配置文件位置

       --weights为模型权重配置,后加‘’为初始化参数,不写为使用模型自带的参数。

等待训练完成即可生成权重文件。

测试口令:python detect.py --weight runs\train\exp1\weights/best.pt --source ../mask1.0/test/images

       --weight指定权重文件。

       --source指定测试文件地址,可以是图片地址,视频地址等,也可以是文件夹,当参数为0时是摄像头。

成功

      

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Yolov5配置傻瓜教程 的相关文章

  • 类的 IPython 表示

    我正在使用我创建的模块尝试 IPython 但它没有显示类对象的实际表示 相反 它显示类似的内容 TheClass module TheClass name I heavily在这个模块中使用元类 我有真正有意义的类表示 应该向用户显示 是
  • Pandas set_levels,如何避免标签排序?

    我使用时遇到问题set levels多索引 from io import StringIO txt Name Height Age Metres A 1 25 B 95 1 df pd read csv StringIO txt heade
  • 让 VoiceChannel.members 和 Guild.members 返回完整列表的问题

    每当我尝试使用 VoiceChannel members 或 Guild members 时 它都不会提供适用成员的完整列表 我从文本命令的上下文中获取 VoiceChannel 和 Guild 如下所示 bot command name
  • Gunicorn 工作人员无论如何都会超时

    我正在尝试通过gunicorn运行一个简单的烧瓶应用程序 但是无论我做什么 我的工作人员都会超时 无论是否有针对应用程序的活动 工作人员在我设置任何内容后总是会超时timeout值到 是什么导致它们超时 当我发出请求时 请求成功通过 但工作
  • 嵌套列表的重叠会产生不必要的间隙

    我有一个包含三个列表的嵌套 这些列表由 for 循环填充 并且填充由 if 条件控制 第一次迭代后 它可能类似于以下示例 a 1 2 0 0 0 0 0 0 4 5 0 0 0 0 0 0 6 7 根据条件 它们不重叠 在第二次迭代之后 新
  • Pycharm 在 os.path 连接上出现“未解析的引用”

    将pycharm升级到2018 1 并将python升级到3 6 5后 pycharm报告 未解析的引用 join 最新版本的 pycharm 不会显示以下行的任何警告 from os path import join expanduser
  • Tensorboard SyntaxError:语法无效

    当我尝试制作张量板时 出现语法错误 尽管开源代码我还是无法理解 我尝试搜索张量板的代码 但不清楚 即使我不擅长Python 我这样写路径C Users jh902 Documents logs因为我正在使用 Windows 10 但我不确定
  • 矩形函数的数值傅里叶变换

    本文的目的是通过一个众所周知的分析傅里叶变换示例来正确理解 Python 或 Matlab 上的数值傅里叶变换 为此 我选择矩形函数 这里报告了它的解析表达式及其傅立叶变换https en wikipedia org wiki Rectan
  • 如何将特定范围内的标量添加到 numpy 数组?

    有没有一种更简单 更节省内存的方法可以单独在 numpy 中执行以下操作 import numpy as np ar np array a l r ar c a a 0 l ar tolist a r 它可能看起来很原始 但它涉及获取给定数
  • 使用 python/numpy 重塑数组

    我想重塑以下数组 gt gt gt test array 11 12 13 14 21 22 23 24 31 32 33 34 41 42 43 44 为了得到 gt gt gt test2 array 11 12 21 22 13 14
  • 如何将 GAE 中一种 Kind 中的所有实体复制到另一种 Kind 中,而无需显式调用每个属性

    我们如何使用function clone entity 如中所述在 Python 中复制 Google App Engine 数据存储中的实体 而无需在 编译 时知道属性名称 https stackoverflow com question
  • Pandas 组合不同索引的数据帧

    我有两个数据框df 1 and df 2具有不同的索引和列 但是 有一些索引和列重叠 我创建了一个数据框df索引和列的并集 因此不存在重复的索引或列 我想填写数据框df通过以下方式 for x in df index for y in df
  • Python GTK+ 画布

    我目前正在通过 PyGobject 学习 GTK 需要画布之类的东西 我已经搜索了文档 发现两个小部件似乎可以完成这项工作 GtkDrawingArea 和 GtkLayout 我需要一些基本函数 如 fillrect 或 drawline
  • 如何使用 Python 3 检查目录是否包含文件

    我到处寻找这个答案但找不到 我正在尝试编写一个脚本来搜索特定的子文件夹 然后检查它是否包含任何文件 如果包含 则写出该文件夹的路径 我已经弄清楚了子文件夹搜索部分 但检查文件却难倒了我 我发现了有关如何检查文件夹是否为空的多个建议 并且我尝
  • 为什么 csv.DictReader 给我一个无属性错误?

    我的 CSV 文件是 200 Service 我放入解释器的代码是 snav csv DictReader open screennavigation csv delimiter print snav fieldnames 200 for
  • Python:Goslate 翻译请求返回“503:服务不可用”[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我们不允许提出寻求书籍 工具 软件库等推荐的问题 您可以编辑问题 以便用事实和引文来回答 这个问题似乎不是关于主要由程序员使用的特定编程问
  • 如何使用 Boto3 启动具有 IAM 角色的 EC2 实例?

    我无法弄清楚如何使用指定的 IAM 角色在 Boto3 中启动 EC2 实例 以下是迄今为止我如何成功创建实例的一些示例代码 import boto3 ec2 boto3 resource ec2 region name us west 2
  • 如何将 Django 中的权限添加到模型并使用 shell 进行测试

    我在模型中添加了 Meta 类并同步了数据库 然后在 shell 中创建了一个对象 它返回 false 所以我真的无法理解错误在哪里或者缺少什么是否在其他文件中可能存在某种配置 class Employer User Employer in
  • pytest找不到模块[重复]

    这个问题在这里已经有答案了 我正在关注pytest 良好实践 https docs pytest org en latest explanation goodpractices html test discovery或者至少我认为我是 但是
  • NLTK:查找单词大小为 2k 的上下文

    我有一个语料库 我有一个词 对于语料库中该单词的每次出现 我想获取一个包含该单词之前的 k 个单词和该单词之后的 k 个单词的列表 我在算法上做得很好 见下文 但我想知道 NLTK 是否提供了一些我错过的功能来满足我的需求 def size

随机推荐

  • 【Git】Linux系统下Git的升级

    Git 在很多发行版的 Linux 系统里的版本都很低 比如说比 2 18 这个版本还低 这里比较的一般就是码农的本地环境 因为本地 Mac 系统等等大家经常用到的预装的 Git 的版本都比较深 Git 的版本太低有很多衍生问题 除了本身
  • ROS中使用VLP16激光雷达获取点云数据

    ROS中使用VLP16激光雷达获取点云数据 个人博客地址 本文测试环境为 Ubuntu20 04 ROS Noetic 需要将激光雷达与PC连接 然后在设置 gt 网络 gt 有线中将IPv4改为手动 并且地址为192 168 1 100
  • Linux----一条命令更改主机名(临时

    前言 看了些许关于更改主机名的博客 觉得不够简单 略为繁琐 现在介绍两种极其简单的方法来修改主机名 hostname 查看当前主机名 一 临时修改主机名 hostname kiosk kiosk为想要更改的主机名 示例 注意 重启后即失效
  • Java中的private、protected、public和default的区别

    这个问题 应该很老了 但是确实是重点中的重点 如果没有真正的都用过这些修饰符 其实对其的作用并不深刻 我也没用过默认的修饰符 所以有时候也总把friendly和protected搞混 还因为这个丢失了一次很好的工作机会 随意今天又重新弄了一
  • STM32 CAN/CANFD软件快速配置(HAL库版本)

    STM32 CAN CANFD软件快速配置 HAL库版本 目录 STM32 CAN CANFD软件快速配置 HAL库版本 前言 1 软件编程 1 1 建立工程 1 2 初始化 1 2 1 引脚设置 1 2 2 CAN基本参数设置 1 2 3
  • 【计算机网络】湖科大微课堂笔记 p4-p6 计算机网络的定义和分类、性能指标

    计算机网络的定义和分类 了解 定义 此图是否是计算机网络 不是 因为它不自治 分类 广域网是因特网的核心部分 四种拓扑结构的网络 优缺点在视频里7 45 9 10 计算机网络的性能指标 常用的性能指标有以下8个 速率 带宽 吞吐量 时延 时
  • poll和epoll及实现epoll网络服务器

    I O多路转接之poll poll函数原型 参数解释 参数 解释 fds 是 个poll函数监听的结构列表 nfds 表示fds数组的长度 timeout 表示poll函数的超时时间 单位是毫秒 ms pollfd结构 那么fds是一个什么
  • 基于嵌入式Qt的输入法syszuxpinyin自动弹出软件盘的问题

    移植好的syszuxpinyin输入法能正常的检测到控件焦点并自动弹出软键盘 当使用默认的QLineEdit控件时就有了一些小小的问题 问题一 QLineEditt在默认情况下会自动出现焦点 从而导致一进入界面就弹出软键盘 但是我们需要点击
  • springboot打jar包供第三方使用(以回调为例)

    前言 有时我们需要封装功能类库供第三方使用 这时候打包和我们平时发布项目有所不同 假设我们现在要对外提供一个计算功能 使用者只需要传入计算参数就能实现结果异步返回 最后还得对jar包进行混淆 目录 前言 1 编写回调函数类 2 直接打JAR
  • python实现画雪景(二级python书中实例)

    from turtle import from random import def snow hideturtle pensize 2 for i in range 100 r g b random random random pencol
  • 【opencv】linux下生成libopencv_world.so

    一个项目需要用到linux下libopencv world so 按照网上诸多 linux下安装opencv 教程 发现都没有生成libopencv world so的方法 然后偶然间搜到了window编译opencv方法中可以通过开启BU
  • 用java连接Oracle 11g

    了解一下JDBC JDBC 是连接数据库的程序模块 由JSP应用程序 JDBC API JDBC DriverManager JDBC驱动管理器 JDBC驱动程序和数据库几部分组成 java应用程序通过JDBC API访问JDBC驱动管理器
  • Python调用多媒体定时器实现高精度定时

    自己在使用Python实现周期执行的任务时 通常会用time sleep 函数实现 但该方法能实现的最小周期只有30ms左右 且定时不够精确 大概有 5ms左右的跳动 该方法可满足绝大多数应用场景 但对某些实时性要求较高的应用场景则不适用
  • input 上传文件 判断重名限制文件个数

    原生文件上传 accept快捷上传 xls xlsx格式 文件上传表单的提交方式必须是 post 编码类型必须为 enctype multipart form data 上传多个文件属性 multiple
  • Mac Idea使用技巧

    1 IDEA自动生成serialVersionUID Inspections gt serialzable class without serialVersionUID 勾上 在实现了Serializable接口的类上使用alt enter
  • xzp 线刷 android 10,索尼Xperia XZ刷机教程_Sony XZ强刷官方FTF系统包

    在这里来说一下有关索尼Xperia XZ的强刷教程了 这个强刷教程主要就是针对官方的FTF格式的强刷包来操作的 因为之前看到有机友把官方的rom强刷包下载下来之后不知道如何刷入 所以在这里整理了一下详细的强刷教程供大家参考一下了 这个也不复
  • Property or method “scope“ is not defined

    VUE报错 Property or method scope is not defined 是因为缺失了 slot scope scope 造成组件认为 scope 未定义 加上去就行
  • 内网离线安装 Visual Studio 2022 及插件

    一 互联网环境下使用命令行创建本地缓存 首先下载小型引导程序文件 然后使用命令行创建本地缓存 缓存创建后 可使用它来安装 Visual Studio 一 下载 Visual Studio 引导程序 1 通过互联网电脑下载最新当前频道版本的
  • 对偶上升实例-MATLAB代码

    一 本文概述 本文给出对偶上升法 dual ascent 求解凸优化问题最优解的代码实例 如果您觉得对您有帮助 请点个赞 加个收藏 谢谢 二 简单实例 本文以下述实例为例 撰写对偶上升法的迭代步骤 并给出最终可运行的MATLAB代码 以便大
  • Yolov5配置傻瓜教程

    软硬件环境 Win10 anaconda python3 7 gtx 1660ti cuda 10 1 pytorch 1 7 YOLOv5 介绍 2020年6月25日 Ultralytics发布了YOLOV5 的第一个正式版本 其性能与Y