README_EN.md 4.6 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 6 7 8 9 10
[![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)
[![Language grade: C/C++](https://img.shields.io/lgtm/grade/cpp/g/OAID/Tengine.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/OAID/Tengine/context:cpp)
没秃的程序员's avatar
没秃的程序员 已提交
11 12 13 14 15 16 17 18 19



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



## Introduction

20
**Tengine** 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
没秃的程序员 已提交
21 22 23 24 25



The core code of Tengine Lite consists of 4 modules:

26 27 28 29
- [**device**](source/device): NN Operators back-end module, currently provides CPU code, and gradually open source GPU and NPU reference code;
- [**scheduler**](source/scheduler): core components of the framework, including NNIR, Computational Graphs, Hardware Resources, and the scheduling and execution modules of model serializer;
- [**operator**](source/operator): NN Operators front-end module, which realizes registration and initialization of NN Operators;
- [**serializer**](source/serializer): Model decoder, which decodes binary tmfile format into serialized model parameter.
没秃的程序员's avatar
没秃的程序员 已提交
30 31 32


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

34
![Tengine Architecture](doc/architecture.png)
没秃的程序员's avatar
没秃的程序员 已提交
35 36 37 38


## How to use

39 40 41 42
### Documentation

- [Tengine User Manual](https://tengine-docs.readthedocs.io/en/latest/)

没秃的程序员's avatar
没秃的程序员 已提交
43 44 45 46 47 48 49 50 51 52
### 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 已提交
53
- [Tengine model zoo](https://pan.baidu.com/s/1Ar9334MPeIV1eq4pM1eI-Q) Model zoo samples are compatible with the original Tengine (password: _hhgc_).
没秃的程序员's avatar
没秃的程序员 已提交
54 55 56

### Model Convert tool

B
BUG1989 已提交
57
- [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 已提交
58
- [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 已提交
59
- [Source Compilation](https://github.com/OAID/Tengine-Convert-Tools): Refer to **Tengine-Convert-Tools** project, convert tool could be built by users.
没秃的程序员's avatar
没秃的程序员 已提交
60 61 62

### Speed assessment

baiyu33's avatar
baiyu33 已提交
63
- [Benchmark](benchmark/) Basic network speed assessment tool, any pull request is welcomed.
没秃的程序员's avatar
没秃的程序员 已提交
64 65 66 67 68 69 70 71 72 73 74 75 76 77

## 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 已提交
78
- [FeatherCNN](https://github.com/Tencent/FeatherCNN)
没秃的程序员's avatar
没秃的程序员 已提交
79 80 81 82
- [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 已提交
83
- [convertmodel](https://convertmodel.com)
B
BUG1989 已提交
84
- [TIM-VX](https://github.com/VeriSilicon/TIM-VX)
没秃的程序员's avatar
没秃的程序员 已提交
85 86 87 88 89 90 91 92 93 94

## License

- [Apache 2.0](LICENSE)

## FAQ

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

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

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