08实战经验yoloV8部署(2026年01月)

1.下载代码

GitHub - ultralytics/ultralytics: Ultralytics YOLO 🚀https://github.com/ultralytics/ultralytics2.使用自己配置好的环境,在终端进行激活自己的环境

3.安装所需文件架包

复制代码
pip install -e . -i https://pypi.tuna.tsinghua.edu.cn/simple

等待安装完成

4.进行数据集划分

找到你制作好的数据集

由上面的结构转换为yolo格式的数据集,进行8:2划分

复制代码
D:\data\YanJi\
├── yolo_data/           # 图像文件夹(jpg/png)
└── labels_txt/         # 对应的 YOLO 格式标签(.txt 文件)

变为

复制代码
D:\data\YanJi\my_dataset/
├── images/
│   ├── train/     → 包含所有训练图片
│   └── val/       → 包含验证图片(可选)
└── labels/
    ├── train/     → 对应 .txt 标签
    └── val/       → 对应 .txt 标签

划分代码如下

复制代码
import os
import shutil
from pathlib import Path

# 设置路径
image_dir = Path(r"D:\data\YanJi\yolo_data")
label_dir = Path(r"D:\data\YanJi\labels_txt")
output_dir = Path(r"D:\data\YanJi\my_dataset")

# 创建输出目录
output_dir.mkdir(exist_ok=True)
for folder in ["images", "labels"]:
    (output_dir / folder).mkdir(exist_ok=True)
    for split in ["train", "val"]:
        (output_dir / folder / split).mkdir(exist_ok=True)

# 获取所有文件名(去掉后缀)
files = [f.stem for f in image_dir.glob("*.jpg") if f.stem in [f.stem for f in label_dir.glob("*.txt")]]

# 划分训练/验证(8:2)
train_ratio = 0.8
train_count = int(len(files) * train_ratio)

train_files = files[:train_count]
val_files = files[train_count:]

# 复制文件
for fname in train_files:
    img_src = image_dir / f"{fname}.jpg"
    label_src = label_dir / f"{fname}.txt"
    img_dst = output_dir / "images" / "train" / f"{fname}.jpg"
    label_dst = output_dir / "labels" / "train" / f"{fname}.txt"
    shutil.copy(img_src, img_dst)
    shutil.copy(label_src, label_dst)

for fname in val_files:
    img_src = image_dir / f"{fname}.jpg"
    label_src = label_dir / f"{fname}.txt"
    img_dst = output_dir / "images" / "val" / f"{fname}.jpg"
    label_dst = output_dir / "labels" / "val" / f"{fname}.txt"
    shutil.copy(img_src, img_dst)
    shutil.copy(label_src, label_dst)

print("✅ 数据集已成功划分!")

5.开始训练

复制代码
# train_guo.py
from ultralytics import YOLO
import torch

# 检查 GPU 是否可用(这部分可以放在外面,因为不涉及多进程启动)
print(f"✅ CUDA 可用: {torch.cuda.is_available()}")
if torch.cuda.is_available():
    print(f"🎮 使用 GPU: {torch.cuda.get_device_name(0)}")

# ✅ 关键:将训练逻辑包裹在 if __name__ == '__main__': 中
if __name__ == '__main__':
    # 加载模型
    model = YOLO("yolov8n.pt")

    # 开始训练
    results = model.train(
        data="data/my_data.yaml",
        epochs=100,
        imgsz=640,
        batch=4,
        device=0,           # 使用 GPU
        half=True,          # 启用 FP16 半精度(节省显存)
        name="guo_detection",
        cache=False,
        workers=2           # 启用 2 个子进程加载数据(Windows 必须加主模块保护)
    )

    print(f"✅ 训练完成!最佳模型保存在: {results.save_dir}/weights/best.pt")
相关推荐
FL162386312917 小时前
外来入侵植物检测数据集VOC+YOLO格式1111张5类别
人工智能·yolo·机器学习
菜鸟变凤凰202321 小时前
基于深度学习 YOLOv8 的各种识别系统(Vue3 + Element Plus + Django 全栈项目)
深度学习·yolo·django
冷雨夜中漫步21 小时前
YOLO快速入门——(2)YOLO V26安装与快速入门
图像处理·算法·yolo·计算机视觉
YOLO数据集集合1 天前
遥感滑坡图像识别数据集 | 滑坡识别 遥感影像 语义分割 灾害监测 无人机航拍 目标检测 深度学习数据集 计算机视觉9172期
人工智能·yolo·目标检测·计算机视觉·无人机·滑坡
YOLO数据集集合1 天前
空中鸟类检测数据集 | 单目标 鸟类检测 生态监测 鸟击防范 目标检测9174期
安全·yolo·目标检测·飞鸟数据集·飞鸟
YOLO数据集集合1 天前
学生课堂行为智能检测系统 | 课堂行为检测 YOLOv13 DeepSeek 智慧教育 行为识别 9178期
yolo·目标检测·计算机视觉·课堂·学生课堂行为
YOLO数据集集合2 天前
Deepseek融合yolo的行人车辆多目标检测系统 |行人检测 车辆检测 多目标检测 YOLO DeepSeek9165期
人工智能·yolo·目标检测·计算机视觉·车辆检测·行人检测
YOLO数据集集合2 天前
YOLO 目标检测模型与 DeepSeek/Qwen 大语言模型融合的跌倒检测系统 | 跌倒检测 YOLO DeepSeek Qwen 行为识别 目标检测
yolo·目标检测·语言模型
YOLO数据集集合2 天前
道路与桥梁灾后损伤检测数据集 | 道路损伤 桥梁损坏 灾后评估 无人机巡检 目标检测 YOLO格式 深度学习数据集 计算机视觉10551期
yolo·目标检测·计算机视觉·无人机·桥梁损害·灾后评估
答案是你3 天前
YOLOE 开放词汇检测 + ONNX / TensorRT 推理,开源了!
python·深度学习·yolo·目标检测·计算机视觉·视觉检测