[go: nahoru, domu]

Skip to content

nndeploy is a cross-platform, high-performing, and straightforward AI model deployment framework. We strive to deliver a consistent and user-friendly experience across various inference framework backends in complex deployment environments and focus on performance.

License

Notifications You must be signed in to change notification settings

jaywlinux/nndeploy

 
 

Repository files navigation

English | 简体中文

介绍

nndeploy是一款跨平台、高性能、简单易用的模型端到端部署框架。我们致力于屏蔽不同推理软硬件设施差异,提供一致且用户友好的编程体验,同时专注于部署推理性能。

架构

Architecture

特性

1. 支持多平台和多一致性

只要环境支持,通过nndeploy部署模型的代码无需修改即可跨多个平台以及各多个推理框架使用。 当前支持的环境如下:

Inference/OS Linux Windows Android MacOS IOS developer remarks
TensorRT - - - - Always
OpenVINO - - - Always
ONNXRuntime - - - Always
MNN - - Always
TNN - - 02200059Z
ncnn - - - - Always
coreML - - - - JoDio-zd
paddle-lite - - - - - qixuxiang
MDC - - - - CYYAI

Notice: TFLite, TVM, OpenPPL, RKNN, sophgo, MindSpore-lite, Horizon正在开发中,我们正在努力覆盖绝大部分的主流推理框架

2. 高性能

  • 推理框架的高性能抽象:每个推理框架也都有其各自的特性,需要足够尊重以及理解这些推理框架,才能在抽象中不丢失推理框架的特性,并做到统一的使用的体验。nndeploy 可配置第三方推理框架绝大部分参数,保证了推理性能。可直接操作理框架内部分配的输入输出,实现前后处理的零拷贝,提升模型部署端到端的性能。

  • 线程池正在开发完善中,可实现有向无环图的流水线并行

  • 内存池正在开发完善中,可实现高效的内存分配与释放

  • 一组高性能的算子正在开发中,完成后将加速您模型前后处理速度

3. 直接可用的算法

目前已完成 YOLOV5YOLOV6YOLOV8 等模型的部署,可供您直接使用,后续我们持续不断去部署其它开源模型,让您开箱即用

model Inference developer remarks
YOLOV5 TensorRt/OpenVINO/ONNXRuntime/MNN 02200059ZAlways
YOLOV6 TensorRt/OpenVINO/ONNXRuntime 02200059ZAlways
YOLOV8 TensorRt/OpenVINO/ONNXRuntime/MNN 02200059ZAlways

4. 简单易用

  • 一套代码多端部署:通过切换推理配置,一套代码即可在多端部署,算法的使用接口简单易用。
  • 算法部署简单:将 AI 算法端到端(前处理->推理->后处理)的部署抽象为有向无环图 Graph,前处理为一个 Node,推理也为一个 Node,后处理也为一个 Node,提供了高性能的前后处理模板和推理模板,上述模板可帮助您进一步简化端到端的部署流程。有向无环图还可以高性能且高效的解决多模型部署的痛点问题。

文档

Roadmap

  • 有向无环图的各种各种的并行,提升模型性能
  • 接入更多的算法,例如ppocr、sam、detr等,一个是去更充分的验证我们这个框架,另一个是让更多人可以知道nndeploy
  • 接入更多的推理框架,例如rknn(rknn在工业场景使用的非常非常多)
  • 从0到1搭建OP模块,提升性能

参考

贡献者

加入我们

  • nndeploy还处于初级阶段,欢迎参与,我们一起打造最简单易用、高性能的模型端到端部署框架

  • 微信:titian5566 (可加我微信进nndeploy交流群,备注:nndeploy+姓名)

About

nndeploy is a cross-platform, high-performing, and straightforward AI model deployment framework. We strive to deliver a consistent and user-friendly experience across various inference framework backends in complex deployment environments and focus on performance.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 89.6%
  • CMake 6.8%
  • Objective-C++ 1.4%
  • Python 1.3%
  • Other 0.9%