YOLOv8模型调试记录

发布时间:2023-04-29 09:37:51

  前言

  新年伊始,ultralytics 公司在 2023 年 1月 10 号开源的 YOLOv5 支持图像分类、物体检测和实例分割任务的下一个主要更新版本在开源前就受到了用户的广泛关注。

  值得一提的是,在博主的印象中,YOLO系列是完成目标检测任务的,YOLOV8也可以分类和语义分割任务。

  任何YOLOV8模型都有相应的预训练模型。目标检测和分割模型是 COCO 在数据集上进行预训练,分类模型是 ImageNet 在数据集上进行预训练。您只需下载相应的模型。前期准备

  首先,我们需要下载其源代码: https://github.com/ultralytics/ultralytics 然后我们用Pycharm打开下载的文件。 创造conda环境:conda create -n yolov8 python=3.8 在Pycharm中选择conda环境安装依赖

  然后在我们的pycharmterminal中安装所需的环境: 由于博主将控制台改为Linux系统的形式,大家可以使用windows命令。 source activate yolov8 在Linux下激活activatetete yolov8 在Windows下激活Windows

YOLOv8模型调试记录_YOLO

  使用Pycharm连接远程服务器的安装方法,可先激活conda环境,然后切换到相应的文件目录,再执行安装命令:

YOLOv8模型调试记录_pytorch_02

  安装所需依赖包: pip install -r requirements.txt -i https://mirrors.bfsu.edu.cn/pypi/web/simple/

  安装成功后,将显示在setting中。 注:如果您默认下载最新版本,Pytorch下载的版本为1.13。由于博主没有相应的conda环境,只能使用CPU运行。因此,博主需要手动安装,每个人都可以根据自己的需要。 conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.3 -c pytorch

YOLOv8模型调试记录_v8_03

简单测试

  首先,使用他自己的权重文件进行测试。 下载权重文件: https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n.pt方法一

  虽然在这里运行时会自动下载,但有时很容易出错。我们可以手动下载,下载后放入ultralytics-main\ultralytics\yolo\v8\detect\yolov8n.pt本文件下的predict文件同时运行。

YOLOv8模型调试记录_数据集_04

  运行成功,结果保存在下图箭头指示的文件夹中:

YOLOv8模型调试记录_python_05

  查看操作结果:总的来说,比博主原来的模型强。

YOLOv8模型调试记录_YOLO_06

方法二

  在项目的readme中提到,可以使用命令在控制台执行 yolo predict model=yolov8n.pt source="https://ultralytics.com/images/bus.jpg"

  但这一前提是需要安装:ultralytics pip install ultralytics 使用自制数据集进行训练

  使用博主数据集时,Cadc数据集标注VOC格式。我们需要将其转换为yolo格式,并将其划分为训练集、验证集和测试集。在这里,我们必须将其转换为官方格式,以避免出错。 注:尽量按照我的步骤制作数据集,否则训练时会报错:

  FileNotFoundError: train: No labels found in data\labels.cache, can not start training.

  首先,让我们谈谈这个过程。首先,我们需要获得VOC数据集的图像和标记文件。然后,我们需要将数据集的标记文件格式转换为YOLO标准格式。然后我们将数据集划分,将图片保存在images中,将标记文件放在labels中,train和val文件夹中的文件对应于培训集和验证集。 按照上面的说法,我们只需要给Annotations和JPEGImage文件夹。其他文件都是通过的

  只需修改代码中的路径即可。 然后创建yaml配置文件,给出我们的数据集路径和数据集相关信息

YOLOv8模型调试记录_v8_08

开始训练

  找到train.对于py文件,可以修改下图中框中选择的部分,即权重文件和数据集配置文件。

YOLOv8模型调试记录_pytorch_09

  另外,关于batch,-size,cfg文件夹下的default文件中配置了epoch等参数。

YOLOv8模型调试记录_python_10

  修改后,运行train.py即可。 值得一提的是,pytorch和cuda需要在本地环境配置中进行 ,cudnn对应,安装时容易出现问题,但安装在服务器上非常容易。 如何处理连接远程服务器的调试。

YOLOv8模型调试记录_数据集_11

  训练完成:

YOLOv8模型调试记录_python_12

  验证结果:

YOLOv8模型调试记录_数据集_13

  推理结果:

YOLOv8模型调试记录_pytorch_14

  以上是YOLOV8的调试、训练和推理过程。接下来,博主将学习YOLOV8相关模型,以修改模型。

  另外,转换结果(画csv)在运行完成时出现错误:这是无害的,不用理会。 File "/home/ubuntu/.conda/envs/yolov8//lib/python3.8/site-packages/matplotlib/pyplot.py", line 208, in _get_backend_mod switch_backend(rcParams._get("backend")) File "/home/ubuntu/.conda/envs/yolov8//lib/python3.8/site-packages/matplotlib/pyplot.py", line 331, in switch_backend manager_pyplot_show = vars(manager_class).get("pyplot_show")TypeError: vars() argument must have __dict__ attribute

上一篇 mySql数据库 forUpdate 实战总结
下一篇 maven本地配置规范

文章素材均来源于网络,如有侵权,请联系管理员删除。

标签: Java教程Java基础Java编程技巧面试题Java面试题