复现YOLOv8全流程详解


复现环境

操作系统:Windows11

软件工具:PyCharm2023 + Anaconda3

参考来源

官方文档:https://docs.ultralytics.com/

开源仓库:https://github.com/ultralytics/ultralytics

预训练权重:https://github.com/ultralytics/assets/releases

前期准备

配置环境

  • 打开 Anaconda Prompt,创建一个新环境,官方要求 Python 版本要大于 3.8:
conda create -n env_yolov8 python==3.9

  • 提示要下载一些包,输入 y 继续:

  • 等待包下载完毕,环境创建完成:

  • 激活新创建的环境:
conda activate env_yolov8

  • 输入 nvidia-smi 查看 GPU 支持的最高 CUDA 版本:

  • 下载 Pytorch,打开官网:https://pytorch.org/
  • CUDA 版本选择 12.1,复制下载命令:

  • 粘贴到 Anaconda Prompt 运行下载命令:

  • 等待下载完成,下载时间略长:

  • 用 PyCharm 打开 YOLOv8 源码:

  • 点击右下角 Python 解释器–>添加新的解释器–>添加本地解释器:

  • 切换到我们新创建的环境:

  • 打开 Pycharm 终端:

  • 输入命令下载 ultralytics 包:
pip install ultralytics

  • 如果下载速度较慢,可换用清华源下载:
pip install ultralytics -i https://pypi.tuna.tsinghua.edu.cn/simple/

  • 等待下载完成:

复现功能

  • 复现目标检测功能,直接在终端运行命令:
yolo predict model=yolov8n.pt source=./ultralytics/assets/bus.jpg

  • 运行结果在 run 文件夹 detect 里:

  • 复现实例分割功能,直接在终端运行命令:
yolo predict model=yolov8n-seg.pt source=./ultralytics/assets/bus.jpg
  • 运行结果在 run 文件夹 segment 里:

  • 复现姿态检测功能,直接在终端运行命令:
yolo predict model=yolov8n-pose.pt source=./ultralytics/assets/bus.jpg
  • 运行结果在 run 文件夹 pose 里:

### YOLOv8 模型复现方法 尽管当前提供的引用主要涉及 YOLOv9 的相关内容[^1],但可以基于类似的流程来完成 YOLOv8 的模型复现。以下是针对 YOLOv8 复现的具体说明: #### 一. 环境搭建 为了成功运行 YOLOv8,需先设置合适的开发环境。推荐使用 Python 和 PyTorch 进行开发。 ```bash pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117 ``` 此外,还需要安装 Ultralytics 提供的官方库 `ultralytics`,这是支持 YOLOv8 的核心工具包。 ```bash pip install ultralytics ``` 此命令会自动拉取所需的依赖项并完成初始化工作[^2]。 --- #### 二. 数据准备 YOLOv8 支持多种数据格式,通常建议采用 COCO 或 VOC 格式的标注文件。如果自定义数据集,则需要按照指定结构组织目录: ``` dataset/ ├── images/ │ ├── train/ │ └── val/ └── labels/ ├── train/ └── val/ ``` 每张图片对应的标签应保存为 `.txt` 文件,内容遵循如下格式(类别编号 中心点X 中心点Y 宽度 高度),所有数值范围应在 `[0, 1]` 内。 --- #### 三. 模型配置与训练 通过 YAML 文件定义数据路径和超参数。以下是一个简单的例子: ```yaml # dataset.yaml train: ./dataset/images/train val: ./dataset/images/val nc: 3 # 类别数量 names: ['class1', 'class2', 'class3'] # 类别名称列表 ``` 启动训练过程非常简单,只需调用 CLI 命令即可: ```bash yolo task=detect mode=train model=yolov8n.pt data=dataset.yaml epochs=100 imgsz=640 ``` 上述命令指定了检测任务 (`task`)、预训练权重 (`model`)、数据配置 (`data`) 及其他必要参数。 --- #### 四. 模型验证 训练完成后,可利用测试集评估性能指标(如 mAP)。执行以下脚本进行验证: ```bash yolo task=detect mode=val model=<path_to_trained_model> data=dataset.yaml ``` 这一步骤有助于确认模型是否达到预期精度目标。 --- #### 五. 模型推理 最后,在实际场景中部署模型时,可通过加载已训练好的权重来进行预测操作。下面展示了一个基本示例代码片段: ```python from ultralytics import YOLO # 加载模型 model = YOLO('runs/detect/train/weights/best.pt') # 执行推理 results = model.predict(source='test.jpg', conf=0.5) for result in results: boxes = result.boxes.xyxy.cpu().numpy() # 获取边界框坐标 classes = result.boxes.cls.cpu().numpy() # 获取分类索引 scores = result.boxes.conf.cpu().numpy() # 获取置信分数 ``` 以上即完成了整个从头到尾的工作流描述。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值