Tengine Lite嵌入式设备推理引擎

联合创作 · 2023-09-26 12:03

Tengine Lite 由 OPEN AI LAB 主导开发,该项目实现了深度学习神经网络模型在嵌入式设备上快速高效部署。为实现众多 AIoT 应用中跨平台部署,本项目基于原有 Tengine 项目使用 C 语言进行重构,针对嵌入式设备资源有限的特点进行深度框架裁剪。同时采用完全分离的前后端设计,利于 CPU、GPU、NPU 等异构计算单元快速移植和部署。同时兼容 Tengine 框架原有 API 和 模型格式 tmfile,降低评估、迁移成本。


Tengine Lite 核心代码由 4 个模块组成:



  • dev: NN Operators 后端模块,当前提供 CPU 代码,后续逐步开源 GPU、NPU 参考代码;

  • lib:框架核心部件,包括 NNIR、计算图、硬件资源、模型解析器的调度和执行模块;

  • op:NN Operators 前端模块,实现 NN Operators 注册、初始化;

  • serializer:模型解析器,实现 tmfile 格式的网络模型参数解析。


架构简析



如何使用


编译



  • 快速编译 基于 cmake 实现简单的跨平台编译。


示例



  • examples 提供基础的分类、检测算法用例,根据 issue 需求持续更新。


模型仓库



  • Tengine model zoo 兼容原有 Tengine 的模型示例仓库(密码:hhgc)。


转换工具



  • 预编译版本:提供 Linux 系统上预编译好的模型转换工具;

  • 在线转换版本:基于 WebAssembly 实现(浏览器本地转换,模型不会上传);

  • 源码编译:参考 Tengine-Convert-Tools 项目编译生成。


速度评估



  • Benchmark 基础网络速度评估工具,欢迎大家更新。


Roadmap


浏览 16
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报