跳至内容

Ultralytics YOLO 常见问题(FAQ)

本常见问题部分讨论用户在使用软件库时可能遇到的常见问题。 UltralyticsYOLO 库时可能遇到的常见问题。

常见问题

Ultralytics 是什么?它能提供什么?

Ultralytics 是一家计算机视觉人工智能公司,专注于最先进的物体检测和图像分割模型,主要产品为YOLO (You Only Look Once)系列。其产品包括

如何安装Ultralytics 软件包?

使用 pip 可以直接安装Ultralytics 软件包:

pip install ultralytics

如需最新开发版本,请直接从 GitHub 代码库安装:

pip install git+https://github.com/ultralytics/ultralytics.git

详细安装说明见快速入门指南

运行Ultralytics 模型的系统要求是什么?

最低要求:

  • Python 3.7+
  • PyTorch 1.7+
  • CUDA-兼容GPU (用于GPU 加速)

建议设置

  • Python 3.8+
  • PyTorch 1.10+
  • NVIDIA GPU CUDA 11.2+
  • 8GB+ 内存
  • 50GB+ 可用磁盘空间(用于数据集存储和模型训练)

有关常见问题的故障排除,请访问YOLO 常见问题页面。

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

训练自定义 YOLOv8 型:

  1. 在 YOLO 格式(图像和相应的标签 TXT 文件)。
  2. 创建一个描述数据集结构和类的 YAML 文件。
  3. 使用以下命令 Python 开始训练的代码:
from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n.yaml")  # build a new model from scratch
model = YOLO("yolov8n.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="path/to/your/data.yaml", epochs=100, imgsz=640)

如需更深入的指南,包括数据准备和高级培训选项,请参阅综合培训指南

Ultralytics 中有哪些预训练模型?

Ultralytics 为各种任务提供了多种预训练的YOLOv8 模型:

  • 目标检测: YOLOv8n, YOLOv8s, YOLOv8m, YOLOv8l, YOLOv8x
  • 实例分割: YOLOv8n-赛格, YOLOv8s-赛格, YOLOv8m-赛格, YOLOv8l-赛格, YOLOv8x-赛格
  • 分类: YOLOv8n-cls, YOLOv8s-cls, YOLOv8m-cls, YOLOv8l-cls, YOLOv8x-cls的

这些模型的大小和复杂程度各不相同,可在速度和准确性之间做出不同的权衡。探索各种预训练模型,找到最适合您项目的模型。

如何使用训练有素的Ultralytics 模型进行推理?

要使用经过训练的模型执行推理,请执行以下操作:

from ultralytics import YOLO

# Load a model
model = YOLO("path/to/your/model.pt")

# Perform inference
results = model("path/to/image.jpg")

# Process results
for r in results:
    print(r.boxes)  # print bbox predictions
    print(r.masks)  # print mask predictions
    print(r.probs)  # print class probabilities

有关批处理和视频推理等高级推理选项,请查看详细的预测指南

Ultralytics 模型能否部署在边缘设备或生产环境中?

完全正确!Ultralytics 型号专为在各种平台上进行多功能部署而设计:

  • 边缘设备:使用TensorRT 、ONNX 或OpenVINO 优化NVIDIA Jetson 或Intel Neural Compute Stick 等设备上的推理。
  • 移动:通过将模型转换为 TFLite 或 Core ML,在Android 或iOS 设备上部署。
  • 云:利用TensorFlow Serving 或PyTorch Serve 等框架进行可扩展的云部署。
  • 网络:使用ONNX.js 或TensorFlow.js 实现浏览器内推理。

Ultralytics 提供导出功能,可将模型转换为各种格式,以便部署。探索各种部署选项,找到最适合您使用情况的解决方案。

YOLOv5 和YOLOv8 有什么区别?

主要区别包括

  • 结构:YOLOv8 采用了改进的主干和机头设计,性能更强。
  • 性能:与YOLOv5 相比,YOLOv8 通常具有更高的精度和速度。
  • 任务:YOLOv8 在统一的框架内,本机支持对象检测、实例分割和分类。
  • 代码库:YOLOv8 采用更加模块化和可扩展的架构,便于定制和扩展。
  • 训练:YOLOv8 采用了先进的训练技术,如多数据集训练和超参数演化,以改进结果。

有关功能和性能指标的深入比较,请访问YOLOv5 vsYOLOv8比较页面。

如何为Ultralytics 开源项目做出贡献?

向Ultralytics 投稿是改进项目和扩展技能的好方法。以下是您的参与方式:

  1. 分叉 Ultralytics GitHub 上的存储库。
  2. 为您的功能或 bug 修复创建一个新分支。
  3. 进行更改并确保所有测试都通过。
  4. 提交拉取请求,并明确说明您的更改。
  5. 参与代码审查过程。

您还可以通过报告错误、建议功能或改进文档来作出贡献。有关详细指南和最佳实践,请参阅贡献指南

如何在Python 中安装Ultralytics 软件包?

在Python 中安装Ultralytics 软件包非常简单。使用 pip,在终端或命令提示符下运行以下命令:

pip install ultralytics

如需最先进的开发版本,请直接从 GitHub 代码库安装:

pip install git+https://github.com/ultralytics/ultralytics.git

有关特定环境的安装说明和故障排除技巧,请查阅综合快速入门指南

Ultralytics YOLO 的主要功能是什么?

Ultralytics YOLO 它拥有丰富的功能,可用于高级对象检测和图像分割:

  • 实时检测:在实时场景中高效检测物体并对其进行分类。
  • 预训练模型:访问各种预训练模型,针对不同的使用案例在速度和准确性之间取得平衡。
  • 自定义训练:利用灵活的训练管道,在自定义数据集上轻松微调模型。
  • 广泛的部署选项:将模型导出为各种格式,如TensorRT 、ONNX 和CoreML ,以便在不同平台上部署。
  • 广泛的文档:受益于全面的文档和支持性社区,指导您完成计算机视觉之旅。

访问YOLO 型号页面,深入了解不同YOLO 版本的功能和架构。

如何提高YOLO 型号的性能?

提高YOLO 模型的性能可以通过几种技术来实现:

  1. 超参数调整:使用《超参数调整指南》试验不同的超参数,优化模型性能。
  2. 数据增强:采用翻转、缩放、旋转和颜色调整等技术来增强训练数据集,提高模型的泛化能力。
  3. 迁移学习:利用预训练模型,并使用训练YOLOv8指南在特定数据集上对其进行微调。
  4. 导出为高效格式:使用导出指南将模型转换为TensorRT 或ONNX 等优化格式,以加快推理速度。
  5. 基准测试利用基准模式系统地衡量和提高推理速度和准确性。

能否在移动设备和边缘设备上部署Ultralytics YOLO 模型?

是的,Ultralytics YOLO 型号专为多功能部署而设计,包括移动和边缘设备:

  • 移动:将模型转换为 TFLite 或CoreML ,以便无缝集成到Android 或iOS 应用程序中。有关特定平台的说明,请参阅《TFLite 集成指南》和《CoreML 集成指南》
  • 边缘设备:使用TensorRT 或ONNX 在NVIDIA Jetson 等设备或其他边缘硬件上优化推理。《边缘TPU 集成指南》提供了边缘部署的详细步骤。

如需全面了解各种平台的部署策略,请查阅部署选项指南

如何使用训练有素的Ultralytics YOLO 模型进行推理?

使用训练有素的Ultralytics YOLO 模型进行推理非常简单:

  1. 加载模型:
from ultralytics import YOLO

model = YOLO("path/to/your/model.pt")
  1. 运行推理:
results = model("path/to/image.jpg")

for r in results:
    print(r.boxes)  # print bounding box predictions
    print(r.masks)  # print mask predictions
    print(r.probs)  # print class probabilities

有关批处理、视频推理和自定义预处理等高级推理技术,请参阅详细的预测指南

在哪里可以找到使用Ultralytics 的示例和教程?

Ultralytics 提供丰富的资源,帮助您入门和掌握工具:

  • 📚官方文档:全面的指南、API 参考资料和最佳实践。
  • 💻GitHub 代码库:源代码、示例脚本和社区贡献。
  • ✍️Ultralytics 博客:深度文章、使用案例和技术见解。
  • 💬社区论坛:与其他用户交流、提问和分享经验。
  • 🎥YouTube 频道:有关各种Ultralytics 主题的视频教程、演示和网络研讨会。

这些资源提供了使用Ultralytics 模型执行各种任务的代码示例、实际用例和分步指南。

如果您需要进一步帮助,请随时查阅Ultralytics 文档,或通过GitHub Issues官方论坛联系社区。



创建于 2023-11-12,更新于 2024-07-05
作者:glenn-jocher(5)

评论