深度学习训练营之yolov5 官方代码调用以及-requirements.txt下载当中遇到的问题

news/2024/4/18 20:09:56/文章来源:https://blog.csdn.net/qq_62904883/article/details/129133281

深度学习训练营之yolov5 官方代码调用

  • 原文链接
  • 内容总结
  • 环境介绍
  • 前置工作
    • 简单介绍yolov5
    • 下载源码
    • yolov5的下载遇到问题
    • 问题解析
    • 问题处理
      • 创建虚拟环境
      • 下载当中遇到的问题
  • 代码运行
  • 视频检测
  • 参考内容

原文链接

  • 🍨 本文为🔗365天深度学习训练营 中的学习记录博客
  • 🍦 参考文章:365天深度学习训练营-第P1周:实现mnist手写数字识别
  • 🍖 原作者:K同学啊|接辅导、项目定制

内容总结

环境介绍

  • 语言环境:Python3.9.13
  • 编译器:jupyter notebook
  • 深度学习环境:TensorFlow2

前置工作

简单介绍yolov5

下面是我根据yolov5l.yaml绘制的网络整体结构,YOLOv5针对不同大小(n, s, m, l, x)的网络整体架构都是一样的,只不过会在每个子模块中采用不同的深度和宽度,分别应对yaml文件中的depth_multiple和width_multiple参数。还需要注意一点,官方除了n, s, m, l, x版本外还有n6, s6, m6, l6, x6,区别在于后者是针对更大分辨率的图片比如1280x1280,当然结构上也有些差异,后者会下采样64倍,采用4个预测特征层,而前者只会下采样到32倍且采用3个预测特征层。后者的预测速度更快一些

下载源码

首先现在github上面下载yolov5的代码
yolov5源码下载地址
下载到的地址尽量不要有中文,可能在下一步当中出现无法下载的问题(后面试了,这个和路径有没有中文没有关系,照样报错,所以这个可以忽略)

yolov5的下载遇到问题

我在尝试pip install -r requirements.txt的时候遇到了以下报错,所以在这里在进行学习记录
在这里插入图片描述

问题解析

图片当中写到了 SSL module is not available.,根据了解说存在以下问题

  • 下载requirements.txt的时候需要进行这个虚拟环境的创建
  • 要么就是SSL要求,需要需要下载openssl

问题处理

首先进行第一个问题的修改,尝试看看是不是没有创建虚拟环境

创建虚拟环境

创建不同的虚拟环境的意义在于,可以在不同的安装包的条件下,实现不同的代码的运行,尽可能的避免冲突
可以使用anaconda进行一个虚拟环境的创建,我这里命名为testyolov5,anaconda在这里不做详细介绍,大家可以上网查一查
在这里插入图片描述

显示所有虚拟环境 conda env list
激活虚拟环境 conda activate +[所选环境]

在这里插入图片描述
新创建的虚拟环境会有如下报错
在这里插入图片描述
这样只需要使用conda init [SHELL_NAME]配置命令解析器后重启即可
在这里插入图片描述因为是window系统,这里可以采用conda init cmd.exe,然后重启
在这里插入图片描述
这样之后再输入pip install -r requirements.txt
在这里插入图片描述
开始运行,说明是第一个问题

下载当中遇到的问题

这里在下载的过程当中遇到了这个问题,在这里的话开另外一篇文章吧,如果大家没有这个问题就不用管

WARNING: Ignore distutils configs in setup.cfg due to encoding errors.

进行相应的操作之后再重新下载

代码运行

接下来就可以进行代码的运行了
使用上述的方法打开cmd,
首先拿给到的数据集当中的图片进行一个测试
输入以下命令

python detect.py --source data\images\zidane.jpg --weight yolov5s.pt --img 640

需要提醒大家的是
在添加路径的时候前面一定要有--source不然会出现检测识别失败的情况
其实只需要前面一段python detect.py --source data\images\zidane.jpg,后面那一段应该是给到权重,使得这个图片预测更完整?
但是我只输入前面那一段我就成功预测了
在这里插入图片描述
可以看到预测之后的图片保存的路径,打开对应路径就可以看到了
在这里插入图片描述
我这里尝试找一些其他图片进行预测
这里网上随便找一张图片
请添加图片描述
检测结果如下

请添加图片描述

视频检测

最后再尝试一下这个视频的检测
按照同样的办法打开cmd
使用相同的方法,打开视频相应的路径python detect.py --source D:\桌面\download\0.mp4
后面也是相应的路径,看大家视频的路径进行调整
原视频的链接如下
极限挑战:黄磊从网吧找到张艺兴,向师傅告状如何被沙溢欺负!
在这里插入图片描述

参考内容

  • YOLOv5网络详解
  • 【零基础上手yolov5】yolov5的安装与相关环境的搭建
  • y1训练

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_73908.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

gazebo仿真环境中添加robotiq 2f 140的gripper_controller控制器

gazebo仿真环境中添加robotiq 2f 140的gripper_controller控制器 搭建环境: ubuntu: 20.04 ros: Nonetic sensor: robotiq_ft300 gripper: robotiq_2f_140_gripper UR: UR3 reasense: D435i 通过下面几篇博客配置好了ur3、力传感器、robotiq夹爪、rea…

18523-47-2,3-Azidopropionic Acid,叠氮基丙酸,可以与炔烃发生点击化学反应

【中文名称】3-叠氮基丙酸【英文名称】 3-Azidopropionic Acid,3-Azidopropionic COOH【结 构 式】【CAS】18523-47-2【分子式】C3H5N3O2【分子量】115.09【纯度标准】95%【包装规格】1g,5g,10g【是否接受定制】可进行定制,定制时…

java原理4:java的io网络模型

文章目录1:基础概念1:同步和异步2:阻塞和非阻塞2.1:阻塞IO2.2:非阻塞io2.3:io复用3:同步/异步和阻塞/非阻塞3.1:同步非阻塞NIO4: redis为什么速度快Java 网络IO模型简介1&#xff1a…

Tapdata 和 Databend 数仓数据同步实战

作者:韩山杰https://github.com/hantmacDatabend Cloud 研发工程师基础架构在云计算时代也发生着翻天地覆的变化,对于业务的支持变成了如何能利用好云资源实现降本增效,同时更好的支撑业务也成为新时代技术人员的挑战。 本篇文章通过&#xf…

删除MySQL表中的重复数据?

前言 一般我们将数据存储在MySQL数据库中,它允许我们存储重复的数据。但是往往重复的数据是作废的、没有用的数据,那么通常我们会使用数据库的唯一索引 unique 键作为限制。问题来了啊,我还没有创建唯一索引捏,数据就重复了&…

jianzhiOffer第二版难重点记录

04. 二维数组中的查找https://leetcode.cn/problems/er-wei-shu-zu-zhong-de-cha-zhao-lcof/ 思路:可以每层用以恶搞二分查找,优化思路:从左下角出发直接用二分。 ​​​​​​07. 重建二叉树https://leetcode.cn/problems/zhong-jian-er-cha…

springboot+vue.js高校大学生选课成绩管理系统javaweb

本课题要求实现一套学生成绩管理系统,系统主要包括管理员,学生和教师三大模块 (a) 管理员;管理员进入系统主要功能包括首页,个人中心,教师管理,学生管理,公告信息管理,课程类型管理&…

Android自定义View实现横向的双水波纹进度条

效果图:网上垂直的水波纹进度条很多,但横向的很少,将垂直的水波纹改为水平的还遇到了些麻烦,现在完善后发布出来,希望遇到的人少躺点坑。思路分析整体效果可分为三个,绘制圆角背景和圆角矩形,绘…

Linux学习(7.5)linux目录配置与重点回顾

鸟哥的 Linux 私房菜 -- Linux 的文件权限与目录配置 (vbird.org) 怎么记啊,直接点进去看吧 目录 Linux目录配置的依据--FHS 绝对路径与相对路径 重点回顾 以下内容转载自鸟哥的Linux私房菜 Linux目录配置的依据--FHS 是希望让使用者可以了解到已安装软件通常…

16、变量、流程控制与游标

文章目录1 变量1.1 系统变量1.1.1 系统变量分类1.1.2 查看系统变量1.2 用户变量1.2.1 用户变量分类1.2.2 会话用户变量1.2.3 局部变量1.2.4 对比会话用户变量与局部变量2 定义条件与处理程序2.1 案例分析2.2 定义条件2.3 定义处理程序2.4 案例解决3 流程控制3.1 分支结构之 IF3…

嵌入式系统硬件设计与实践(学习方法)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 刚读书的时候,对什么是嵌入式,其实并不太清楚。等到自己知道的时候,已经毕业很多年了。另外对于计算机毕业的学…

Python近红外光谱分析与机器学习、深度学习方法融合实践技术

、 第一n入门基础【理论讲解与案 1、Python环境搭建( 下载、安装与版本选择)。 2、如何选择Python编辑器?(IDLE、Notepad、PyCharm、Jupyter…) 3、Python基础(数据类型和变量、字符串和编码、list和tu…

每日学术速递2.24

CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 Subjects: cs.LG 1.BUAA_BIGSCity: Spatial-Temporal Graph Neural Network for Wind Power Forecasting in Baidu KDD CUP 2022 标题:BUAA_BIGSCity:百度KDD CUP 2022风电预测…

新C++(10):Map\Set的封装

"湖人总冠军"一、Map\Set的介绍Set是C标准库中的一种关联容器。所谓关联容器就是通过键(key)来读取和修改元素。与map关联容器不同,它只是单纯键的集合。取自这里Map是STL 的一个关联容器,它提供一对一(其中…

《分布式技术原理与算法解析》学习笔记Day21

分布式数据存储三要素 什么是分布式数据存储系统? 分布式存储系统的核心逻辑,就是将用户需要存储的数据根据某种规则存储到不同的机器上,当用户想要获取指定数据时,再按照规则到存储数据的机器中获取。 分布式存储系统的三要素…

【多线程与高并发】- 浅谈volatile

浅谈volatile简介JMM概述volatile的特性1、可见性举个例子总结2、无法保证原子性举个例子分析使用volatile对原子性测试使用锁的机制总结3、禁止指令重排什么是指令重排序重排序怎么提高执行速度重排序的问题所在volatile禁止指令重排序内存屏障(Memory Barrier)作用volatile内…

PHY设备驱动

1. 概述 MAC控制器的驱动使用的是platform总线的连接方式,PHY设备驱动是基于device、driver、bus的连接方式。 其驱动涉及如下几个重要部分: 总线 - sturct mii_bus (mii stand for media independent interface) 设备 - struct phy_device 驱动 - struc…

Java学习笔记——时间日期类

目录概述时间日期类——Date构造方法Date类的常用方法simpledateformate类练习:秒杀活动概述 时间日期类——Date构造方法 Date类的常用方法 package top.xxx.www.date;import java.util.Date;public class DateDemo {public static void main(String[] args) {Date…

LabVIEW如何调用.m脚本LabVIEW调用MATLAB

LabVIEW如何调用.m脚本LabVIEW调用MATLAB有一个用MATLAB编写的脚本,想知道从LabVIEW调用它的方法,以及哪一个是最快的。解决方法有几种方法可以在LabVIEW中调用.m脚本。LabVIEW中的MATLABScript Node使用ActiveX调用MATLAB运行时系统。注意:不…

Linux内核网络协议栈套接字缓冲区原理

概念 Linux网络协议栈是内核中最大的组件之一,由于网络部分应用的范围很广,也相对较热,该部分现有的资料很多,学起来也比较容易。首先,我们看看贯穿网络协议栈各层的一个最关键数据结构——套接字缓冲区(s…