
Documentation | 中文文檔
簡體中文| English
Tengine
簡介
Tengine由OPEN AI LAB主導開發,該項目實現了深度學習神經網絡模型在嵌入式設備上的快速、高效部署需求。為實現在眾多AIoT應用中的跨平台部署,本項目使用C 語言進行核心模塊開發,針對嵌入式設備資源有限的特點進行了深度框架裁剪。同時採用了完全分離的前後端設計,有利於CPU、GPU、NPU 等異構計算單元的快速移植和部署,降低評估、遷移成本。
Tengine 核心代碼由4 個模塊組成:
- device :NN Operators 後端模塊,已提供CPU、GPU、NPU 參考代碼;
- scheduler :框架核心部件,包括NNIR、計算圖、硬件資源、模型解析器的調度和執行模塊;
- operator :NN Operators 前端模塊,實現NN Operators 註冊、初始化;
- serializer :模型解析器,實現tmfile 格式的網絡模型參數解析。
架構簡析

快速上手
編譯
示例
- examples 提供基礎的分類、檢測算法用例,根據issue 需求持續更新。
- 源安裝提供ubuntu系統的apt-get命令行安裝和試用,目前支持x86/A311D硬件。
模型倉庫
百度網盤(提取碼:7ke5)
Google Drive
轉換工具
- 預編譯版本:提供Ubuntu 18.04 系統上預編譯好的模型轉換工具;
- 在線轉換版本:基於WebAssembly 實現(瀏覽器本地轉換,模型不會上傳;
- 源碼編譯:建議在服務器或者PC上編譯,指令如下:
mkdir build && cd build
cmake -DTENGINE_BUILD_CONVERT_TOOL=ON ..
make -j`nproc`
量化工具
- 源碼編譯:已開源量化工具源碼,已支持uint8/int8。
速度評估
- Benchmark 基礎網絡速度評估工具,歡迎大家更新。
NPU Plugin
- TIM-VX VeriSilicon NPU 使用指南。
AutoKernel Plugin
- AutoKernel 是一個簡單易用,低門檻的自動算子優化工具,AutoKernel Plugin實現了自動優化算子一鍵部署到Tengine 中。
Container
- SuperEdge 借助SuperEdge 邊緣計算的開源容器管理系統,提供更便捷的業務管理方案;
- How to use Tengine with SuperEdge 容器使用指南;
- Video Capture user manual Demo 依賴文件生成指南。
Roadmap
致謝
Tengine Lite 參考和借鑒了下列項目:
- Caffe
- Tensorflow
- MegEngine
- ONNX
- ncnn
- FeatherCNN
- MNN
- Paddle Lite
- ACL
- stb
- convertmodel
- TIM-VX
- SuperEdge
License
澄清說明
- [在線上報功能] 在線上報功能主要目的是了解Tengine的使用信息,信息用於優化和迭代Tengine,不會影響任何正常功能。該功能默認開啟,如需關閉,可修改如下配置關閉:(主目錄CMakeLists.txt ) OPTION (TENGINE_ONLINE_REPORT "online report" OFF)
FAQ
技術討論