一、概述
由Deci AI 开发的YOLO-NAS 是一种开创性的物体检测基础模型。它是先进的神经架构搜索技术的产物,经过精心设计,解决了以往YOLO 模型的局限性。YOLO-NAS在量化支持和准确性-延迟权衡方面有了重大改进,是物体检测领域的一次重大飞跃。
YOLO-NAS概览。 YOLO-NAS采用了量化感知块和选择性量化技术,以获得最佳性能。该模型在转换为 INT8 量化版本时,精度下降极小,比其他模型有显著提高。这些进步最终形成了一个卓越的架构,具有前所未有的目标检测能力和出色的性能。
二、主要功能
- 便于量化的基本模块: YOLO-NAS 引入了便于量化的新基本模块,解决了以往YOLO 模型的一个重大局限。
- 先进的训练和量化: YOLO-NAS 利用先进的训练方案和训练后量化来提高性能。
- AutoNAC 优化和预训练: YOLO-NAS 采用了 AutoNAC 优化技术,并在 COCO、Objects365 和Roboflow 100 等著名数据集上进行了预训练。这种预训练使其非常适合生产环境中的下游对象检测任务。
三、预训练模型
使用Ultralytics 提供的预训练YOLO-NAS 模型,体验下一代物体检测的强大功能。这些模型旨在提供一流的速度和精度性能。您可以根据自己的具体需求从各种选项中进行选择:
每种型号的设计都能在平均精度(mAP)和延迟之间取得平衡,帮助您优化目标检测任务的性能和速度。
四、使用示例
Ultralytics YOLO Python -NAS 型号可通过我们的 ultralytics python 软件包。该软件包提供了用户友好的Python API,以简化流程。
下面的示例展示了如何使用YOLO-NAS 模型与 ultralytics 用于推理和验证的软件包:
推理和验证示例:
在本例中,我们在 COCO8 数据集上验证了YOLO-NAS-s。
PyTorch 训练有素 *.pt 模型文件可以传递给 NAS() 类在python 中创建模型实例:
from ultralytics import NAS
# Load a COCO-pretrained YOLO-NAS-s model
model = NAS('yolo_nas_s.pt')
# Display model information (optional)
model.info()
# Validate the model on the COCO8 example dataset
results = model.val(data='coco8.yaml')
# Run inference with the YOLO-NAS-s model on the 'bus.jpg' image
results = model('path/to/bus.jpg')
CLI 命令可直接运行模型:
# Load a COCO-pretrained YOLO-NAS-s model and validate it's performance on the COCO8 example dataset
yolo val model=yolo_nas_s.pt data=coco8.yaml
# Load a COCO-pretrained YOLO-NAS-s model and run inference on the 'bus.jpg' image
yolo predict model=yolo_nas_s.pt source=path/to/bus.jpg
五、支持的任务和模式
我们提供三种型号的YOLO-NAS:小型 (s)、中型 (m) 和大型 (l)。每种型号都能满足不同的计算和性能需求:
- YOLO-NAS-s:针对计算资源有限但效率至关重要的环境进行了优化。
- YOLO-NAS-m:提供一种均衡的方法,适用于更高精度的通用目标检测。
- YOLO-NAS-l:专为要求最高精确度的场景定制,在这些场景中,计算资源的限制较少。
下面是每个模型的详细概述,包括预训练权重的链接、支持的任务以及与不同运行模式的兼容性。