【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版本。

  • 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文件(可以理解为训练模型过程中的配置文件,主要是表示训练数据所在文件夹以及目标类别)

在这里插入图片描述

在这里插入图片描述

开发过程随缘更新

遇到的问题

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

后续教程

猜你喜欢

转载自blog.csdn.net/ZHOU_YONG915/article/details/130651567