ultralytics 应用教程
ultralytics简介
UltralyticsYOLOv8YOLOv8 基于深度学习和计算机视觉领域的尖端技术,在速度和准确性方面具有无与伦比的性能。其流线型设计使其适用于各种应用,并可轻松适应从边缘设备到云 API 等不同硬件平台。链接
安装教程
作为第三方python包直接调用
#Install the ultralytics package from PyPI
pip install ultralytics
github 源码安装
# 普通安装
git clone https://github.com/ultralytics/ultralytics.git
# 极市平台可以使用托管平台加速下载
git clone https://gitclone.com/github.com/ultralytics/ultralytics.git
cd ultralytics
pip install e .
验证安装
import ultralytics
ultralytics.checks()
Ultralytics YOLOv8.1.23 🚀 Python-3.10.12 torch-2.1.0+cu121 CUDA:0 (Tesla T4, 15102MiB)
Setup complete ✅ (2 CPUs, 12.7 GB RAM, 26.3/78.2 GB disk)
工具使用
- 概览
- 通过参数文件加载模型行
- 通过权重文件加载模型
- 模型训练
- 模型测试
- 模型预测
- 导出ONNX
from ultralytics import YOLO# 根据yaml文件构建模型
model = YOLO("yolov8n.yaml")# 加载预训练模型
model = YOLO("yolov8n.pt")# 使用 'coco8.yaml' 数据集训练3个epochs
results = model.train(data="coco8.yaml", epochs=3)# 在验证集上评估模型(coco8.yaml中有设置)
results = model.val()# 利用模型预测一张图像
# result 中包含原始图像、边界框坐标、边界框相对坐标、置信度、类别等
results = model("https://ultralytics.com/images/bus.jpg")# Export the model to ONNX format
success = model.export(format="onnx")
模型训练
YOLO 模型的训练设置包括训练过程中使用的各种超参数和配置。这些设置会影响模型的性能、速度和准确性。关键的训练设置包括批量大小、学习率、动量和权重衰减。此外,优化器、损失函数和训练数据集组成的选择也会影响训练过程。对这些设置进行仔细的调整和实验对于优化性能至关重要。
模型预测
- 多功能性:能够对图像、视频甚至实时流进行推断。
- 性能:专为实时、高速处理而设计,同时不影响精度。
- 易用性:直观的Python 和CLI 界面,便于快速部署和测试。
- 高度可定制:各种设置和参数可根据您的具体要求调整模型的推理行为
YOLOv8 可以处理不同类型的输入源进行推理,如下表所示。输入源包括静态图像、视频流和各种数据格式。表中还标明了每种输入源是否可以在流模式下使用参数 stream=True ✅.流模式有利于处理视频或实时流,因为它会创建一个结果生成器,而不是将所有帧加载到内存中。
训练环境设置
Ultralytics 库提供了一个功能强大的设置管理系统,可对实验进行精细控制。通过使用 SettingsManager 设在 ultralytics.utils 通过 YAML 模块,用户可以随时访问和修改自己的设置。这些设置存储在 YAML 文件中,可直接在Python 环境中或通过命令行界面 (CLI) 查看或修改。
- 检查设置
from ultralytics import settings# View all settings
print(settings)# Return a specific setting
value = settings["runs_dir"]
- 修改设置
from ultralytics import settings# Update a setting
settings.update({"runs_dir": "/path/to/runs"})# Update multiple settings
settings.update({"runs_dir": "/path/to/runs", "tensorboard": False})# Reset settings to default values
settings.reset()
- 环境参数
极市平台-安全帽检测
.sh文件
#run.sh
# conda init bash
# conda activate ultralytics
rm -r /project/train/src_repo/dataset
#创建数据集相关文件夹
mkdir /project/train/src_repo/dataset
mkdir /project/train/src_repo/dataset/Annotations
mkdir /project/train/src_repo/dataset/images
mkdir /project/train/src_repo/dataset/ImageSets
mkdir /project/train/src_repo/dataset/labels
mkdir /project/train/src_repo/dataset/ImageSets/Maincp /home/data/831/*.xml /project/train/src_repo/dataset/Annotations
cp /home/data/831/*.jp