Neural Architecture Search:使用Ultralytics框架进行YOLO-NAS目标检测

Neural Architecture Search:使用Ultralytics框架进行YOLO-NAS目标检测


前言

相关介绍

  • Ultralytics 官方文档https://docs.ultralytics.com/
  • Ultralytics 源代码地址https://github.com/ultralytics/ultralytics.git.
  • 概述
    YOLO-NAS 由 Deci AI 开发,是一个突破性的目标检测基础模型。它是先进的神经架构搜索技术的产物,经过精心设计,旨在解决以前 YOLO 模型的局限性。 YOLO-NAS 在量化支持和准确性与延迟权衡方面取得了显着改进,代表了目标检测领域的重大飞跃。
  • YOLO-NAS 采用量化感知块和选择性量化来实现最佳性能。该模型在转换为 INT8 量化版本时,精度下降最小,比其他模型有显着改进。这些进步最终形成了具有前所未有的物体检测功能和出色性能的卓越架构。
  • 主要特点
    • 量化友好的基本块:YOLO-NAS 引入了一种新的对量化友好的基本块,解决了先前 YOLO 模型的重大局限性之一。
    • 复杂的训练和量化:YOLO-NAS 利用先进的训练方案和训练后量化来提高性能。
    • AutoNAC 优化和预训练:YOLO-NAS 利用 AutoNAC 优化,并在 COCO、Objects365 和 Roboflow 100 等著名数据集上进行预训练。这种预训练使其非常适合生产环境中的下游对象检测任务。
  • 预训练模型
    使用 Ultralytics 提供的预训练 YOLO-NAS 模型体验下一代目标检测的强大功能。这些模型旨在在速度和准确性方面提供一流的性能。从适合您特定需求的多种选项中进行选择:
  • 每个模型变体都旨在提供平均精度 (mAP) 和延迟之间的平衡,帮助您优化对象检测任务的性能和速度。
  • Ultralytics 使 YOLO-NAS 模型可以通过我们的 ultralytics python 包轻松集成到您的 Python 应用程序中。该包提供了一个用户友好的 Python API 来简化该过程。

前提条件

实验环境

bash 复制代码
matplotlib>=3.2.2
numpy>=1.18.5
opencv-python>=4.6.0
Pillow>=7.1.2
PyYAML>=5.3.1
requests>=2.23.0
scipy>=1.4.1
torch>=1.7.0
torchvision>=0.8.1
tqdm>=4.64.0
tensorboard>=2.4.1
pandas>=1.1.4
seaborn>=0.11.0

安装环境

bash 复制代码
pip install ultralytics
# 或者
pip install ultralytics -i https://pypi.tuna.tsinghua.edu.cn/simple # 国内清华源,下载速度更快

项目地址

Linux

bash 复制代码
git clone https://github.com/ultralytics/ultralytics.git
bash 复制代码
Cloning into 'ultralytics'...
remote: Enumerating objects: 4583, done.
remote: Counting objects: 100% (4583/4583), done.
remote: Compressing objects: 100% (1270/1270), done.
remote: Total 4583 (delta 2981), reused 4576 (delta 2979), pack-reused 0
Receiving objects: 100% (4583/4583), 23.95 MiB | 1.55 MiB/s, done.
Resolving deltas: 100% (2981/2981), done.

Windows

请到https://github.com/ultralytics/ultralytics.git网站下载源代码zip压缩包。

使用Ultralytics框架进行YOLO-NAS目标检测

进行预测

bash 复制代码
python predict.py
python 复制代码
from ultralytics import NAS


if __name__=="__main__":
    # Load a COCO-pretrained YOLO-NAS-s model
    model = NAS("yolo_nas_s.pt")

    # Display model information (optional)
    model.info()

    # Run inference with the YOLO-NAS-s model on the image
    results = model("imgs/test.png", save=True)

    results[0].show()

进行验证

bash 复制代码
python val.py
python 复制代码
from ultralytics import YOLO

def val():

    # Create a YOLO-World model
    model = YOLO("yolov8s-world.pt")  # or select yolov8m/l-world.pt for different sizes

    # Conduct model validation on the COCO8 example dataset
    metrics = model.val(data="coco8.yaml", batch=1, imgsz=640, device=0,workers=1)

if __name__=="__main__":
    val()

参考文献

1 Ultralytics 源代码地址https://github.com/ultralytics/ultralytics.git.

2 Ultralytics Docshttps://docs.ultralytics.com/

3 SAM2 官方源代码https://github.com/facebookresearch/segment-anything-2.git

4 SAM2 论文地址https://ai.meta.com/research/publications/sam-2-segment-anything-in-images-and-videos/

5 https://docs.ultralytics.com/models/sam/

6 https://docs.ultralytics.com/models/sam-2/

7 https://segment-anything.com/

8 https://arxiv.org/abs/2304.02643

9 Alexander Kirillov, Eric Mintun, Nikhila Ravi, Hanzi Mao, Chloe Rolland, Laura Gustafson, Tete Xiao, Spencer Whitehead, Alexander C. Berg, Wan-Yen Lo, Piotr Dollár, Ross Girshick. Segment Anything. 2023

10 Nikhila Ravi, Valentin Gabeur, Yuan-Ting Hu, Ronghang Hu, Chay Ryali, Tengyu Ma, Haitham Khedr, Roman Rädle, Chloe Rolland, Laura Gustafson, Eric Mintun,Junting Pan, Kalyan Vasudev Alwala, Nicolas Carion, Chao-Yuan Wu, Ross Girshick,Piotr Dollar, Christoph Feichtenhofer. SAM 2: Segment Anything in Images and Videos. 2024

相关推荐
Raas1005 小时前
MAI Gateway(魔芋企业级AI网关)技术揭秘:AI网关支持哪些模型?从原理到落地
大数据·人工智能·网关·gateway·mai gateway·企业级产品
豪气的程序猿8 小时前
电商图片工作流怎么选?Lingko AI 对比折叠键盘主图与详情页
人工智能
小刘快学习8 小时前
把 AI 账单拆到部门:企业 AI 网关的精准分账思路
人工智能
米小虾8 小时前
你让监控模型读的思维链,可能是攻击者写好的剧本
人工智能
deepseek238 小时前
Iris 开源搜索智能体拆解:35B 与 397B 中文仅差 0.3 分,上下文管理胜过堆参数
人工智能·ai agent·开源模型
ai小陈8 小时前
CUDA Stream实战:让数据传输与GPU计算真正重叠
人工智能·深度学习·ai·pdf·云计算·gpu算力
residual_fan8 小时前
【学术论文】航空发动机故障诊断智能体:基于持续对比强化学习的动态优化方法
人工智能·算法·数据挖掘·数据分析
东风破_8 小时前
从 RAG 到 Agentic RAG:第二步,把复杂问题拆开再检索
人工智能
dehuisun9 小时前
第07篇:RAG+Agent 部署架构、资源评估与私有化方案
人工智能
米小虾9 小时前
拆给 8 个子智能体,只拿回 2.3 倍信息:多智能体分解的产出守恒律
人工智能·agent