YOLO-NAS模型训练与部署指南

YOLO-NAS是一种基于YOLO架构的开源计算机视觉模型,通过神经架构搜索(NAS)技术,测试不同的架构以找到给定参数集下的最优解。在COCO数据集上评估时,YOLO-NAS相较于YOLOv6、YOLOv7和Ultralytics YOLOv8等前辈模型,实现了更低的延迟和更高的准确率。该模型是Deci AI维护的超梯度模型生态系统的一部分。现在,可以在Roboflow平台上训练和部署YOLO-NAS对象检测模型。

Deci团队在Roboflow 100数据集上对YOLO-NAS的性能进行了基准测试,该数据集旨在衡量模型在特定、定义明确的任务集上训练时的性能。结果表明,模型在所有类别上都表现出色。

在Roboflow上训练YOLO-NAS模型

要在Roboflow平台上训练YOLO-NAS对象检测模型,需要执行以下步骤:

  1. 标记图像并准备一个数据集版本。
  2. 模型训练窗口中选择YOLO-NAS训练选项。
  3. 从那里,可以监控训练进度,测试并部署模型。

首先,创建一个免费的Roboflow账户。要训练一个模型,需要一个标记好的数据集。可以在Roboflow Annotate中标记数据集,或者可以上传已经标记的图像到Roboflow平台,用于数据集生成和模型训练。一旦标记了数据,可以生成一个数据集版本,可以用它来训练模型。

要了解更多关于在Roboflow中设置项目的信息,请参考Roboflow入门指南。生成数据集版本后,可以训练YOLO-NAS模型。为此,点击数据集页面上的“使用Roboflow训练”按钮。然后,选择“YOLO-NAS”选项。选择“YOLO-NAS”后,系统会要求选择模型大小。建议从小型号开始训练以进行测试,如果需要在生产前达到最大准确率,则选择中型。接下来,选择想从哪个检查点开始训练。建议从Roboflow MS COCO预训练权重检查点开始训练模型的第一个版本。如果模型表现良好,可以使用模型的现有版本作为检查点。这将有助于随着时间的推移调整模型以获得最佳性能。

只能使用现有的YOLO-NAS模型作为检查点。在Roboflow中训练或上传的其他模型类型(例如Roboflow Train 3.0)不能用作YOLO-NAS训练的检查点。点击“继续”。训练作业将被分配给服务器进行处理,将收到模型训练需要多长时间的估计。当负责训练模型的计算机准备好后,将出现一个图表,使能够实时评估模型训练作业的进展情况。

使用Roboflow部署YOLO-NAS模型

一旦在Roboflow上训练了YOLO-NAS模型,可以通过Roboflow托管的API使用它,或者使用Roboflow Inference,一个开源的推理服务器,将模型部署到自己的硬件上。使用托管API进行部署是理想的选择,如果有大量图像想要批量处理。对于想要实时运行模型的场景,建议使用Roboflow Inference部署模型。

让走过将YOLO-NAS模型部署到自己的硬件上的摄像头流所需的步骤。首先,需要安装Inference,这是一个开源软件,可以用它来运行广泛的计算机视觉模型架构,从CLIP到YOLO-NAS。要安装Inference,请运行:pip install inference。接下来,从Roboflow仪表板中检索Roboflow API密钥。在名为ROBOFLOW_API_KEY的环境变量中设置API密钥:export ROBOFLOW_API_KEY=""。现在准备部署模型。

可以使用Inference中的InferencePipeline将模型部署到摄像头。还可以使用InferencePipeline在视频文件或RTSP流上运行模型。让在网络摄像头流上部署模型。创建一个新的Python文件,并添加以下代码:

from inference import InferencePipeline from inference.core.interfaces.stream.sinks import render_boxes pipeline = InferencePipeline.init( model_id="your-model-id/1”, video_reference=0, on_prediction=render_boxes, ) pipeline.start() pipeline.join()

上述代码中,将your-model-id/1替换为Roboflow模型ID。了解如何检索Roboflow模型ID。将0替换为网络摄像头ID。默认情况下,默认网络摄像头应使用ID 0。也可以将此值设置为视频文件名或RTSP流URL。在上述代码中,使用Inference运行模型。render_boxes回调将实时显示网络摄像头,并显示与模型的检测相对应的边界框。

当第一次运行上述脚本时,与模型相关的权重将被下载到设备上。这将需要一些时间。然后,模型将开始运行。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485