YOLOv8的环境配置、训练数据集(记录)

YOLOv8的环境配置(CPU、GPU)、如何快速的训练自己的数据集(记录一下,大佬勿喷)

一、下载安装
1、可以去github上下载源码 https://github.com/ultralytics/ultralytics
二、环境配置(使用CUP进行)
1、安装anaconda https://www.anaconda.com/download/#macos
2、安装anaconda完成后,在系统环境path中增加如下路径

在这里插入图片描述

3、测试anaconda安装是否成功在这里插入图片描述
4、创建虚拟环境

在这里插入图片描述

# 测试是否安装成功
conda --version
# 创建一个虚拟python环境
conda create -n yolov8 python=3.8
# 查看已创建的虚拟环境
conda env list
# 切换激活到创建的环境中
activate yolov8
5、在虚拟环境中安装yolov8
pip install ultralytics -i https://pypi.tuna.tsinghua.edu.cn/simple/
6、下载模型文件 https://github.com/ultralytics/ultralytics

在这里插入图片描述

7、进行预测验证
yolo predict model=weights\yolov8n.pt source=ultralytics-main\ultralytics\assets\zidane.jpg show=True save=True 

在这里插入图片描述

8、上述过程运行全部没有问题后,说明使用CPU运行yolov8环境配置完成
9、训练自己的数据集、验证模型
  1、安装标注工具库 labelimg 或 labelme
# 安装labelimg库
pip install labelimg -i https://pypi.tuna.tsinghua.edu.cn/simple/
# 安装labelme库
pip install labelme -i https://pypi.tuna.tsinghua.edu.cn/simple/
  2、labelimg库的使用

在这里插入图片描述

  3、标注完成后.xml文件转.txt文件 直接使用写好的小脚本
# -*- coding: UTF-8 -*-
import xml.etree.ElementTree as Et
import os

# 类别
CLASSES = ["font"]
# xml文件路径
xml_input = "labels/label_xml/"


def convert(size, box):
    dw = 1. / size[0]
    dh = 1. / size[1]
    x = (box[0] + box[1]) / 2.0
    y = (box[2] + box[3]) / 2.0
    w = box[1] - box[0]
    h = box[3] - box[2]
    x = x * dw
    w = w * dw
    y = y * dh
    h = h * dh
    return (x, y, w, h)

def convert_annotation(image_id):
    in_file = open(xml_input + image_id, 'r', encoding='utf-8')
    image_id = image_id.split(".")[0]
    out_file = open(f"labels/label_txt/{image_id}.txt", "w", encoding='utf-8')
    tree = Et.parse(in_file)
    root = tree.getroot()
    size = root.find("size")
    w = int(size.find("width").text)
    h = int(size.find("height").text)
    for obj in root.iter("object"):
        difficult = obj.find("difficult").text
        obj_cls = obj.find("name").text
        if obj_cls not in CLASSES or int(difficult) == 1:
            continue
        cls_id = CLASSES.index(obj_cls)
        xmlbox = obj.find("bndbox")
        points = (float(xmlbox.find("xmin").text),
                  float(xmlbox.find("xmax").text),
                  float(xmlbox.find("ymin").text),
                  float(xmlbox.find("ymax").text))
        bb = convert((w, h), points)
        out_file.write(str(cls_id) + " " + " ".join([str(a) for a in bb]) + "\n")


def make_label_txt():
    filenames = os.listdir(xml_input)
    for file in filenames:
        print(file)
        convert_annotation(file)


if __name__ == "__main__":
    # 开始提取和转换
    make_label_txt()

  4、创建自己的训练数据集文件夹,这里按照coco128文件格式进行创建

在这里插入图片描述

  5、开始进行训练
# 从YAML构建新模型,从头开始训练
yolo detect train data=my_data.yaml model=yolov8n.yaml epochs=100 imgsz=640 resume=True

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  6、对训练好的模型进行预测验证
yolo predict model=runs\detect\train\weights\best.pt source=datasets\yolo_demo\test\5bcebf0a644f42a18eb0e3d6ec237593.jpg show=True save=True

在这里插入图片描述

三、环境配置(使用GPU进行)
1、如果使用GPU进行训练、测试,需要安装对应版本的显卡驱动、CUDA、cuDNN、pyTorch框架
1、查看显卡是否安装好驱动程序

在这里插入图片描述

nvidia -smi
2、查看pyTorch框架支持最高的CUDA版本号 https://pytorch.org/

在这里插入图片描述

3、安装对应合适版本的CUDA https://developer.nvidia.com/cuda-toolkit-archive

在这里插入图片描述

4、下载对应版本的cuDNN https://developer.nvidia.com/rdp/cudnn-archive

在这里插入图片描述

5、测试环境安装是否成功

在这里插入图片描述

6、通过GPU进行训练

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、总结
一、通过CPU进行使用
1、安装anaconda
2、创建虚拟python环境
3、安装yolov8库
4、进行预测验证
5、创建自己的数据集文件
6、进行训练模型
7、验证自己训练的模型
二、通过GPU进行使用
1、查看显卡驱动是否安装
2、查看pyTorch框架支持最高CUDA版本号
3、下载安装合适版本的CUDA
4、下载对应版本的cuDNN
5、进行预测验证
6、创建自己的数据集文件
7、进行训练模型
8、验证自己训练的模型
三、训练模型只争对了目标检测展开的创建训练、其他功能类似方法也可以创建自己的数据集,并进行训练。
四、只是记录一下自己使用过程,如有不妥之处,还望大佬们嘴下留情,谢谢!!!
  • 25
    点赞
  • 107
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值