README_EN.md 4.3 KB
Newer Older
没秃的程序员's avatar
没秃的程序员 已提交
1 2 3 4
<p align="center"><img width="40%" src="logo-Tengine.png" /></p>

# Tengine Lite

M
Martin Han 已提交
5
[![GitHub license](http://OAID.github.io/pics/apache_2.0.svg)](./LICENSE) [![Build Status](https://img.shields.io/github/workflow/status/OAID/Tengine/Tengine-Lite-Actions/tengine-lite)](https://github.com/OAID/Tengine/actions?query=workflow%3ATengine-Lite-Actions) [![Build Status](https://img.shields.io/github/workflow/status/OAID/Tengine-Convert-Tools/Tengine-Convert-Tools-Actions?label=tools%20build)](https://github.com/OAID/Tengine-Convert-Tools/actions?query=workflow%3ATengine-Convert-Tools-Actions) [![Test Status](https://img.shields.io/travis/OAID/Tengine/tengine-lite?label=test)](https://travis-ci.org/OAID/Tengine)  [![codecov](https://codecov.io/gh/OAID/Tengine/branch/tengine-lite/graph/badge.svg?token=kz9NcQPRrk)](https://codecov.io/gh/OAID/Tengine)
没秃的程序员's avatar
没秃的程序员 已提交
6 7 8 9 10 11 12 13 14



[**中文版本**](README.md)



## Introduction

baiyu33's avatar
baiyu33 已提交
15
**Tengine Lite** is developed by **[OPEN AI LAB](http://www.openailab.com)**. This project meet the demand of **fast** and **efficient** deployment of deep learning neural network models on embedded devices. In order to achieve cross-platform deployment in many **AIoT** applications, this project is based on the original Tengine project using **C language** for reconstruction, and deep frame tailoring for the characteristics of limited embedded device resources. Also, it adopts a completely separated front-end/back-end design, which makes it possible to be transplanted and deployed onto CPU, GPU, NPU and other heterogeneous computing units rapidly, conveniently. At the same time, it is compatible with the original API and model format `tmfile` of **Tengine**, which reduces the cost of evaluation and migration.
没秃的程序员's avatar
没秃的程序员 已提交
16 17 18 19 20 21 22 23 24 25 26 27



The core code of Tengine Lite consists of 4 modules:

- [**dev**](src/dev): NN Operators back-end module, currently provides CPU code, and gradually open source GPU and NPU reference code;
- [**lib**](src/lib): core components of the framework, including NNIR, Computational Graphs, Hardware Resources, and the scheduling and execution modules of model serializer;
- [**op**](src/op): NN Operators front-end module, which realizes registration and initialization of NN Operators;
- [**serializer**](src/serializer): Model decoder, which decodes binary tmfile format into serialized model parameter.


## Architecture
baiyu33's avatar
baiyu33 已提交
28

没秃的程序员's avatar
没秃的程序员 已提交
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
![Tengine Lite 架构](doc/architecture.png)


## How to use

### Compile

- [Quick Compilation](doc/compile.md) Simple cross-platform compilation based on cmake.

### Example

- [examples](examples/) provides basic classification and detection algorithm use cases, which are continuously updated according to the needs of issues.

### Model Zoo

baiyu33's avatar
baiyu33 已提交
44
- [Tengine model zoo](https://pan.baidu.com/s/1Ar9334MPeIV1eq4pM1eI-Q) Model zoo samples are compatible with the original Tengine (password: _hhgc_).
没秃的程序员's avatar
没秃的程序员 已提交
45 46 47

### Model Convert tool

B
BUG1989 已提交
48
- [Pre-compiled version](https://github.com/OAID/Tengine/releases/download/lite-v1.2/convert_tool.zip): Pre-compiled model convert tool is provided on Linux system;
D
daquexian 已提交
49
- [Online Convert tool](https://convertmodel.com/#outputFormat=tengine): Based on WebAssembly (the models are converted locally by browsers, no private data will be uploaded);
B
BUG1989 已提交
50
- [Source Compilation](https://github.com/OAID/Tengine-Convert-Tools): Refer to **Tengine-Convert-Tools** project, convert tool could be built by users.
没秃的程序员's avatar
没秃的程序员 已提交
51 52 53

### Speed assessment

baiyu33's avatar
baiyu33 已提交
54
- [Benchmark](benchmark/) Basic network speed assessment tool, any pull request is welcomed.
没秃的程序员's avatar
没秃的程序员 已提交
55 56 57 58 59 60 61 62 63 64 65 66 67 68

## Roadmap

- [Road map](doc/roadmap.md)

## Acknowledgement

Tengine Lite got ideas and developed based on these projects:

- [Caffe](https://github.com/BVLC/caffe)
- [Tensorflow](https://github.com/tensorflow/tensorflow)
- [MegEngine](https://github.com/MegEngine/MegEngine)
- [ONNX](https://github.com/onnx/onnx)
- [ncnn](https://github.com/Tencent/ncnn)
B
BUG1989 已提交
69
- [FeatherCNN](https://github.com/Tencent/FeatherCNN)
没秃的程序员's avatar
没秃的程序员 已提交
70 71 72 73
- [MNN](https://github.com/alibaba/MNN)
- [Paddle Lite](https://github.com/PaddlePaddle/Paddle-Lite)
- [ACL](https://github.com/ARM-software/ComputeLibrary)
- [stb](https://github.com/nothings/stb)
baiyu33's avatar
baiyu33 已提交
74
- [convertmodel](https://convertmodel.com)
B
BUG1989 已提交
75
- [TIM-VX](https://github.com/VeriSilicon/TIM-VX)
没秃的程序员's avatar
没秃的程序员 已提交
76 77 78 79 80 81 82 83 84 85

## License

- [Apache 2.0](LICENSE)

## FAQ

- [FAQ common questions](doc/faq.md)

## Tech Forum
baiyu33's avatar
baiyu33 已提交
86

没秃的程序员's avatar
没秃的程序员 已提交
87
- Github issues
B
BUG1989 已提交
88
- QQ groupchat: 829565581
没秃的程序员's avatar
没秃的程序员 已提交
89
- Email: Support@openailab.com
baiyu33's avatar
baiyu33 已提交
90
- Tengine Community: http://www.tengine.org.cn