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

# Tengine Lite

B
BUG1989 已提交
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)
没秃的程序员's avatar
没秃的程序员 已提交
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46



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



## Introduction

**Tengine Lite** is developed by **OPEN AI LAB**. This project implements the **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.



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
![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

- [Tengine model zoo](https://pan.baidu.com/s/1Ar9334MPeIV1eq4pM1eI-Q) Model zoo samples are compatible with the original Tengine (password: hhgc).

### Model Convert tool

B
BUG1989 已提交
47
- [Pre-compiled version](https://github.com/OAID/Tengine-Convert-Tools/releases/download/v0.1/tm_convert_tool): Pre-compiled model convert tool is provided on Linux system;
没秃的程序员's avatar
没秃的程序员 已提交
48
- [Online Convert tool](https://convertmodel.com/): Based on WebAssembly (the models are converted locally by browsers, no private data will be uploaded);
B
BUG1989 已提交
49
- [Source Compilation](https://github.com/OAID/Tengine-Convert-Tools): Refer to **Tengine-Convert-Tools** project, convert tool could be built by users.
没秃的程序员's avatar
没秃的程序员 已提交
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86

### Speed assessment

-[Benchmark](benchmark/) Basic network speed assessment tool, any pull request is welcomed.

## 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)
- [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)
- [convertmodel](https://convertmodel.com/)

## License

- [Apache 2.0](LICENSE)

## FAQ

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

## Tech Forum
- Github issues
- QQ groupchat: 829565581 (Answer: openailab)
- Email: Support@openailab.com
- Tengine Community: http://www.tengine.org.cn/