【YOLO】朴实无华的yolov5环境配置(一)

前言

  最近有一个项目需要用到目标识别,于是我一下子就想到了大名鼎鼎的yolo,于是花了一天时间了解了一下。但是很遗憾的是,我自己随便配置的一个环境能运行torch,但是只要一训练yolov5的库,电脑就要蓝屏, 随后就去网上找一些配置教程,但是很遗憾的是听着很大气,但感觉大部分都是废话,效率不高且不够准确。于是打算根据自己的经验搓一个教程。

前期准备

  本文默认读者已具备python环境(conda也可),且懂一些基本的python知识,比如包管理等。如果不是的话,建议直接关掉本教程或者搭建好python环境之后再来看。

PyTorch安装

参考链接

  PyTorch环境的搭建虽然听着很复杂,但动手操作却不是很难。总结来说就是三步:安装cuda,安装cudann,pip安装torch相关的包

  关于cuda和cudann和pytorch之间的关系,参考这篇教程,我的理解是cuda是一个工作台,提供底层的gpu计算功能;而cudann是工作台上面的一个工具,利用cuda底层功能实现神经网络的基础模型;pytorch更像是一个利用工作台上的工具制作的一个更高级的设备,它依赖于cuda和cudann,但用起来更加方便,使调用gpu计算实现深度学习这个过程更加简单。

  概念部分结束,现在开始实操。这部分网上大部分的教程都是按部就班来,即先装cuda,再装cudann,再装pytorch。这是因为 很多人都觉得要找和自己显卡驱动版本适配的cuda版本,这肯定是需要的。但是!其实在安装cuda的过程中也可以选择安装驱动,也就是说cuda安装可以帮助你安装适配该版本cuda的对应驱动。而且使用指令nvidia-smi查看的Cuda Version以及NVIDIA控制面板中的版本并不是所谓的“支持的最高版本”,而是此时电脑上安装的驱动版本,完全可以在NVIDIA官网下载一个驱动更新的程序来更新。 那肯定会有人问了,显卡型号较老也能安装新版本的驱动吗? 从官网提供的驱动来看应该是没问题的,新版驱动对硬件的兼容性很好,如果不放心可以在这个链接中查一下自己电脑中显卡型号能够支持的驱动型号。这里以一个2023.5.2更新(发文日期前10天)的一个驱动为例,如下图所示。

在这里插入图片描述
可以看出支持的型号还是非常多的。

  相比于适配电脑上的显卡驱动型号,我认为cuda版本选择更应该参考的是pytorch包的版本,而这也是我为什么推荐先安装pytorch的原因,即先把pytorch版本确定下来,然后再去下载与之适配的cuda版本。

2023.7.16更新
  今天帮一个人配置环境发现一个问题,那就是如果操作系统是win7的话,新版本的cuda是没有win7版本的,所以不能搞最新版的pytorch。然后就试着找了一个cuda10.2,支持win7,按照我之前的想法,大部分显卡型号都是支持较新的驱动的,于是就直接安装了,而且还勾选了驱动,但是安装完之后测试仍然报错说cuda驱动版本不对,这才意识到这个型号可能不支持新版的驱动,然后去官网一查,果然,最新版的驱动还是19年的,显然不支持。
  综上所述,我觉得最合适的就是先查看显卡的型号,然后查看该显卡支持的最高版本驱动,再根据这个最高版本驱动去选择cuda版本和pytorch版本,当然,不想更新驱动也能基于当前电脑上的驱动来选择型号。

  • 1 安装pytorch
    这个步骤非常简单,直接到官网,复制下面一行命令在终端执行即可。【建议没什么特别要求就搞最新版的】

在这里插入图片描述

这个包有点大,需要忍一下。如果不想忍,去找找怎么给pip换源(或者conda换源)

  • 2 安装cuda
    安装好pytorch后,去NVIDIA官网找和上面的torch对应的cuda版本,然后下载安装,具体过程就不演示了,无脑下一步即可。重点强调中间的几个点:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    检验是否安装成功nvcc --version:
    在这里插入图片描述

  • 3 安装cudann
    这个就更简单了,同样到NVIDIA官网下载对应版本的压缩包,然后把解压文件放到cuda的安装路径下,应该会有文件夹合并的操作。

    检验是否安装成功:
    在这里插入图片描述

yolov5

  yolov5可以理解为就是一个基于python的项目,不过这个项目需要依赖前面配置的pytorch环境,所以前面得先配置一下环境(实际就是安装pytorch包及其依赖包)。剩下的开发过程就只需要看官网——即GitHub的链接即可。

yolov5项目结构

  如下图所示,这个是yolov5最新版7.0的release源码:

在这里插入图片描述

  • classify文件夹是图片分类对应的训练和验证代码,比如可以用来分类人脸是否戴口罩等。
  • data文件夹主要包含训练用的数据,主要是yaml文件(可以理解为训练模型过程中的配置文件,主要是表示训练数据所在文件夹以及目标类别)。此外,在data文件夹下,还有一些脚本,作用如文件名所示,主要是用来下载相关文件的,这样可以直接按照给出的指令运行而无需单独下载文件,使用更加方便。

在这里插入图片描述

  • models文件夹和utils文件夹可以理解为训练和测试代码所需要的组件,如果是想要深入研究yolov5的,肯定得要去理解,但对于刚入门的人来说,暂时可以不用管。
  • segment文件夹主要放置语义分割操作所需的训练和测试代码。和classify文件夹类似,如果是目标识别任务,可以暂时不用管。

  如果是只想使用yolov5完成目标识别,而不深入研究,这里需要使用的只是上图中的train.py, detect.py, export.py.

  具体的训练和测试参见后续教程。

遇到的问题

  一运行那个train.py文件,电脑就蓝屏,当时以为是cuda版本太高了不适配我的显卡,但后来尝试重装了一个11.8版本的cuda,即和我的pytorch版本对应上,没想到就好了,所以我才认为,cuda版本和pytorch版本适配才是最重要的。

后续教程

  • 0
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

记录无知岁月

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

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

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

打赏作者

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

抵扣说明:

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

余额充值