深度学习环境配置指南/YOLOv8目标检测实践

深度学习环境配置指南以YOLOV8 为例

    • 简介
    • 软件准备
    • 部分安装难点
    • 了解yolov8
    • 准备yolov8运行的环境
    • 跑一个例程
    • 运行一个例程
  • Load a model

简介

实验室来了很多新同学,本来更新在实验室的,但是还是想在个人区存个档,详细介绍了win深度学习环境的搭建和YOLO模型的简单实践

软件准备

环境配置前,不需要自行安装python。

  • Annocada 包管理器,一款优秀的软件包管理器。地址
  • nvidia geforce exerience 用于更新显卡驱动,保证最新的显卡驱动可以有效驱动显卡算力。
  • 编译器 pycharm/vscode pycharm 下载地址 申请学生优惠地址,需准备校园邮箱。
  • CUDA (Compute Unified Device Architecture),显卡厂商NVidia推出的运算平台。 CUDA是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎高性能GPU计算包
    下载地址
    在WIN+R中输入CMD ,在CMD键入NVIDIA-smi右上角查看最高支持的CUDA模块版本号
    深度学习环境配置指南/YOLOv8目标检测实践_第1张图片
  • cudnn NVIDIACUDA®深度神经网络库是GPU加速的用于深度神经网络的原语库。cuDNN为标准例程提供了高度优化的实现,例如向前和向后卷积,池化,规范化和激活层。cuDNN可以极大加速深度学习的运算速度。 下载地址 需要注册,与nvidia geforce exerience 可共享,需注意版本对应

部分安装难点

Annocada 包管理器安装
参考教程
安装过程选择just me ,并将path加入环境,用for all 可能会无法添加path
将conda安装至C盘以外的盘,因为后续有许多包,所以会占用大量空间
深度学习环境配置指南/YOLOv8目标检测实践_第2张图片

CUDA安装
● 点击下载好的安装包,选择解压位置,默认安装完成/失败后会销毁解压文件,等待解压结束进入安装页面
深度学习环境配置指南/YOLOv8目标检测实践_第3张图片

● 此处建议使用简洁安装,会安装在默认的C盘中,当然也可以自定义安装位置,不过需要在系统环境中配置
深度学习环境配置指南/YOLOv8目标检测实践_第4张图片

● 打钩即可,点击next
深度学习环境配置指南/YOLOv8目标检测实践_第5张图片

● 进行安装
深度学习环境配置指南/YOLOv8目标检测实践_第6张图片

● 安装完成

完成CUDA驱动安装,我的默认目录如下C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4
cuDNN安装
解压安装包,直接复制该文件夹下的三个文件夹,至CUDA安装目录下默认为C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4粘贴覆盖即可
深度学习环境配置指南/YOLOv8目标检测实践_第7张图片
深度学习环境配置指南/YOLOv8目标检测实践_第8张图片

了解yolov8

项目地址

Ultralytics YOLOv8 是由 Ultralytics 开发的一个前沿的 SOTA 模型。它在以前成功的 YOLO 版本基础上,引入了新的功能和改进,进一步提升了其性能和灵活性。YOLOv8 基于快速、准确和易于使用的设计理念,使其成为广泛的目标检测、图像分割和图像分类任务的绝佳选择。

准备yolov8运行的环境

● 在win栏找到安装的Anaconda,右键以管理员方式启动,启动如右图。
深度学习环境配置指南/YOLOv8目标检测实践_第9张图片

● 创建一个新的虚拟环境,虚拟环境的意义在于项目的软件包隔离,由于不同软件包对于项目的支持不同,可能不同软件需要不同等级的软件包,太高版本或太低版本都会报错,所以,需要进行环境隔离。一般会自带一个base基础环境,这个环境无法删除,你可以往里堆你需要的所有包,但最好不要用作开发环境。

创建环境指令如下  conda create —n 环境名  python=需要的python等级
conda create -n yolo python=3.9
移除环境指令
conda remove -n yolo

● 等待conda就绪,键入y安装环境,此时会为你的环境配备基础包和相应等级的python
● 完成后激活环境

conda activate yolo

● 完成后激活环境,此时前端展示为你创建的yolo环境,我的叫yolov7所以显示为yolov7
在这里插入图片描述

● 此时,回到上面的github中下载代码,并解压。前面介绍了每个项目会有一个requirements.txt文件记录 所需的运行包,解压后记录这个文件的位置,我的位置在 “D:\ultralytics-main\requirements.txt”,打开该文件,删除下图中蓝色的俩个模块并保存,因为直接安装会安装cpu版本,我们有GPU需要安装GPU版本才能有效驱动GPU运算。深度学习环境配置指南/YOLOv8目标检测实践_第10张图片深度学习环境配置指南/YOLOv8目标检测实践_第11张图片

● 在刚刚的命令行中键入以下代码,等待自动安装时间结束,中途报错可重复输入,如果关闭了命令栏需重新激活环境后再输入,会智能续传。
pip install -r “D:\ultralytics-main\requirements.txt”
● 全部完成后我们继续安装刚才我们删除的torch
● https://pytorch.org/ 进入pytorch官网,寻找与我们CUDA对应版本的torch-GPU包,旧版本找下方连接进入,新版本直接复制命令,回到命令行安装,大小约为1.8G+。 深度学习环境配置指南/YOLOv8目标检测实践_第12张图片


● 安装完成后,YOLOv8运行环境搭建完成

跑一个例程

环境的加载,以最新版pycharm为例
● 在我们的解压文件夹下右键,可以看到Open Folder as Pychamr Project,以项目方式打开文件夹。
深度学习环境配置指南/YOLOv8目标检测实践_第13张图片

● 设置中文pycharm包,进入settings,在Plugins插件中搜索中文安装即可
深度学习环境配置指南/YOLOv8目标检测实践_第14张图片深度学习环境配置指南/YOLOv8目标检测实践_第15张图片

● 接下来开始加载环境,入口有很多
○ 1,setting->项目->python解释器
深度学习环境配置指南/YOLOv8目标检测实践_第16张图片

○ 2右下角区域点击,进入添加新的解释器或解释器设置深度学习环境配置指南/YOLOv8目标检测实践_第17张图片

○ 进入后页面相同,如下,点击现有,点击’''进入选择,查找自己的虚拟环境位置,默认的在Anaconda3的安装目录下的envs中,找到自己的环境名字,在该文件夹下找到python.exe即可确认。等待软件索引所有软件包
深度学习环境配置指南/YOLOv8目标检测实践_第18张图片

深度学习环境配置指南/YOLOv8目标检测实践_第19张图片

运行一个例程

从github页面下载预训练模型,点击该位置会下载,建议科学上网下载速度比较快,或者从我的百度网盘下载,并放到解压的文件夹下
链接:https://pan.baidu.com/s/1ziVKFOxSlSxm6wASwJcBBA?pwd=z1pi
提取码:z1pi
深度学习环境配置指南/YOLOv8目标检测实践_第20张图片

该云训练模型在COCO数据集上已经训练过,所以已经可以预测100多种东西,车鸟花。。。。

在目录下新建一个python文件,运行以下代码,尝试一次简单的模型检测
from ultralytics import YOLO

Load a model

model = YOLO("yolov8n.yaml")
model = YOLO("yolov8n.pt")  


result = model("https://ultralytics.com/images/bus.jpg",save=True)   
这里的地址可以改成本地的任何文件
如:

result = model("E:\desktop\wallhaven-1kj7v1_1920x1080.png",save=True)

有以下运行结果,可以看到,结果被保存在了runs\detect\predict4下

                   from  n    params  module                                       arguments                     
  0                  -1  1       464  ultralytics.nn.modules.Conv                  [3, 16, 3, 2]                 
  1                  -1  1      4672  ultralytics.nn.modules.Conv                  [16, 32, 3, 2]                
  2                  -1  1      7360  ultralytics.nn.modules.C2f                   [32, 32, 1, True]             
  3                  -1  1     18560  ultralytics.nn.modules.Conv                  [32, 64, 3, 2]                
  4                  -1  2     49664  ultralytics.nn.modules.C2f                   [64, 64, 2, True]             
  5                  -1  1     73984  ultralytics.nn.modules.Conv                  [64, 128, 3, 2]               
  6                  -1  2    197632  ultralytics.nn.modules.C2f                   [128, 128, 2, True]           
  7                  -1  1    295424  ultralytics.nn.modules.Conv                  [128, 256, 3, 2]              
  8                  -1  1    460288  ultralytics.nn.modules.C2f                   [256, 256, 1, True]           
  9                  -1  1    164608  ultralytics.nn.modules.SPPF                  [256, 256, 5]                 
 10                  -1  1         0  torch.nn.modules.upsampling.Upsample         [None, 2, 'nearest']          
 11             [-1, 6]  1         0  ultralytics.nn.modules.Concat                [1]                           
 12                  -1  1    148224  ultralytics.nn.modules.C2f                   [384, 128, 1]                 
 13                  -1  1         0  torch.nn.modules.upsampling.Upsample         [None, 2, 'nearest']          
 14             [-1, 4]  1         0  ultralytics.nn.modules.Concat                [1]                           
 15                  -1  1     37248  ultralytics.nn.modules.C2f                   [192, 64, 1]                  
 16                  -1  1     36992  ultralytics.nn.modules.Conv                  [64, 64, 3, 2]                
 17            [-1, 12]  1         0  ultralytics.nn.modules.Concat                [1]                           
 18                  -1  1    123648  ultralytics.nn.modules.C2f                   [192, 128, 1]                 
 19                  -1  1    147712  ultralytics.nn.modules.Conv                  [128, 128, 3, 2]              
 20             [-1, 9]  1         0  ultralytics.nn.modules.Concat                [1]                           
 21                  -1  1    493056  ultralytics.nn.modules.C2f                   [384, 256, 1]                 
 22        [15, 18, 21]  1    751702  ultralytics.nn.modules.Detect                [2, [64, 128, 256]]           
YOLOv8n summary: 225 layers, 3011238 parameters, 3011222 gradients, 8.2 GFLOPs

Ultralytics YOLOv8.0.35  Python-3.9.15 torch-1.12.1 CUDA:0 (NVIDIA GeForce RTX 3060, 12288MiB)
YOLOv8n summary (fused): 168 layers, 3151904 parameters, 0 gradients, 8.7 GFLOPs

image 1/1 E:\desktop\wallhaven-1kj7v1_1920x1080.png: 384x640 1 car, 1 bus, 16.0ms
Speed: 1.0ms pre-process, 16.0ms inference, 24.5ms postprocess per image at shape (1, 3, 640, 640)
Results saved to runs\detect\predict4

进程已结束,退出代码0
结果:
深度学习环境配置指南/YOLOv8目标检测实践_第21张图片

你可能感兴趣的:(深度学习,YOLO,目标检测)