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

本文详细介绍了如何在CPU和GPU环境下配置YOLOv8,包括安装anaconda、创建虚拟环境、安装库、验证、数据集标注与转换、模型训练及预测验证的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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、验证自己训练的模型
三、训练模型只争对了目标检测展开的创建训练、其他功能类似方法也可以创建自己的数据集,并进行训练。
四、只是记录一下自己使用过程,如有不妥之处,还望大佬们嘴下留情,谢谢!!!
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值