【YOLOV5 入门】——环境配置(Miniconda/Pytorch/YOLOv5/PYPI镜像源)

声明:笔记是毕设时根据B站博主视频学习时自己编写,请勿随意转载!

计划:

入门篇:环境安装、模型检测、构建自定义数据集、训练数据集、可视化界面搭建、Web系统搭建。拓展篇:使用服务器训练、使用pycharm和VScode。进阶篇:修改模型、模型结构原理。部署篇:模型部署。


一、环境安装

友情提示:安装过程中请别关闭cmd!

1、Miniconda环境管理器

下面内容是有关miniconda环境管理器和集成开发环境(IDE)的关系,可作为拓展:

  • Miniconda:

    • Miniconda是一个轻量级的Anaconda发行版(无太多内置包),用于管理Python环境和软件包。它允许你在不同的项目中创建独立的Python环境,并轻松地安装、更新和管理各种Python包和依赖项。
    • 对于使用PyTorch和YOLOv5的项目,你可以通过Miniconda创建一个独立的Python环境,并在该环境中安装所需的PyTorch和其他相关软件包,以避免与其他项目的依赖冲突
  • PyCharm:

    • PyCharm是一款流行的Python集成开发环境(IDE),提供了丰富的功能和工具,帮助开发者编写、调试和管理Python代码
    • 通过PyCharm,你可以更轻松地创建、组织和管理Python项目,并利用其强大的代码编辑、调试和版本控制功能来提高开发效率。
    • 对于使用PyTorch和YOLOv5的项目,PyCharm可以作为一个强大的开发工具,帮助你更好地编写和调试代码,以及管理项目文件和依赖项。

Miniconda用于管理Python环境和依赖项,而PyCharm则用于开发、调试和管理Python项目。它们与PyTorch和YOLOv5的关系是在项目开发过程中提供便捷的环境和工具支持,从而更高效地进行深度学习模型的开发和应用。

Minicondaicon-default.png?t=N7T8https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/

选上面那个与up主一致的版本下载,双击安装尽量在C盘,路径不要出现非英文和空格。

推荐选中第二项将其添加到PATH

最后安装完成,可取消下图的两个选项,点击Finsh。

打开cmd输入下面命令,创建一个名字为yolov5的环境,python版本是3.8,回车

conda create -n yolov5 python=3.8

提示需要安装一些包,输入“y”再回车

环境创建完毕,然后激活环境(每次进cmd都要先激活),输入以下命令再回车:

conda activate yolov5


2、PYPI镜像源

激活完成(先别关闭cmd),下面配置一个国内的PYPI镜像,以便于后续下载python的一些包:

PYPI镜像安装帮助icon-default.png?t=N7T8https://mirrors.tuna.tsinghua.edu.cn/help/pypi/这里我们选取上面安装帮助的这段代码:(输入到cmd)

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple


3、Pytorch框架

PyTorch是一个基于Python的开源机器学习库,它能够提供强大的GPU加速功能,以及内置的自动微分系统,可帮助开发人员更快地进行实验和建立神经网络模型。PyTorch由Facebook AI研究团队维护和开发,因其易于使用和灵活的API以及动态计算图的特点而受到广泛欢迎和关注。

YOLOv5是基于PyTorch框架开发的,安装PyTorch是为了更好地运行YOLOv5算法。PyTorch提供了丰富的功能和API,使得训练和推理深度学习模型变得更加简单和高效。利用其强大的GPU加速功能,加快YOLOv5模型的训练和推理速度。此外,PyTorch还提供了丰富的工具和库,帮助你更好地管理数据、设计模型以及进行实验和评估。Pytorch拓展如下:

  •  PyTorch核心是一个张量计算库,可以高效地处理矩阵计算、卷积和其他数学运算。
  • 也支持CPU和GPU计算,提供了方便实用的工具和函数,以便编写神经网络模型和训练。
  • 提供了强大的自动微分系统,可以轻松地计算梯度。
  • 同时支持动态计算图,动态计算图有利于减少模型构建的复杂性,并令开发人员更加深入地了解模型的计算过程。
  • 具有易于使用、灵活的API和出色的计算性能,因此被广泛应用于自然语言处理、计算机视觉和其他人工智能领域的研究和应用中。

Pytorch官网icon-default.png?t=N7T8https://pytorch.org/可见最新已经更新到2.2.1了,但YOLOv5用不到这么高的版本,点击下面的“Previous version of Pytorch”

这里选择1.8.2版本Wheel里面的pip安装方法(不推荐conda install的安装形式)。注:如果只有CPU就选择第三个,有显卡的可第一个第二个(具体什么型号的显卡对应第1个还是第2个一定要实现调查清楚)

附:查看显卡类型如下,我这个intel的显卡网上说不支持CUDA,只有英伟达NVIDIA显卡的支持(见最后关于CUDA的拓展部分),我安装了CPU版本的。

将对应的安装命令输入到cmd框,但是我这个报错,但up主不推荐高版本的说训练时会遇到问题,那重新选了1.9.0版本的就行

conda install pytorch==1.9.0 torchvision==0.10.0 torchaudio==0.9.0 cpuonly -c pytorch


4、YOLOv5检测算法

YOLO(You Only Look Once)是一种基于深度学习的目标检测算法,可以在一次前向传递中直接从图像中检测所有物体的位置和类别。特点是速度快,可以在CPU上实时处理视频。它采用全卷积神经网络,可以在一个端到端的过程中识别整个图像中的所有物体。

与传统的先检测再分类不同,YOLO是一个直接的目标检测算法,可以显著减少地址传递,实现实时的目标检测。不过,与其他检测算法相比,YOLO的准确度相对较低,因为它需要在各种尺度下检测物体,而且对于小物体检测效果不太好

YOLOv5 是一种用于目标检测的深度学习模型,是YOLO(You Only Look Once)系列的最/较新版本,由Ultralytics团队于2020年开发的,其主要目标是提高目标检测的速度和准确性。相比于之前的版本,YOLOv5在多个方面进行了改进,包括网络结构、训练策略和推理速度

1、采用了一些新技术来提高训练和推理的效率,例如自动数据增强和模型压缩等。
一些新的技术来提高模型的鲁棒性和泛化能力,例如采用新的数据增强技术和正则化方法等。
采用了更深的网络结构和更高级的特征提取技术,从而使其在目标检测任务上表现更好。
2、相比YOLOv4具有更简单的网络结构,但在速度和准确性上表现相当,甚至在某些情况下略有提升。
3、相比YOLOv3具有更好的性能和速度。YOLOv3在速度和准确性上存在一些瓶颈。

YOLOv5官方githubicon-default.png?t=N7T8https://github.com/ultralytics/yolov5点进右边Releases的v7.0-YOLOV5版本:

下滑下载Source code(zip)

可以解压到桌面,打开里面的requairments记事本文件

修改numpy和pillow的版本(更改时一定要用英文,因为这个报错我搞了好久),并注释掉torch和torchvision(因为之前已经安装了符合要求的版本,自动安装可能会默认成cpu版本):

保存txt记事本,下面可以执行该requirements文件。首先进入该文件夹(一定要保证环境是激活状态即前面有环境名yolov5)

pip install -r requirements.txt

安装完成,到这里基本可以认为环境安装完成

二、模型初步检测(检测示例)

可以进行一个模型检测的实例:

上面会先弹出你的torch版本可以看到我的时cpu版本,这个下载太慢可以停下,复制Downloading链接到网页下载,把下载好的文件粘贴在yolov5-7.0的文件夹里:

退出刚才下载太慢的界面(刚才已经通过网页下载完毕),重新执行模型检测命令

检测完成,它结果保存再runs\detect\exp2中,可以点开查看一下:

本期就到这里,下期继续学习!感谢你这么好看还关注柯宝!

三、拓展知识

但是当系统没有GPU设备,或者不需要利用GPU进行加速计算,选择安装CPU版本的PyTorch来满足需求,则不涉及CUDA。我本次的安装就是这样。

CUDA简介

CUDA(Compute Unified Device Architecture,计算统一设备架构)是由英伟达公司开发的一种并行计算平台和编程模型,它可以便捷地将 GPU 看作泛化的并行处理器,用于加速计算密集型应用程序

CUDA 平台的核心概念是线程块(thread block)、网格(grid)和 GPU 上的共享内存(shared memory)线程块是指在 GPU 上同时运行的一组线程,而网格则是包含若干个线程块的结构。CUDA 提供了丰富的函数库,包括矩阵操作、图像处理、快速傅立叶变换等,使开发人员可以方便地编写并行化的算法。而共享内存则是在线程块内用于共享数据的内存空间,通过合理地使用共享内存,可以使并行程序的性能进一步提升。

CUDA 的主要应用领域包括科学计算、计算机视觉、深度学习和游戏等,CUDA 已经成为了 GPU 计算领域最为流行的开发平台之一。

CUDA和Pytorch的关系

CUDA(Compute Unified Device Architecture)是由NVIDIA提供的并行计算平台和编程模型,用于利用GPU进行通用目的计算。而PyTorch是一个基于Python的深度学习框架,提供了丰富的工具和API来构建、训练和部署深度学习模型。关系体现在下面几方面:

  • GPU加速

    • PyTorch可以利用CUDA来实现在GPU上进行加速计算。通过PyTorch中提供的torch.cuda模块,可以轻松地将张量和计算操作移动到GPU上执行,从而加快深度学习模型的训练和推理速度。
    • CUDA提供底层的GPU编程接口和并行计算能力,PyTorch利用这些接口和能力来实现高效的GPU加速。
  • 深度学习库的支持

    • CUDA是许多深度学习框架基础(包括PyTorch),这些框架在GPU上执行计算时通常会使用CUDA来实现。
    • PyTorch内置了对CUDA的支持,因此开发者可以在PyTorch中直接利用CUDA来加速深度学习任务,而无需深入了解CUDA的底层细节
  • 硬件依赖

    • PyTorch的CUDA支持依赖于NVIDIA的GPU硬件。只有安装了NVIDIA的显卡和相应的CUDA驱动程序后,才能在PyTorch中使用CUDA进行GPU加速计算。

综上所述,CUDA提供了底层的GPU编程接口和并行计算能力PyTorch利用CUDA来实现在GPU上进行深度学习模型的高效计算。因此,要充分利用PyTorch的GPU加速功能,需要确保系统中安装了NVIDIA的显卡,并配置好相应的CUDA驱动程序。

往期精彩

STM32专栏(付费9.9)icon-default.png?t=N7T8http://t.csdnimg.cn/E2F88

OpenCV-Python专栏(付费9.9)icon-default.png?t=N7T8http://t.csdnimg.cn/zK1jV

AI底层逻辑专栏(付费9.9)icon-default.png?t=N7T8http://t.csdnimg.cn/zic0f

机器学习专栏(免费)icon-default.png?t=N7T8http://t.csdnimg.cn/FaXzAFreeRTOS专栏(免费)icon-default.png?t=N7T8http://t.csdnimg.cn/SjIqU电机控制专栏(免费)icon-default.png?t=N7T8http://t.csdnimg.cn/FNWM7 

  • 19
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 15
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

柯宝最帅

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

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

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

打赏作者

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

抵扣说明:

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

余额充值