YOLO-v8使用说明

一、YOLO-v8下载

yolov8官网地址:https://github.com/ultralytics/ultralytics
直接点击code中的Download ZIP下载即可


二、环境创建

创建yolo环境

通过终端创建新环境:conda create -n yolo python=3.10 其中“yolo”是环境名称,后面是python版本

安装cuda、cudnn和pytorch

Ps:建议按照cuda、cudnn、pytorch的顺序安装

  1. cuda官网:https://developer.nvidia.com/cuda-downloads
    可以通过在终端中输入nvidia-smi来查看gpu所支持的cuda版本(可以不在c盘安装)
    安装完cuda后,可在终端输入nvcc --version查看是否安装cuda

  2. cudnn官网:https://developer.nvidia.com/rdp/cudnn-archive
    下载完后发现有三个文件夹,将这三个文件夹复制到cuda的安装目录下,默认的安装目录为:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA
    验证安装成功:进入目录(安装目录下的extras\demo_suite目录)C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.3\extras\demo_suite,在cmd中分别执行bandwidthTest.exedeviceQuery.exe,执行结果为PASS则安装成功

  3. pytorch官网:https://pytorch.org/
    按下win+r建输入cmd进入终端,通过指令activate yolo激活yolo环境后,输入pytorch中的安装指令。如:pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
    检验:使用以下 Python 代码来查看 PyTorch 的版本和cuda可用性:

    import torch
    print(torch.__version__)
    print("Is CUDA available:", torch.cuda.is_available())
    

安装yolov8 python官方包(包含了requirement)

一定要在torch安装后再进行安装!!

pip install ultralytics

三、测试yolov8是否可以使用

预训练权重的下载

在yolov8源码的根目录下找到README文件,打开后找到yolov8n模型,并根据链接下载,并放在根目录下
在这里插入图片描述

进行预测

在yolov8根目录下打开cmd,输入下列代码测试:

yolo predict model=yolov8n.pt source='ultralytics/assets/bus.jpg'

结果如下图所示:
在这里插入图片描述

然后可以在根目录下找到“runs”文件夹,在runs中的detect\predict文件夹中存放着刚刚预测的结果:

在这里插入图片描述

四、建立自己的数据集

数据集标注软件:labelImg
官方下载地址:https://github.com/tzutalin/labelImg
安装:下载完后,cd到labelImg-master文件夹下,在终端输入

conda install pyqt=5
pyrcc5 -o libs/resources.py resources.qrc
conda install lxml

进行安装,通过labelImg.py打开软件

数据集格式

  • 文件夹“datasets”
    • 文件夹“train”(训练集数据)
      • 文件夹“images”(图片)
      • 文件夹“labels”(标注)
        • classes.txt
    • 文件夹“val”(验证集数据)
      • 文件夹“images”(图片)
      • 文件夹“labels”(标注)
        • classes.txt
    • data.yaml

classes.txt:存放数字标签对应的类别,如船舶分类类别:
在这里插入图片描述


data.yaml:里面存放数据集的路径、训练集和验证集所在的位置,分类类别,分类数量
ps:yolo会根据图片地址自动找到对应名称的txt地址

path: D:\zzj\Math-project\datasets  # dataset root dir
train: train/images/train2024  # train images (relative to 'path')
val: val/images/val2024  # val images (relative to 'path')
test:  # test images (optional)

#分类数量
nc: 6

#分类类别
names: ['bulk cargo carrier','container ship', 'fishing boat', 'general cargo ship', 'ore carrier', 'passenger ship']

五、训练数据集

ps:一定要先改yolov8.yaml中nc的值!!!!(nc为分类个数)
路径:ultralytics\cfg\models\v8\yolov8.yaml

在项目中新建train.py:

from ultralytics import YOLO

def main():
    model = YOLO("yolov8m.yaml")  #加载模型
    
    model.train(data=r"datasets\data.yaml", epochs=100, workers=8, device=0)  #训练模型
    metrics = model.val()  # 在验证集上评估模型性能

if __name__ == '__main__':
    main()

其中model.train中的参数如下:
官网给出的解释:https://docs.ultralytics.com/modes/train/
推荐一个训练参数解释的不错的文章:https://blog.csdn.net/qq_37553692/article/details/130898732

Key默认值描述
modelNone指定用于训练的模型文件。
dataNone数据集配置文件的路径(例如 coco128.yaml).该文件包含特定于数据集的参数,包括训练数据和验证数据的路径、类名和类数。
epochs100训练轮数
timeNone最长训练时间(小时)。如果设置了该值,则会覆盖 epochs 参数,允许训练在指定的持续时间后自动停止。
patience100在验证指标没有改善的情况下,提前停止训练所需的训练轮数。当性能趋于平稳时停止训练,有助于防止过度拟合。
batch16训练的批量大小,表示在更新模型内部参数之前要处理多少张图像。自动批处理 (batch=-1)会根据 GPU 内存可用性动态调整批处理大小。
imgsz640用于训练的目标图像尺寸。所有图像在输入模型前都会被调整到这一尺寸。影响模型精度和计算复杂度。
saveTrue是否保存训练的检查点和预测结果。当训练过程中保存检查点时,模型的权重和训练状态会被保存下来,以便在需要时进行恢复或继续训练。预测结果也可以被保存下来以供后续分析和评估。
save_period-1保存模型检查点的频率,以 epochs 为单位。值为-1 时将禁用此功能。该功能适用于在长时间训练过程中保存临时模型。
resumeFalse从上次保存的检查点恢复训练。自动加载模型权重、优化器状态和历时计数,无缝继续训练。
deviceNone指定用于训练的计算设备:单个 GPU (device=0)、多个 GPU (device=0,1)、CPU (device=cpu),或苹果芯片的 MPS (device=mps)。
workers8数据加载时的工作线程数。在数据加载过程中,可以使用多个线程并行地加载数据,以提高数据读取速度。这个参数确定了加载数据时使用的线程数,具体的最佳值取决于硬件和数据集的大小。
nameNone训练运行的名称。用于在项目文件夹内创建一个子目录,用于存储训练日志和输出结果。

六、使用训练好的网络进行检测(detect)

from ultralytics import YOLO

#加载模型
model = YOLO(r"best.pt")

#要检测的数据存放的位置
results = model.predict(source=r"WarShip\detect", show=False ,save=True)
### 解决方案 如果遇到无法下载 Ultralytics 镜像地址文件的问题,可能是由于网络连接不稳定、依赖项未正确配置或其他环境因素引起的。以下是针对该问题的具体分析和解决方法: #### 1. 使用国内镜像源加速安装 当默认的 PyPI 源速度较慢或不可用时,可以通过指定国内镜像源来加快安装过程。例如,清华大学 TUNA 镜像站提供了一个稳定的 Python 软件包仓库。可以尝试以下命令完成安装[^2]: ```bash pip install ultralytics -i https://pypi.tuna.tsinghua.edu.cn/simple ``` #### 2. 确认系统依赖已满足 某些模块(如 OpenCV)可能具有额外的系统依赖关系。在安装前,请确认操作系统已经具备必要的库支持。对于 Linux 用户,建议使用 `pip3` 和 `python3` 命令替代标准的 `pip` 和 `python`,以避免因多版本共存引发冲突。 如果需要单独安装 OpenCV,可执行如下命令并同样利用国内镜像源优化下载效率: ```bash pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple ``` #### 3. 根据硬件条件调整 PyTorch 版本 Ultralytics 的部分功能依赖于 PyTorch 库运行深度学习模型推理任务。然而不同设备架构(CPU/GPU/CUDA)对应不同的 PyTorch 构建版本需求。因此,在正式引入 Ultralytics 之前,需先适配好兼容性的 PyTorch 组件。访问官方指南页面获取推荐组合列表,并按照指示操作完成定制化部署。 #### 4. 尝试离线模式安装 假如持续遭遇在线资源加载失败的情况,则考虑采用预下载方式规避实时联网风险。具体做法是从其他可靠渠道预先取得所需 whl 文件后再传入目标机器本地路径实施手动装配流程。注意匹配当前使用python 平台位数以及解释器确切规格参数。 --- ### 总结 综上所述,通过切换至更高效的国内镜像站点、核查基础软硬件设施状况、精确挑选相适应框架组件等手段,通常能有效缓解乃至彻底消除此类难题带来的困扰。与此同时,也提醒开发者密切关注相关技术文档更新动态以便及时掌握最新最佳实践指导信息[^1]^。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值