Yolov7从入门到入土(一)

Yolo v7从入门到入土(一)

Preface

本篇blog将从yolo v7部署数据集的制作数据的训练结果的评估整个过程的雷坑这几个方面记录自己入门Yolov7的过程,同时整理成一篇一文搞定的保姆级入门教程

Yolo v7的部署

* 注意:该部分建立在已安装好Anaconda、Pycharm的基础之上

cuda与cudnn的安装

该部分参考自站内博客YOLOv7(目标检测)入门教程详解—环境安装

确定安装版本

安装前首先需要查看自己显卡的属性来确定最高支持的cuda安装版本。步骤如下:

  1. win+R输入cmd打开命令控制窗口如下:
    在这里插入图片描述
  2. 输入nvidia-smi查看CUDA Version如下:
    在这里插入图片描述
    这里可以清楚地看到我的显卡(一张垃圾的1650-Ti最高支持的CUDA版本为11.7,因此最高下载CUDA 11.7。

* 注意:这里建议下载所能支持的最高版本向下的几个版本来确保后续训练的正常进行。例如我下载的CUDA版本为11.0(这是因为其他依赖环境的版本不一定能及时与CUDA版本保持同步更新)

开始安装cuda(以11.0为例)

cuda安装官网如下:CUDA安装

由于cuda官网服务器在外网,墙内访问速度极慢,因此鸣谢博主@cxc超小超分享的cuda10.0-11.1的百度网盘资源,具体网盘链接见其站内博客:CUDA网盘资源分享

建议下载网盘中/官网内的exe(local)版本,下载好对应版本的安装程序(.exe)后具体的安装步骤如下:

  1. 打开.exe安装软件如下:
    在这里插入图片描述
  2. 选择同意并继续
    在这里插入图片描述
  3. 安装类型的选择参考如下条件:
    a. 若电脑已经卸载了所有的nvidia插件以及VS
    –>则选择精简安装–>进入步骤(5)
    b. 若已经多次安装失败
    –>则选择自定义安装–>进入步骤(4)
    在这里插入图片描述
  4. 只勾选第一个选项CUDA,同时点开CUDA,取消Visual Studio Integeration的勾选如下:
    在这里插入图片描述
    在这里插入图片描述
  5. 默认路径一般不改变,看到这个直接下一步
    在这里插入图片描述
  6. 至此,CUDA完成安装
    在这里插入图片描述

cudnn的安装

下载官网:cudnn安装官网

  1. 进入官网后选择Download cuDNN如下:
    在这里插入图片描述
  2. 选择release如下:
    在这里插入图片描述
  3. 迁移cudnn中对应文件到cuda
    选中下面三个文件夹,复制粘贴到cuda的默认安装路径,大伙的应该都一样:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0
    在这里插入图片描述
    在这里插入图片描述
  4. 至此,cuda与cudnn均完成安装

创建虚拟环境

为了能够正常运行项目所需代码,我们需要使用命令行cmd+Anaconda创建对应的虚拟环境。这一项目结构是Pycharm的特色,能够针对性地创造代码运行环境,而不是所有包都扔到一起,所有代码都在一个大环境下运行。

此处鸣谢站内博主@HDD615,此处虚拟环境的创建流程参考自其的优秀站内博文Anaconda创建虚拟环境

P.S. 若已有虚拟环境创建经验可跳过该部分。

虚拟环境的创建

虚拟环境的创建通过在Anaconda Prompt执行一系列Conda指令实现。

先来认识一下Anaconda Prompt,这个东东相当于已激活base环境的cmd,用起来比cmd方便一丢丢。可以通过如下流程迅速找到:
在这里插入图片描述

下面是具体的操作:

  1. 基本环境的创建
conda create -n env_name python=3.x.x

解释如下:
(1) env_name
这是虚拟环境的名称,可以随意修改成自己想要的名字
(2) 3.x.x
这里是该环境将要安装的python的版本号,按需修改即可

  1. 环境的查看(装多了虚拟环境常常会忘名字,很实用)
conda env list

效果如下:
在这里插入图片描述
这里星号*停留的地方代表着当前已激活的虚拟环境(默认为base,即基本环境,不建立虚拟环境时你pip安装的所有库都是装到这一环境中的)。

  1. 查看合适的pytorch版本
    在建立好环境和安装好python之后可以直接向环境内pip install一些所需要的包,这里仅以pytorch的安装为例讲解(其他的比较常规)。
    1.首先查看自己电脑合适的pytorch版本
    cmd输入nvcc -V查看自己合适的版本如下:
nvcc -V

在这里插入图片描述

  1. 安装想要的pytorch
    进入Pytorch官网找到想要版本提供的下载代码(即复制粘贴Run this command中提供的代码)
    在这里插入图片描述

  2. 激活环境

activate env_name

同上,此处的env_name是你想要激活的虚拟环境名称,例如我的pytorch-cuda环境下安装了pytorch以及一系列yolov7项目所依赖的库,那么可以如下激活该环境:

activate pytorch-cuda

虚拟环境的使用和库的补充

在Pycharm中导入建立好的虚拟环境进行编译的步骤如下:

  1. 进入项目打开设置
    在这里插入图片描述
  2. 在设置中找到 Interpreter/编译器 选项进行设置
    点击右侧 齿轮 图标,选择 Add
    在这里插入图片描述
  3. 选择 Conda Enviroment
    调整到 Existing enviroment/现有环境 ,并点击三个点按钮进行下一步
    在这里插入图片描述
  4. 找到自己存放虚拟环境的文件夹目录
    默认路径安装Anaconda的文件夹下的envs文件夹
    在这里插入图片描述
  5. 找到需要的虚拟环境文件夹点击展开并选择其中的 python.exe
    在这里插入图片描述
    至此,便成功地在Pycharm的项目中配置好了所需要的虚拟环境。

虚拟环境刚建立时是一无所有的,所以库的补充很重要。向一个虚拟环境中安装需要的库就像把大象装进冰箱一样步骤非常直观:

  1. 激活/进入需要补充库的虚拟环境
  2. 利用pip指令进行安装

以在名称为"pytorch-cuda"的虚拟环境中安装numpy为例,则需要在cmd/Anaconda Prompt中输入的指令为:

conda activate pytorch-cuda
pip install numpy

具体来说,一般会直接在虚拟环境下跑目标代码然后根据报错提示来针对性地补充所需要的库。

Yolo v7源码的下载和测试

该部分参考自站内博客YOLOv7(目标检测)入门教程详解—检测,推理,训练

源码下载

Yolo v7框架代码开源在GitHub上,且使用非常方便。
下载链接如下:Yolov7源码下载地址

进入之后点击 Code->Download ZIP

随后将下载好的压缩包解压备用即可。

权重下载

Yolo v7是一款支持迁移学习的网络框架,这对于使用这样具有庞大网络结构和参数量的网络来说帮助很大。

因此我们还需要在官方项目中下载预训练参数(yolov7_training.pt)进行迁移学习以及测试参数(yolov7.pt)进行调试(即看看这个项目是否部署成功。
在这里插入图片描述
在这里插入图片描述
最后在yolov7源码文件所在文件夹新建一个名为 weights 的文件夹并将上述的两个.pt(即参数文件)存放进去。

依赖包的安装

上面讲述虚拟环境相关的知识时,提到了可以按照报错信息进行针对式的补充,这个效果虽慢但十分有效。而为了减小工作量,yolov7的源码文件中有一个叫做 requirements.txt 的文本文件,其中包括了一些必要依赖库的安装信息。

因此,可以进行如下操作进行初步安装(因为python版本的问题还可能会造成一些报错)

  1. cmd进入yolov7所在文件夹
    以我的路径T:\PyProjects\Garbage_Sorting为例
    则分为以下两个步骤:进入T盘通过cd进入文件夹
# 这里的T改成自己yolov7所在的盘名称
T:
# 这里cd后的内容复制粘贴自己文件夹的完整路径名称即可 
cd T:\PyProjects\Garbage_Sorting
  1. 激活虚拟环境
    以我的虚拟环境名称"pytorch-cuda"为例
# pytorch-cuda改成自己对应的虚拟环境名称
activate pytorch-cuda
  1. 安装依赖包
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

测试(检测)

Yolov7的文件夹里自带了一部分图片,可以用下载好的 test.pt 权重进行测试,以确保自己的Yolov7可以运行。

具体操作如下:

  1. 激活虚拟环境
    仍以我的 “pytorch-cuda” 为例
activate pytorch-cuda
  1. 进行测试
    下面的–weights后是权重文件所在的路径,–source后是待检测的图片存储的路径
python detect.py --weights weights/yolov7.pt --source inference/images
  1. 查看是否正常训练
    进入runs/detect/exp中查看检测结果
    在这里插入图片描述
    可以看到我这里已经有正常检测出的框框了,代表Yolov7至此成功部署!!

选择模型依赖的计算设备(CPU/GPU)

  1. 进入Yolov7所在的文件夹找到 detect.py 文件并打开
    在这里插入图片描述
  2. 修改device参数选择计算设备
    通过ctrl+f输入"cuda device"来定位代码所在的地方
    默认是 0 ,即 CPU ;而数字 i 代表第 iGPU
    这里的 0 ,改成想要设备对应的编号即可
    在这里插入图片描述

Yolo v7数据集制作

要实际使用Yolo v7,通常需要自己制作好更适合yolo宝宝的数据集。接下来通过介绍Yolov7数据格式、制作方式、数据增强方式、存放路径几个部分带大家熟悉数据集的制作和增强流程

Labelimg的下载使用

Labelimg是支持可视化数据标注的非常非常好用的目标检测数据标注工具。同时其安装和使用均可直接通过命令行实现,故仅以此作为本篇教程的标注工具讲解对象(当然我也只会这个 )。

Labelimg的下载

个人独立项目开源地址

这篇文章是我在完成了第一个基于Yolov7的独立个人项目——垃圾分类 Garbage Sorting的基础上完成的。也正是因为第一次使用Yolov7踩了很多坑,才下定决心归纳整理和撰写这篇文章,项目开源地址如下:
Garbage_Sorting_via_CheasonY

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
Simulink是一款强大的仿真工具,用于设计、模拟和分析各种系统的行为。下面是一个从入门入土的Simulink仿真教程。 1. 软件安装:首先需要下载和安装Simulink软件。在MathWorks官方网站上找到适合的版本,并按照指示进行安装。 2. Simulink基础:打开Simulink后,可以看到一个模块化的仿真环境。了解基本的Simulink界面、工具栏和库,这些是使用Simulink进行仿真的基础。 3. 模型建立:使用Simulink可以通过将各种模块组合在一起来建立模型。通过从库中拖拽模块到仿真界面,使用线连接相应的模块,可以构建出一个完整的系统模型。 4. 参数设置:对于每个模块,都可以设置相应的参数。这些参数可根据需要进行调整,以便模型可以更准确地模拟真实系统的行为。 5. 信号输入:创建一个仿真的关键是提供输入信号。可以通过添加信号源模块来生成不同类型的输入信号,如恒定值、正弦波、脉冲等。 6. 仿真运行:配置好模型和输入信号后,可以点击运行按钮开始仿真。仿真结果将在仿真器窗口中显示,此时可以观察系统的行为。 7. 结果分析:Simulink提供了多种工具用于分析仿真结果。可以绘制输出信号的波形图,计算系统的响应时间、频率响应等。 8. 优化改进:根据分析结果,可以调整模型参数以改进系统的性能。这包括调整模块参数、修改模型结构等。 9. 进阶功能:通过进一步学习和实践,还可以掌握更高级的Simulink功能,如使用MATLAB脚本进行仿真、使用状态流图进行建模等。 10. 深入学习:要真正掌握Simulink,需要不断深入学习和实践。可以参考Simulink的官方文档、视频教程和论坛,以及阅读相关书籍。 总之,通过上述步骤,您可以从入门入土地掌握Simulink的基本原理和使用方法,能够进行各种系统模型的建立和仿真。但记住,Simulink只是一个工具,对于真正理解和解决复杂系统问题,还需要深入学习掌握相关的系统理论和建模方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码小狗Codog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值