Ultralytics-中文文档-十五-

Ultralytics 中文文档(十五)

Explorer GUI

原文:docs.ultralytics.com/datasets/explorer/dashboard/

Explorer GUI 类似于使用 Ultralytics Explorer API 构建的游乐场。它允许你运行语义/向量相似度搜索、SQL 查询,甚至使用我们由 LLMs 提供支持的自然语言查询功能。

Explorer Dashboard Screenshot 1

www.youtube.com/embed/3VryynorQeo?start=306

观看: Ultralytics Explorer 仪表板概述

安装

pip  install  ultralytics[explorer] 

注意

问 AI 功能使用 OpenAI 运行,因此在首次运行 GUI 时会提示你设置 OpenAI 的 API 密钥。你可以像这样设置它 - yolo settings openai_api_key="..."

向量语义相似度搜索

语义搜索是一种寻找与给定图像相似图像的技术。其基于相似图像具有类似嵌入的思想。在用户界面中,你可以选择一个或多个图像,并搜索与它们相似的图像。当你想要找到与给定图像类似的图像或一组表现不佳的图像时,这将非常有用。

例如:在这个 VOC 探索仪表板中,用户像这样选择了几张飞机图像:

Explorer Dashboard Screenshot 2

在执行相似性搜索时,你应该看到类似的结果:

Explorer Dashboard Screenshot 3

问 AI

这使你可以使用自然语言编写筛选数据集的方式,无需精通编写 SQL 查询。我们的 AI 动力查询生成器将在幕后自动生成查询。例如 - 你可以说 - "显示具有一人和两只狗的 100 张图像。也可以有其他物体",它会内部生成查询并显示这些结果。例如,要求“显示 10 张仅有 5 人的图像”时,你将看到如下结果:

Explorer Dashboard Screenshot 4

注意:这是在幕后使用 LLMs 运行的,因此结果是概率性的,有时可能会出错。

在 CV 数据集上运行 SQL 查询

你可以在数据集上运行 SQL 查询来进行筛选。即使只提供 WHERE 子句也是有效的。例如,以下 SQL 查询仅显示至少有一个人和一只狗的图像:

WHERE  labels  LIKE  '%person%'  AND  labels  LIKE  '%dog%' 

Explorer Dashboard Screenshot 5

这是使用 Explorer API 构建的演示版。你可以使用 API 构建你自己的探索性笔记本或脚本,以深入了解你的数据集。在这里了解更多关于 Explorer API 的信息。

常见问题

什么是 Ultralytics Explorer GUI 以及如何安装它?

Ultralytics Explorer GUI 是一个强大的界面,使用 Ultralytics Explorer API 解锁高级数据探索功能。它允许您通过大型语言模型(LLMs)驱动的 Ask AI 功能运行语义/向量相似性搜索、SQL 查询和自然语言查询。

要安装 Explorer GUI,可以使用 pip:

pip  install  ultralytics[explorer] 

注意:要使用 Ask AI 功能,您需要设置 OpenAI API 密钥:yolo settings openai_api_key="..."

Ultralytics Explorer GUI 中的语义搜索功能如何工作?

Ultralytics Explorer GUI 中的语义搜索功能允许您根据其嵌入找到与给定图像类似的图像。这种技术对于识别和探索共享视觉相似性的图像非常有用。要使用此功能,请在 UI 中选择一个或多个图像,并执行搜索相似图像的操作。结果将显示与所选图像密切相似的图像,便于高效的数据集探索和异常检测。

通过访问功能概述部分,了解更多关于语义搜索和其他功能的信息。

我可以在 Ultralytics Explorer GUI 中使用自然语言来过滤数据集吗?

是的,借助由大型语言模型(LLMs)驱动的 Ask AI 功能,您可以使用自然语言查询来过滤您的数据集。您无需精通 SQL。例如,您可以询问“显示具有恰好一个人和 2 只狗的 100 张图像。还可以有其他对象”,AI 将在幕后生成适当的查询以提供所需的结果。

在这里查看自然语言查询的示例。

如何在 Ultralytics Explorer GUI 上使用 SQL 查询数据集?

Ultralytics Explorer GUI 允许您直接在数据集上运行 SQL 查询以高效过滤和管理数据。要运行查询,请在 GUI 中导航到 SQL 查询部分并编写您的查询。例如,要显示至少有一个人和一只狗的图像,您可以使用:

WHERE  labels  LIKE  '%person%'  AND  labels  LIKE  '%dog%' 

您还可以仅提供 WHERE 子句,使查询过程更灵活。

欲了解更多详细信息,请参阅 SQL 查询部分。

使用 Ultralytics Explorer GUI 进行数据探索的好处是什么?

Ultralytics Explorer GUI 通过语义搜索、SQL 查询和通过 Ask AI 功能进行的自然语言交互增强了数据探索。这些功能使用户能够:- 高效地查找视觉相似的图像。- 使用复杂的 SQL 查询过滤数据集。- 利用 AI 执行自然语言搜索,无需深入的 SQL 专业知识。

这些功能使其成为开发人员、研究人员和数据科学家寻求深入了解其数据集的多功能工具。

在 Explorer GUI 文档中进一步探索这些功能。

Ultralytics YOLOv5 全面指南

原文:docs.ultralytics.com/yolov5/

Ultralytics YOLOv5 v7.0 横幅

YOLOv5 CI YOLOv5 引用 Docker 拉取

在 Gradient 上运行 在 Colab 中打开 在 Kaggle 中打开

欢迎来到 Ultralytics 的 YOLOv5🚀 文档!YOLOv5,这一革命性的"You Only Look Once"目标检测模型的第五代,旨在实时提供高速、高精度的结果。

基于 PyTorch 构建,这个强大的深度学习框架因其多功能性、易用性和高性能而广受欢迎。我们的文档将指导您完成安装过程,解释模型的架构细节,展示各种使用案例,并提供一系列详细的教程。这些资源将帮助您充分利用 YOLOv5 在计算机视觉项目中的潜力。让我们开始吧!

探索与学习

这里是一系列全面的教程,将指导您了解 YOLOv5 的不同方面。

  • 训练自定义数据 🚀 推荐:学习如何在您的自定义数据集上训练 YOLOv5 模型。

  • 最佳训练结果的技巧 ☘️:揭示优化模型训练过程的实用技巧。

  • 多 GPU 训练:学习如何利用多个 GPU 加快训练速度。

  • PyTorch Hub 🌟 新功能:学习如何通过 PyTorch Hub 加载预训练模型。

  • TFLite、ONNX、CoreML、TensorRT 导出 🚀:了解如何将您的模型导出到不同的格式。

  • 测试时间增强(TTA):探索如何使用 TTA 提高模型预测的准确性。

  • 模型集成:学习将多个模型组合以提升性能的策略。

  • 模型修剪/稀疏性:了解修剪和稀疏性概念,以及如何创建更高效的模型。

  • 超参数演进:探索自动化超参数调整过程,以提升模型性能。

  • 冻结层的迁移学习:学习如何在 YOLOv5 中通过冻结层实现迁移学习。

  • 架构摘要 🌟 深入了解 YOLOv5 模型的结构细节。

  • Roboflow 用于数据集:了解如何利用 Roboflow 进行数据集管理、标注和主动学习。

  • ClearML 日志记录 🌟 学习如何集成 ClearML,在模型训练过程中实现高效的日志记录。

  • YOLOv5 与 Neural Magic:了解如何使用 Neural Magic 的 Deepsparse 对 YOLOv5 模型进行剪枝和量化。

  • Comet 日志记录 🌟 新功能:探索如何利用 Comet 实现改进的模型训练日志记录。

支持的环境

Ultralytics 提供一系列预装有必要依赖项如 CUDACUDNNPythonPyTorch 的即用环境,以快速启动你的项目。

  • 免费 GPU 笔记本: 在 Gradient 上运行 在 Colab 上打开 在 Kaggle 上打开

  • Google Cloud: GCP 快速入门指南

  • 亚马逊: AWS 快速入门指南

  • Azure: AzureML 快速入门指南

  • Docker: Docker 快速入门指南 Docker 拉取

项目状态

YOLOv5 CI

这个徽章表示所有 YOLOv5 GitHub Actions 持续集成(CI)测试都成功通过。这些 CI 测试严格检查 YOLOv5 在训练,验证,推理,导出和基准测试等各个关键方面的功能和性能。它们确保在 macOS,Windows 和 Ubuntu 上的一致和可靠的运行,每 24 小时和每次新提交都进行测试。

Ultralytics GitHub space Ultralytics LinkedIn space Ultralytics Twitter space Ultralytics YouTube space Ultralytics TikTok space Ultralytics BiliBili space Ultralytics Discord

连接和贡献

你的 YOLOv5 之旅不必是孤独的。加入我们在 GitHub 上充满活力的社区,通过 LinkedIn 连接专业人士,分享你的成果在 Twitter,并在 YouTube 上找到教育资源。在 TikTokBiliBili 关注我们获取更多互动内容。

想要做出贡献吗?我们欢迎各种形式的贡献,从代码改进和 bug 报告到文档更新。查看我们的贡献指南获取更多信息。

我们很期待看到您将如何创新地使用 YOLOv5。快来吧,进行探索,彻底改变您的计算机视觉项目!🚀

常见问题

Ultralytics YOLOv5 的关键特性是什么?

Ultralytics YOLOv5 因其高速和高准确性的目标检测能力而闻名。基于 PyTorch 构建,它灵活易用,适用于各种计算机视觉项目。关键特性包括实时推断、支持诸如测试时增强(TTA)和模型集成等多种训练技巧,以及与 TFLite、ONNX、CoreML 和 TensorRT 等导出格式的兼容性。要深入了解如何通过 Ultralytics YOLOv5 提升项目,请浏览我们的 TFLite、ONNX、CoreML、TensorRT 导出指南。

如何在我的数据集上训练自定义 YOLOv5 模型?

在您的数据集上训练自定义 YOLOv5 模型涉及几个关键步骤。首先,按照要求的格式准备数据集,并标注标签。然后,配置 YOLOv5 训练参数,并使用 train.py 脚本开始训练过程。要深入了解此过程,请查阅我们的训练自定义数据指南。它提供了逐步指导,确保针对您特定用例的最佳结果。

为什么应该选择 Ultralytics YOLOv5 而不是像 RCNN 这样的其他目标检测模型?

与基于区域的 RCNN 的多次传递相比,Ultralytics YOLOv5 在实时目标检测中因其卓越的速度和准确性而被优先选择。YOLOv5 一次性处理整个图像,因此比 RCNN 更快。此外,YOLOv5 与各种导出格式的无缝集成以及广泛的文档使其成为初学者和专业人士的优秀选择。在我们的架构摘要中了解更多关于架构优势的信息。

在训练期间如何优化 YOLOv5 模型性能?

优化 YOLOv5 模型性能涉及调整各种超参数和应用数据增强、迁移学习等技术。Ultralytics 提供了关于超参数进化和修剪/稀疏化的全面资源,以提高模型效率。在我们的最佳训练结果技巧指南中,您可以发现实用的提示,为训练期间实现最佳性能提供行动建议。

YOLOv5 应用程序支持哪些运行环境?

Ultralytics YOLOv5 支持各种环境,包括 Gradient 上的免费 GPU 笔记本、Google Colab、Kaggle,以及 Google Cloud、Amazon AWS 和 Azure 等主要云平台。还提供 Docker 映像,方便设置。有关设置这些环境的详细指南,请查看我们的支持环境部分,其中包含每个平台的逐步说明。

YOLOv5 快速入门 🚀

原文:docs.ultralytics.com/yolov5/quickstart_tutorial/

踏上你的实时目标检测领域之旅,探索 YOLOv5 的动态世界!这篇指南旨在成为 AI 爱好者和专业人士掌握 YOLOv5 的全面起点。从初始设置到高级训练技巧,我们为你全程护航。通过本指南,你将掌握自信地将 YOLOv5 应用到项目中的知识。让我们点燃引擎,一起飞向 YOLOv5 的世界!

安装

准备启动,克隆存储库并建立环境。这确保安装了所有必要的 要求。确保你准备好起飞,拥有 Python>=3.8.0PyTorch>=1.8

git  clone  https://github.com/ultralytics/yolov5  # clone repository
cd  yolov5
pip  install  -r  requirements.txt  # install dependencies 

使用 PyTorch Hub 进行推断

体验 YOLOv5 PyTorch Hub 推断的简便性,其中 模型 无缝地从最新的 YOLOv5 发布 下载。

import torch

# Model loading
model = torch.hub.load("ultralytics/yolov5", "yolov5s")  # Can be 'yolov5n' - 'yolov5x6', or 'custom'

# Inference on images
img = "https://ultralytics.com/images/zidane.jpg"  # Can be a file, Path, PIL, OpenCV, numpy, or list of images

# Run inference
results = model(img)

# Display results
results.print()  # Other options: .show(), .save(), .crop(), .pandas(), etc. 

使用 detect.py 进行推断

利用 detect.py 在各种来源上进行多功能推断。它会自动从最新的 YOLOv5 发布 中获取 模型,并轻松保存结果。

python  detect.py  --weights  yolov5s.pt  --source  0  # webcam
  img.jpg  # image
  vid.mp4  # video
  screen  # screenshot
  path/  # directory
  list.txt  # list of images
  list.streams  # list of streams
  'path/*.jpg'  # glob
  'https://youtu.be/LNwODJXcvt4'  # YouTube
  'rtsp://example.com/media.mp4'  # RTSP, RTMP, HTTP stream 

训练

使用以下指南复制 YOLOv5 的 COCO 基准测试。必要的 模型数据集 直接从最新的 YOLOv5 发布 中提取。在 V100 GPU 上训练 YOLOv5n/s/m/l/x 通常需要 1/2/4/6/8 天(请注意,多 GPU 设置速度更快)。通过使用最大可能的 --batch-size 或使用 YOLOv5 AutoBatch 功能的 --batch-size -1 来最大化性能。以下批处理大小适用于 V100-16GB GPU。

python  train.py  --data  coco.yaml  --epochs  300  --weights  ''  --cfg  yolov5n.yaml  --batch-size  128
  yolov5s  64
  yolov5m  40
  yolov5l  24
  yolov5x  16 

YOLO 训练曲线

总之,YOLOv5 不仅是一款用于目标检测的最先进工具,也证明了机器学习在通过视觉理解改变我们与世界互动方式中的力量。当您在本指南中深入了解并开始将 YOLOv5 应用到您的项目中时,请记住您是技术革命的前沿,能够取得非凡的成就。如果您需要来自同行先驱的进一步见解或支持,欢迎访问我们的 GitHub 代码库,这里是开发者和研究人员繁荣的社区所在。继续探索,不断创新,并享受 YOLOv5 的奇迹。愉快检测! 🌠🔍

YOLOv5 🚀 在 AWS 深度学习实例上的完整指南

原文:docs.ultralytics.com/yolov5/environments/aws_quickstart_tutorial/

为新手设置高性能深度学习环境可能有些令人望而生畏,但不用担心! 🛠️ 通过本指南,我们将为您介绍如何在 AWS 深度学习实例上快速启动和运行 YOLOv5。利用亚马逊网络服务(AWS)的强大功能,即使是对机器学习一无所知的人也能快速且经济有效地入门。AWS 平台的可伸缩性非常适合实验和生产部署。

YOLOv5 的其他快速开始选项包括我们的 Colab Notebook 在 Colab 中打开 在 Kaggle 中打开,GCP 深度学习 VM 和我们在 Docker Hub 的 Docker 镜像 Docker Pulls

第 1 步:AWS 控制台登录

首先创建一个帐户或登录到 AWS 控制台,网址是aws.amazon.com/console/。登录后,选择EC2服务以管理和设置您的实例。

控制台

第 2 步:启动您的实例

在 EC2 控制台中,您将找到启动实例按钮,这是创建新虚拟服务器的入口。

启动

选择正确的 Amazon Machine Image (AMI)

在这里,您可以选择操作系统和软件堆栈来配置您的实例。在搜索字段中键入“深度学习”,然后选择最新的基于 Ubuntu 的深度学习 AMI,除非您的需求另有规定。亚马逊的深度学习 AMI 预先安装了流行框架和 GPU 驱动程序,以简化设置过程。

选择 AMI

选择实例类型

对于深度学习任务,通常建议选择 GPU 实例类型,因为它可以极大加速模型训练。在考虑实例大小时,请记住模型的内存需求不应超过实例提供的限制。

注意: 您的模型大小应该是选择实例的一个因素。如果您的模型超过实例可用的 RAM,请选择具有足够内存的不同实例类型。

有关可用 GPU 实例类型的列表,请访问EC2 实例类型,特别是在加速计算下。

选择类型

欲了解更多关于 GPU 监控和优化的信息,请参阅 GPU 监控和优化。有关定价信息,请参阅 按需定价竞价定价

配置你的实例

Amazon EC2 竞价实例为运行应用程序提供了一种成本效益的方式,因为它们允许你以低于标准成本的价格出价未使用的容量。如果希望在竞价实例停止时保留数据,选择持久请求。

竞价请求

在启动之前,请记得在步骤 4-7 中根据需要调整你实例的其余设置和安全配置。

步骤 3:连接到你的实例

一旦你的实例运行起来,选择其复选框并点击连接以访问 SSH 信息。使用显示的 SSH 命令在你喜欢的终端中建立连接到你的实例。

连接

步骤 4:运行 YOLOv5

登录到你的实例后,现在可以在 Python 3.8 或更高版本的环境中克隆 YOLOv5 仓库并安装依赖项。YOLOv5 的模型和数据集将自动从最新的 发布 下载。

git  clone  https://github.com/ultralytics/yolov5  # clone repository
cd  yolov5
pip  install  -r  requirements.txt  # install dependencies 

环境设置完成后,你可以开始训练、验证、执行推理并导出你的 YOLOv5 模型:

# Train a model on your data
python  train.py

# Validate the trained model for Precision, Recall, and mAP
python  val.py  --weights  yolov5s.pt

# Run inference using the trained model on your images or videos
python  detect.py  --weights  yolov5s.pt  --source  path/to/images

# Export the trained model to other formats for deployment
python  export.py  --weights  yolov5s.pt  --include  onnx  coreml  tflite 

可选附加项

要增加更多交换内存,对于大型数据集来说可能是个救星,请运行:

sudo  fallocate  -l  64G  /swapfile  # allocate 64GB swap file
sudo  chmod  600  /swapfile  # modify permissions
sudo  mkswap  /swapfile  # set up a Linux swap area
sudo  swapon  /swapfile  # activate swap file
free  -h  # verify swap memory 

至此! 🎉 你已成功创建了一个 AWS 深度学习实例并运行了 YOLOv5. 无论你是刚开始进行目标检测,还是为生产环境扩展,这个设置都能帮助你实现机器学习的目标。祝你训练、验证和部署愉快!如果在过程中遇到任何问题,强大的 AWS 文档和活跃的 Ultralytics 社区都会为你提供支持。

训练自定义数据

原文:docs.ultralytics.com/yolov5/tutorials/train_custom_data/

📚 本指南解释了如何使用YOLOv5训练您自己的自定义数据集 🚀。

在开始之前

克隆存储库并在Python>=3.8.0环境中安装requirements.txt,包括PyTorch>=1.8。从最新的 YOLOv5 版本自动下载模型数据集

git  clone  https://github.com/ultralytics/yolov5  # clone
cd  yolov5
pip  install  -r  requirements.txt  # install 

自定义数据训练

Ultralytics 主动学习

创建一个自定义模型来检测您的对象是一个迭代过程,包括收集和组织图像,标记您感兴趣的对象,训练模型,部署到实际环境进行预测,然后使用部署模型收集边界情况示例,以重复和改进。

许可协议

Ultralytics 提供两种许可选项:

欲了解更多详情,请参阅Ultralytics 许可协议

YOLOv5 模型必须在标记数据上进行训练,以学习该数据中的对象类别。在开始训练之前,有两种创建数据集的选项:

选项 1:创建一个Roboflow 数据集

1.1 收集图像

您的模型将通过示例学习。在野外场景训练模型的图像非常重要。理想情况下,您将收集一系列与最终部署项目相同配置的图像(相机、角度、光线等)。

如果这不可行,您可以从公共数据集开始训练初始模型,然后在推断期间从实际场景中采样图像来迭代改进您的数据集和模型。

1.2 创建标签

一旦收集了图像,您需要注释感兴趣的对象,以创建模型的真实性数据。

YOLOv5 准确性

Roboflow 标注是一个简单的基于 Web 的工具,用于管理和标记您的图像及与您的团队合作,并以YOLOv5 的标注格式导出它们。

1.3 为 YOLOv5 准备数据集

无论您是否使用Roboflow 标注您的图像,您都可以使用它将您的数据集转换为 YOLO 格式,创建一个 YOLOv5 YAML 配置文件,并将其托管以供导入到您的训练脚本中。

创建一个免费的 Roboflow 账户并将您的数据集上传到Public工作区,在未标注的图像上标注,然后生成并导出一个 YOLOv5 Pytorch 格式的数据集版本。

注意:YOLOv5 在训练期间进行在线增强,因此我们不建议在 Roboflow 中应用任何增强步骤用于 YOLOv5 的训练。但我们建议应用以下预处理步骤:

推荐的预处理步骤

  • 自动方向 - 从图像中去除 EXIF 方向信息。

  • 调整大小(拉伸) - 到您模型的方形输入大小(640x640 是 YOLOv5 的默认设置)。

生成一个版本将为您的数据集提供一个快照,这样您就可以随时回顾并比较将来模型训练运行的结果,即使您添加了更多图像或稍后更改了其配置。

以 YOLOv5 格式导出

YOLOv5 Pytorch格式导出,然后将片段复制到您的训练脚本或笔记本中以下载您的数据集。

Roboflow 数据集下载片段

选项 2:创建一个手动数据集

2.1 创建dataset.yaml

COCO128是一个小型教程数据集的示例,由COCO train2017 的前 128 张图像组成。这些相同的 128 张图像用于训练和验证,以验证我们的训练流水线能够过拟合。下面显示的data/coco128.yaml是数据集配置文件,定义了 1)数据集根目录pathtrain/val/test图像目录(或带图像路径的*.txt文件)的相对路径,以及 2)类别names字典:

# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path:  ../datasets/coco128  # dataset root dir
train:  images/train2017  # train images (relative to 'path') 128 images
val:  images/train2017  # val images (relative to 'path') 128 images
test:  # test images (optional)

# Classes (80 COCO classes)
names:
  0:  person
  1:  bicycle
  2:  car
  # ...
  77:  teddy bear
  78:  hair drier
  79:  toothbrush 

2.2 创建标签

使用标注工具为您的图像添加标签后,将标签导出为YOLO 格式,每张图像生成一个*.txt文件(如果图像中没有对象,则不需要*.txt文件)。*.txt文件的规范如下:

  • 每个对象一行

  • 每行是class x_center y_center width height格式。

  • 盒子坐标必须以归一化的 xywh 格式表示(从 0 到 1)。如果您的框是以像素为单位的,请将x_centerwidth除以图像宽度,将y_centerheight除以图像高度。

  • 类别编号是从零开始的。

Roboflow 标注

与上述图像对应的标签文件包含 2 个人(类0)和一条领带(类27):

Roboflow 数据集预处理

2.3 组织目录

根据以下示例组织您的训练和验证图像及标签。YOLOv5 假定/coco128目录在与/yolov5目录相邻/datasets目录内。YOLOv5 会自动定位每个图像路径中/images/的最后一个实例,以获取相应的标签。例如:

../datasets/coco128/images/im0.jpg  # image
../datasets/coco128/labels/im0.txt  # label 

YOLOv5 数据集结构

3. 选择模型

选择一个预训练模型开始训练。这里我们选择了YOLOv5s,这是可用的第二小和最快的模型。请查看我们的 README 表格以获取所有模型的详细比较。

YOLOv5 模型

4. 训练

通过指定数据集、批大小、图像大小以及预训练模型--weights yolov5s.pt(推荐)或随机初始化模型--weights '' --cfg yolov5s.yaml(不推荐),在 COCO128 数据集上训练 YOLOv5s 模型。预训练权重会自动从最新的 YOLOv5 发布中下载。

python  train.py  --img  640  --epochs  3  --data  coco128.yaml  --weights  yolov5s.pt 

提示

💡 添加--cache ram--cache disk以加快训练速度(需要大量 RAM/磁盘资源)。

提示

💡 始终从本地数据集进行训练。像 Google Drive 这样的挂载或网络驱动器会非常慢。

所有训练结果都保存在runs/train/目录下,每个运行生成一个递增的运行目录,例如runs/train/exp2runs/train/exp3等。更多细节请查看我们教程笔记本的训练部分。在 Colab 中打开 在 Kaggle 中打开

5. 可视化

Comet 日志记录和可视化 🌟 NEW

Comet现在已完全集成到 YOLOv5 中。实时跟踪和可视化模型指标,保存超参数、数据集和模型检查点,并使用Comet 自定义面板可视化模型预测!Comet 确保您始终掌握工作进展,并轻松分享结果,促进各种规模团队的协作!

开始很简单:

pip  install  comet_ml  # 1\. install
export  COMET_API_KEY=<Your  API  Key>  # 2\. paste API key
python  train.py  --img  640  --epochs  3  --data  coco128.yaml  --weights  yolov5s.pt  # 3\. train 

要了解有关此集成支持的所有 Comet 功能的更多信息,请查看 Comet 教程。如果您想了解更多关于 Comet 的信息,请访问我们的文档。通过尝试 Comet Colab 笔记本来开始吧:在 Colab 中打开

YOLO UI

ClearML 日志记录和自动化 🌟 NEW

ClearML 完全集成到 YOLOv5 中,用于跟踪您的实验、管理数据集版本,甚至远程执行训练运行。要启用 ClearML:

  • pip install clearml

  • 运行clearml-init以连接到 ClearML 服务器

您将获得实验管理器的所有预期功能:实时更新、模型上传、实验比较等等。但是 ClearML 还会跟踪未提交的更改和安装的软件包等。由于这一点,ClearML 任务(我们称之为实验)在不同的机器上也是可重现的!只需额外的 1 行代码,我们就可以在队列上安排一个 YOLOv5 训练任务,并由任意数量的 ClearML 代理(工作节点)执行。

您可以使用 ClearML Data 版本化您的数据集,然后通过其唯一 ID 简单地传递给 YOLOv5。这将帮助您在不增加额外麻烦的情况下跟踪您的数据。查看 ClearML 教程以获取详细信息!

ClearML 实验管理 UI

本地日志记录

训练结果会自动使用TensorboardCSV记录器记录到runs/train,每次新的训练都会创建一个新的实验目录,如runs/train/exp2runs/train/exp3等。

此目录包含训练和验证统计数据、马赛克、标签、预测和增强马赛克,以及包括精确率-召回率 (PR) 曲线和混淆矩阵在内的指标和图表。

本地日志结果

训练完成后,结果文件results.csv会在每个时期后更新,并在训练完成后绘制为results.png(下图)。您也可以手动绘制任何results.csv文件:

from utils.plots import plot_results

plot_results("path/to/results.csv")  # plot 'results.csv' as 'results.png' 

results.png

下一步

一旦您的模型训练完成,您可以使用最佳检查点best.pt

  • 在新图像和视频上运行CLI或 Python 推理

  • 在训练、验证和测试数据集上验证精度

  • 导出到 TensorFlow、Keras、ONNX、TFlite、TF.js、CoreML 和 TensorRT 格式

  • 调整超参数以提高性能

  • 改进您的模型,通过采样真实世界图像并将其添加到数据集中

支持的环境

Ultralytics 提供一系列预安装了关键依赖项如CUDACUDNNPythonPyTorch的即用环境,为您的项目启动提供帮助。

  • 免费 GPU 笔记本: 在 Gradient 上运行 在 Colab 中打开 在 Kaggle 中打开

  • Google Cloud: GCP 快速入门指南

  • Amazon:AWS 快速入门指南

  • Azure:AzureML 快速入门指南

  • Docker:Docker 快速入门指南 Docker Pulls

项目状态

YOLOv5 CI

此徽章表示所有 YOLOv5 GitHub Actions 持续集成(CI)测试都已成功通过。这些 CI 测试严格检查 YOLOv5 在各个关键方面的功能和性能:训练验证推断导出基准测试。它们确保在 macOS、Windows 和 Ubuntu 上的一致和可靠操作,每 24 小时和每次新提交后都进行测试。

常见问题解答

我如何在自定义数据集上训练 YOLOv5?

训练自定义数据集的 YOLOv5 涉及以下几个步骤:

  1. 准备数据集:收集和标记图像。使用像 Roboflow 这样的工具来组织数据并以 YOLOv5 格式 导出。

  2. 设置环境:克隆 YOLOv5 仓库并安装依赖项:

    git  clone  https://github.com/ultralytics/yolov5
    cd  yolov5
    pip  install  -r  requirements.txt 
    
  3. 创建数据集配置:编写 dataset.yaml 文件定义训练/验证路径和类名。

  4. 训练模型

    python  train.py  --img  640  --epochs  3  --data  dataset.yaml  --weights  yolov5s.pt 
    

我可以使用什么工具来注释我的 YOLOv5 数据集?

您可以使用 Roboflow Annotate,这是一个直观的基于 Web 的图像标注工具。支持团队协作,并支持 YOLOv5 格式的导出。收集图像后,使用 Roboflow 可以高效地创建和管理注释。其他选项包括像 LabelImg 和 CVAT 这样的本地标注工具。

为什么应该使用 Ultralytics HUB 训练我的 YOLO 模型?

Ultralytics HUB 提供了一个端到端平台,用于训练、部署和管理 YOLO 模型,无需深入的编码技能。使用 Ultralytics HUB 的好处包括:

  • 简易模型训练:通过预配置环境简化训练过程。

  • 数据管理:轻松管理数据集和版本控制。

  • 实时监控:集成像 Comet 这样的工具进行实时度量跟踪和可视化。

  • 协作:非常适合共享资源和轻松管理的团队项目。

如何将我的标注数据转换为 YOLOv5 格式?

使用 Roboflow 将标注数据转换为 YOLOv5 格式的步骤:

  1. 上传您的数据集(Upload Your Dataset)至 Roboflow 工作空间。

  2. 标记图像(Label Images)如果尚未标记。

  3. 生成并导出以 YOLOv5 Pytorch 格式的数据集。确保应用像自动定向和调整大小(拉伸)到方形输入尺寸(例如 640x640)的预处理步骤。

  4. 下载数据集 并将其集成到您的 YOLOv5 训练脚本中。

在商业应用中使用 YOLOv5 的许可选项是什么?

Ultralytics 提供两种许可选项:

  • AGPL-3.0 许可证:适用于非商业用途的开源许可,非常适合学生和爱好者。

  • 企业许可证:专为希望将 YOLOv5 集成到商业产品和服务中的企业量身定制。有关详细信息,请访问我们的 许可页面

查阅我们的指南 Ultralytics 许可 获取更多详细信息。

posted @ 2024-08-08 13:58  绝不原创的飞龙  阅读(139)  评论(0)    收藏  举报