当前位置:   article > 正文

YOLOV8从环境部署(GPU版本)到模型训练——专为小白设计一看就懂_yolov8 gpu

yolov8 gpu

一、提前准备:

1.从GitHub上拉取ultralytics源项目压缩包:https://github.com/ultralytics/ultralytics

2.准备conda虚拟环境,这里我就不进行详细介绍。需要注意一点anaconda安装后要配置系统环境变量,另外还有一点可能会存在虚拟环境无法创建的问题,当时我解决这个问题的方法是修改.condarc文件。该文件一般在C盘user/****/下。我是这样修改的:

channels:
  - defaults
show_channel_urls: true
channel_alias: https://mirrors.tuna.tsinghua.edu.cn/anaconda
default_channels:
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
ssl_verify: true

为yolo创建一个python 3.8的虚拟环境,取一个名字。

3.安装cuda和cudnn

以我的电脑为例:

(1)安装cuda之前先打开英伟达控制面板查看自己的显卡信息

点击“系统信息”—>“组件”,然后看第三行的信息“Nvidia CUDA 11.6”

了解到自己电脑的CUDA信息后进入英伟达官网NVIDIA Developer

英伟达只允许开发人员下载相关工具,所以下载之前要注册一个官网的账号

进入以前的CUDA版本和存档,找到自己对应的CUDA版本

选择exe(local)下载,下载内容大概2—3G。安装时候不要修改安装路径并且选择自定义安装,把相关组件全部选上。安装完成后输入nvcc -V检查一下,能出现cuda信息就代表安装成功。

环境变量也自动配置好了。

(2)下载CUDNN

cuDNN Archive | NVIDIA Developer

cudnn下载后好解压下来,把解压后的文件除了txt文件,全部复制到cuda的安装目录下

以我的为例:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6

然后配置cudnn的环境变量,找到Path双击进入

到这一步我们的提前准备做好了。

二、安装pytorch(带GPU)

进入pytorch官网,找到与cuda对应的版本,以我的为例 cuda 11.6

找到11.6,官网会自动给你匹配命令,我这里是conda安装,官网下面还会给出pip的安装方法。我自己用的pip安装,先进入之前的虚拟环境然后复制粘贴这个命令。安装包很大且很多,建议使用良好的网络环境下进行

可以尝试用国内源安装

下载可能不会一次成功,建议多试几次,我本人也是下载了十几次才成功。成功的路上少不了耐心。

提示:到这一步的时候,执行conda list或pip list查看pytorch包安装情况,如果出现cuda信息则安装成功。下面以我的为例:

torch                     1.13.1+cu116
torchaudio                0.13.1+cu116
torchvision               0.14.1+cu116
我个人建议先安装ultralytics,因为它会帮你下载cpu版本的pytorch。安装ultralytics后卸载pytorch,然后执行上面第3步安装gpu版本。

三、安装yolo依赖项

直接pip安装:

pip install ultralytics --upgrade -i https://pypi.tuna.tsinghua.edu.cn/simple

pip install ultralytics

pip install -e ultralytics

我给出了三条命令,都可以试试

验证方法一:

打开虚拟环境:

  1. import ultralytics
  2. ultralytics.checks()

成功显示yolo版本信息,并且后面还有GPU信息。

验证方法二:

  1. import torch
  2. print(torch.__version__)
  3. print(torch.cuda.is_available())
  4. print(torch.cuda.device_count())

这个是验证pytorch的,查看是否支持GPU,运行结果如下:

到这一步我们的配置环境全部准备完成。

四、训练模型

1.准备coco128数据集

先下载好压缩包,我们的训练是跟这个数据集紧密相关的。把我们之前下载好的ultralytics压缩包解压,然后用pycharm打开,在根目录创建datasets文件夹:

然后把解压的coco128复制到该文件夹,里面还有一个yumi文件夹,这是我自己训练用的。大家可以根据自己的训练内容取一个名字。这个yumi文件夹下的文件跟coco128的文件格式类似。

如图查看文件结构:

coco128内的文件就不用管了,我们只是借鉴它来创建自己的文件格式。同样的,我们在yumi文件夹下创建images和labels、txt。

我们继续在images和labels下创建train2017和val2017。val主要是训练完后验证用的,我们暂时不管。images/train2017文件夹下全部是训练用的图片,labels/train2017文件夹下全部是图片的标签信息,与images/train2017的图片一一对应。train2017.cache不用管,训练后系统自动生成。这里是我已经训练过了。

2.准备自己的yaml文件

打开ultralytics/cfg/datasets,找到coco128

coco128.yaml文件如下:

在txt文件夹下创建自己的yaml文件,我自己的取名为my_data.yaml

将coco128.yaml内的内容复制粘贴到自己的yaml文件中,然后只需要修改一下路径和标签类就可以了。以我的为例:

建议使用绝对路径,不要使用相对路径。path路径就是你根据训练内容自己创建的文件夹,我自己的为yumi。names:下面我只有三个标签类,分别是huiban、xiubing、yeban。

打开这个v8,下面有很多yaml文件,我们要用的是yolov8n.yaml,但是这里似乎没有。

打开yolov8.yaml,里面有n、s、m、l、x 四种类型,我们选择n模型。

我们还需要预训练模型,github上官网提供了下载方式:

下载完成后可以开始训练了。

yolo detect train data=datasets/yumi/txt/my_data.yaml model=yolov8n.yaml pretrained=C:/Users/Administrator/Desktop/ultralytics-main/yolov8n.pt epochs=200 batch=2 lr0=0.01 resume=True

data:指向自己的yaml文件

model:指向yolov8.yaml文件

pretrained:指向预训练模型

epochs、batch、lr、resume根据自身情况设置,这些参数的具体含义可以在yolo官网上了解,不再赘述。batch建议不要太高,否则容易爆显存,我自己设置为2。

跑完之后在runs下生成一些文件,其中包括训练出的 .pt模型,best.pt就是我们的最终模型。

还有很多问题没有指出,内容上可能也存在很多错误,欢迎大家评论区指出!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/162206
推荐阅读
相关标签
  

闽ICP备14008679号