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")
相关推荐
jay神2 天前
一文讲清楚YOLOv26模型
人工智能·深度学习·yolo·机器学习·计算机视觉
qq_25294131682 天前
无人机目标检测数据集(UAV Detection Dataset)| 无人机检测 反无人机 低空安防5001期
人工智能·yolo·目标检测·计算机视觉·视觉检测·无人机·反无人机
YOLO数据集集合2 天前
蚊子视觉验证数据集 | 蚊虫识别 疟疾防控 病媒生物 细粒度分类 YOLO格式 深度学习数据集
深度学习·yolo·分类·数据集·蚊子分类·蚊虫分类·蚊虫识别
java1234_小锋2 天前
YOLO26 计算机视觉 - YOLO26图片与视频推理 & 摄像头与实时检测
人工智能·yolo·计算机视觉·机器视觉·yolo26
YOLO数据集集合3 天前
蚊子目标检测数据集 | 蚊虫检测 病媒生物 智能硬件 轻量化模型 目标检测 YOLO格式 深度学习数据集9015期
深度学习·yolo·目标检测·计算机视觉·分类·智能硬件·蚊子识别
YOLO数据集集合3 天前
煤炭质量目标检测数据集 、| 煤炭检测 工业视觉 质量分级 异物检测 煤炭异物8005期
人工智能·yolo·目标检测·计算机视觉·分类·煤炭检测数据集·异物数据集
qq_25294131683 天前
窗户清洁检测数据集 | 窗户清洁检测 建筑运维 二分类任务 YOLO格式 深度学习数据集9019期
运维·人工智能·深度学习·yolo·目标检测·分类·窗户清晰度
YOLO数据集集合3 天前
尼帕果实目标检测数据集 | 尼帕果实检测 农业视觉 热带作物 目标检测 YOLO格式9013期
人工智能·yolo·目标检测·机器学习·计算机视觉·农业果实
qq_25294131683 天前
航拍垃圾堆检测数据集 | 航拍垃圾检测 固废管理 无人机巡检 环保监测9025期
yolo·目标检测·计算机视觉·分类·无人机·垃圾检测·垃圾
qq_25294131683 天前
建筑物缺陷目标检测数据集 | 建筑裂缝检测 房屋缺陷 结构损伤 目标检测9022期
人工智能·yolo·目标检测·计算机视觉·视觉检测·建筑裂缝·建筑外立面