在计算能力受限的设备上,如移动设备或嵌入式系统,执行高级计算机视觉任务可能会很棘手。需要确保使用一种为最佳性能优化的格式。这确保了即使是处理能力有限的设备也能很好地处理高级计算机视觉任务。
将模型导出为NCNN格式的功能允许为轻量级基于设备的应用程序优化Ultralytics YOLO11模型。在本指南中,将带了解如何将模型转换为NCNN格式,使模型在各种移动和嵌入式设备上表现更好。
NCNN框架是由腾讯开发的,是一个针对移动平台优化的高性能神经网络推理计算框架,包括手机、嵌入式设备和物联网设备。NCNN与多种平台兼容,包括Linux、Android、iOS和macOS。
NCNN以其在移动CPU上的快速处理速度而闻名,并支持将深度学习模型快速部署到移动平台。这使得构建智能应用程序更容易,将AI的力量直接放在指尖。
NCNN模型提供了广泛的功能,使设备上的机器学习成为可能,帮助开发者在移动、嵌入式和边缘设备上运行他们的模型:
高效和高性能:NCNN模型旨在高效且轻量级,针对运行在移动和嵌入式设备上进行了优化,如资源有限的树莓派。它们还可以在各种基于计算机视觉的任务上实现高性能和高准确度。
# 安装所需的YOLO11包
pip install ultralytics
量化:NCNN模型通常支持量化,这是一种减少模型权重和激活的精度的技术。这进一步改善了性能并减少了内存占用。
兼容性:NCNN模型与流行的深度学习框架兼容,如TensorFlow、Caffe和ONNX。这种兼容性允许开发者轻松使用现有的模型和工作流程。
易于使用:NCNN模型旨在轻松集成到各种应用程序中,这得益于它们与流行的深度学习框架的兼容性。此外,NCNN提供了用户友好的工具,用于在不同格式之间转换模型,确保开发环境中的平滑互操作性。
在查看将YOLO11模型导出到NCNN格式的代码之前,让了解NCNN模型通常如何使用。为效率和性能而设计的NCNN模型与多种部署平台兼容:
移动部署:特别针对Android和iOS进行了优化,允许无缝集成到移动应用程序中,以实现高效的设备内推理。
嵌入式系统和物联网设备:如果发现在树莓派上运行推理速度不够快,切换到导出的NCNN模型可能会有所帮助。NCNN非常适合树莓派和NVIDIA Jetson等设备,特别是在需要在设备上快速处理的情况下。
桌面和服务器部署:能够在Linux、Windows和macOS的桌面和服务器环境中部署,支持具有更高计算能力的应用程序开发、训练和评估。
from ultralytics import YOLO
# 加载YOLO11模型
model = YOLO("yolo11n.pt")
# 将模型导出为NCNN格式
model.export(format="ncnn")
# 创建'/yolo11n_ncnn_model'
# 加载导出的NCNN模型
ncnn_model = YOLO("./yolo11n_ncnn_model")
# 运行推理
results = ncnn_model("https://ultralytics.com/images/bus.jpg")
在成功将UltralyticsYOLO11模型导出为NCNN格式后,现在可以部署它们了。运行NCNN模型的主要和推荐的第一个步骤是使用YOLO("./model_ncnn_model")方法,如前一个使用代码片段中所述。然而,对于在各种其他设置中部署NCNN模型的深入指导,请查看以下资源:
Android:这篇博客解释了如何使用NCNN模型通过Android应用程序执行任务,如目标检测。
macOS:了解如何使用NCNN模型通过macOS执行任务。
Linux:探索这个页面,了解如何在资源受限的设备上部署NCNN模型,如树莓派和其他类似设备。
Windows x64使用VS2017:探索这篇博客,了解如何在Windows x64上使用Visual Studio Community 2017部署NCNN模型。
在本指南中,已经介绍了将Ultralytics YOLO11模型导出为NCNN格式。这个转换步骤对于提高YOLO11模型的效率和速度至关重要,使它们在资源受限的计算环境中更加有效和适用。
有关使用说明的详细信息,请参考官方NCNN文档。