本页面记录了 YOLOv5 中可用的外部集成,重点关注实验跟踪平台和部署选项。这些集成使您能够监控训练、可视化结果、管理模型,并在生产环境中部署训练好的模型。有关部署细节的相关信息,请参阅 部署。
YOLOv5 与流行的实验跟踪平台无缝集成,这些平台可以帮助您监控、比较和可视化训练运行。
来源:utils/loggers/__init__.py18-20 utils/loggers/__init__.py77-156
YOLOv5 集成系统的核心是 utils/loggers/__init__.py 文件中的 Loggers 类。此类负责初始化和管理与各种日志记录平台的连接。
来源:utils/loggers/__init__.py78-347 utils/loggers/wandb/wandb_utils.py33-196 utils/loggers/clearml/clearml_utils.py65-228
下图展示了在训练和验证过程中,数据如何从 YOLOv5 流向外部跟踪平台。
来源:utils/loggers/__init__.py171-339
Weights & Biases 是一个流行的实验跟踪平台,可让您可视化和比较模型的性能,记录超参数,并与团队共享结果。
主要功能
注意: YOLOv5 中的 WandB 集成已被弃用,将在未来的版本中移除。建议用户使用官方的 Ultralytics 集成。
要启用 WandB 日志记录,请确保已安装 wandb 包,并在训练命令中添加 --wandb。
来源:utils/loggers/__init__.py124-129 utils/loggers/wandb/wandb_utils.py1-4 utils/loggers/wandb/wandb_utils.py33-196
ClearML 是一个开源 MLOps 平台,提供实验跟踪、数据集管理和模型部署功能。
主要功能
clearml-data 进行数据集版本控制要将 ClearML 用于 YOLOv5
pip install clearmlclearml-init--clearml。您还可以使用 ClearML 进行数据集版本控制。
然后在训练中使用数据集。
来源:utils/loggers/__init__.py132-144 utils/loggers/clearml/clearml_utils.py65-228 utils/loggers/clearml/README.md1-233
TensorBoard 是一个 TensorFlow 的可视化工具包,也可与 PyTorch 一起使用。YOLOv5 支持将指标、图像和模型图记录到 TensorBoard。
主要功能
TensorBoard 在 YOLOv5 中是默认启用的。要访问 TensorBoard,请运行:
来源:utils/loggers/__init__.py119-122 utils/loggers/__init__.py270-273
Comet ML 提供实验跟踪、数据集管理和超参数优化等功能。
主要功能
要将 Comet ML 用于 YOLOv5
pip install comet_ml--comet。来源:utils/loggers/__init__.py147-156 utils/loggers/comet/README.md1-287
YOLOv5 提供使用 CSV 和 NDJSON 文件格式的本地日志记录选项。这些是默认启用的,并将训练和验证指标存储在运行输出目录中。
results.csv。results.ndjson。来源:utils/loggers/__init__.py255-268
YOLOv5 包含用于在生产环境中部署模型的集成。
来源:utils/flask_rest_api/README.md1-86 utils/triton.py1-91
YOLOv5 包含一个基于 Flask 的 REST API,用于通过 HTTP 端点提供模型。这提供了一种将 YOLOv5 目标检测功能集成到 Web 应用程序或服务中的简单方法。
主要功能
要使用 Flask REST API
pip install Flaskhttp://:5000/v1/object-detection/yolov5s
API 以 JSON 格式返回检测结果,包括类别 ID、置信度分数和边界框坐标。
来源:utils/flask_rest_api/README.md1-86
NVIDIA Triton Inference Server 是一个用于大规模部署 AI 模型的平台。YOLOv5 通过 TritonRemoteModel 类与 Triton 集成。
主要功能
TritonRemoteModel 类提供了与 Triton 服务器上托管的模型进行交互的 Python 客户端。
YOLOv5 包含用于持续集成的 GitHub Actions 工作流,以确保代码质量和功能。
主要功能
用于链接检查的主要工作流定义在 .github/workflows/links.yml 中,并每天运行以确保所有文档链接保持有效。
来源:.github/workflows/links.yml1-83
YOLOv5 提供了与流行的实验跟踪平台和部署选项的强大集成。下表总结了可用的集成。
| 类别 | 集成 | 描述 |
|---|---|---|
| 实验跟踪 | Weights & Biases | 记录指标、图像和模型工件 |
| 实验跟踪 | ClearML | 跟踪实验和管理数据集 |
| 实验跟踪 | TensorBoard | 可视化训练指标和模型图 |
| 实验跟踪 | Comet ML | 跟踪实验和优化超参数 |
| 实验跟踪 | CSV/NDJSON | 本地记录训练指标 |
| 部署 | Flask REST API | 通过 HTTP 端点提供模型 |
| 部署 | Triton 推理服务器 | 为生产扩展模型推理 |
| 开发 | GitHub Actions | 用于代码质量的 CI/CD 工作流 |
这些集成使 YOLOv5 成为研究和生产环境的通用框架,实现了从训练到部署的无缝工作流。