Python3 YOLOv8 体验

参考

注意

所有命令操作均在git客户端中操作。

环境

环境 版本 说明
Windows Windows 10 专业版 22H2 19045.4170
VS Code 1.88.1
Git客户端 2.43.0.windows.1
Python 3.12
pip 3.12
ultralytics 8.1.47 pip 包
torch 2.2.2 pip 包
torchaudio 2.2.2 pip 包
torchvision 0.17.2 pip 包
onnx 1.16.0 pip 包

介绍

模式

https://docs.ultralytics.com/zh/modes/

Ultralytics YOLOv8 不只是另一种对象检测模型;它是一个多功能框架,旨在覆盖机器学习模型的整个生命周期--从数据摄取和模型训练到验证、部署和实际跟踪。每种模式都有特定的用途,其设计旨在为您提供不同任务和用例所需的灵活性和效率。

  • 训练模式:在自定义或预载数据集上对模型进行微调。
  • Val模式:用于验证模型性能的训练后检查点。
  • 预测模式:释放模型对真实世界数据的预测能力。
  • 导出模式:让您的模型以各种格式部署就绪。
  • 跟踪模式:将物体检测模式扩展到实时跟踪应用中。
  • 基准模式:在不同的部署环境中分析模型的速度和准确性。

任务

https://docs.ultralytics.com/zh/tasks/#classification

YOLOv8 支持多种任务,包括检测、分割、分类、面向对象检测和关键点检测。每种任务都有不同的目标和用例。通过了解这些任务之间的差异,您可以为计算机视觉应用选择合适的任务。

  • 检测是YOLOv8 支持的主要任务。它包括检测图像或视频帧中的物体,并在其周围绘制边界框。YOLOv8 可在单幅图像或视频帧中高精度、高速度地检测多个物体。
  • 分割是一项根据图像内容将图像分割成不同区域的任务。每个区域根据其内容分配一个标签。这项任务在图像分割和医学成像等应用中非常有用。YOLOv8 使用 U-Net 架构的变体来执行分割。
  • YOLOv8 可用于根据图像内容对图像进行分类。它使用 EfficientNet 架构的一种变体来执行分类。
  • 姿势/关键点检测是一项涉及检测图像或视频帧中特定点的任务。这些点被称为关键点,用于跟踪运动或姿势估计。YOLOv8 可以高精度、高速度地检测图像或视频帧中的关键点。
  • YOLOv8 可以高精度、高速度地检测图像或视频帧中的旋转物体。

正文

  1. 安装 python3

  2. 设置pip源: pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

  3. 安装yolov: pip install ultralytics

  4. 安装torch,https://pytorch.org/get-started/locally/

    pip3 install torch torchvision torchaudio
    

    image

  5. 设置git命令终端代理:(需要先打开梯子,并且本地端口对应,不明白梯子或者如果没有梯子就跳过这一步)

    # 设置代理
    git config --global http.proxy 127.0.0.1:7890
    git config --global https.proxy 127.0.0.1:7890
    # 取消代理
    # git config --global --unset http.proxy
    # git config --global --unset https.proxy
    
  6. 修改注册表,win+r 打开运行,输入regedit ,进入注册表找到:Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem,修改 LongPathsEnabled=1
    image

  7. 执行;pip install --no-cache "onnx>=1.12.0"

  8. 尝试运行(所有本文章内的文件都会自动去下载,所以只需要下面这部分代码就可以尝试体验)
    代码是演示了完整流程:创建模型/加载模型/训练模型/评估/检测/导出onnx模型

    from ultralytics import YOLO
    
    # Create a new YOLO model from scratch
    model = YOLO('yolov8n.yaml')
    
    # Load a pretrained YOLO model (recommended for training)
    model = YOLO('yolov8n.pt')
    
    # Train the model using the 'coco128.yaml' dataset for 3 epochs
    results = model.train(data='coco128.yaml', epochs=3)
    
    # Evaluate the model's performance on the validation set
    results = model.val()
    
    # Perform object detection on an image using the model
    results = model('https://ultralytics.com/images/bus.jpg')
    
    # Export the model to ONNX format
    success = model.export(format='onnx')
    
posted @   夏秋初  阅读(153)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示