YOLO V8训练自己的数据集
1、下载安装Anaconda的Anaconda3-2020.11-Windows-x86_64.exe版本https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/2、创建专用 Conda 环境Python 3.11conda create -n labelstudio python3.11 -y激活环境conda activate labelstudio3、下载label-stdiopip install label-studio运行label-stdiolabel-studio start然后打开http://localhost:80804、创建label-stduio工程导入图片集标记类型选择Object Detect With Bounding box删除旧有标签类型增加新标签类型然后点击右上角的Save按钮双击某张图片进入图片标记页进行手动标注目标注意先选左下角的标签类型然后框选目标最后点击右下角的Submit按钮。标记完成后点击右上角Export按钮导出图片和标记导出类型选择”Yolo With Images“5、将下载的文件夹解压新建exported目录将images和labels拷贝到exported目录下新建ship.py分类图像和标记数据生成dataset文件夹# 示例用 Python 随机划分 import os, shutil, random img_dir exported/images label_dir exported/labels out_dir dataset os.makedirs(f{out_dir}/images/train, exist_okTrue) os.makedirs(f{out_dir}/images/val, exist_okTrue) os.makedirs(f{out_dir}/labels/train, exist_okTrue) os.makedirs(f{out_dir}/labels/val, exist_okTrue) files [f for f in os.listdir(img_dir) if f.endswith(.jpg)] random.shuffle(files) split int(0.8 * len(files)) for i, f in enumerate(files): img_src os.path.join(img_dir, f) label_src os.path.join(label_dir, f.replace(.jpg, .txt)) if i split: shutil.copy(img_src, f{out_dir}/images/train/{f}) shutil.copy(label_src, f{out_dir}/labels/train/{f.replace(.jpg, .txt)}) else: shutil.copy(img_src, f{out_dir}/images/val/{f}) shutil.copy(label_src, f{out_dir}/labels/val/{f.replace(.jpg, .txt)})新建ship.yamltrain: ./dataset/images/train val: ./dataset/images/val nc: 1 # 类别数 names: [ship] # 类别名顺序必须与 Label Studio 中 class_id 一致下载yolov8n.pt文件放到当前目录下整体如下执行yolo指令训练自定义数据yolo detect train dataship.yaml modelyolov8n.pt epochs100 imgsz640