All Projects → OAID → Tengine

OAID / Tengine

Licence: apache-2.0
Tengine is a lite, high performance, modular inference engine for embedded device

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language
assembly
5116 projects
CMake
9771 projects
python
139335 projects - #7 most used programming language
Cuda
1817 projects

Projects that are alternatives of or similar to Tengine

Capstone
Capstone disassembly/disassembler framework: Core (Arm, Arm64, BPF, EVM, M68K, M680X, MOS65xx, Mips, PPC, RISCV, Sparc, SystemZ, TMS320C64x, Web Assembly, X86, X86_64, XCore) + bindings.
Stars: ✭ 5,374 (+33.95%)
Mutual labels:  arm, x86-64, mips, riscv
Unicorn
Unicorn CPU emulator framework (ARM, AArch64, M68K, Mips, Sparc, PowerPC, RiscV, X86)
Stars: ✭ 4,934 (+22.98%)
Mutual labels:  arm, x86-64, mips, riscv
interp
Interpreter experiment. Testing dispatch methods: Switching, Direct/Indirect Threaded Code, Tail-Calls and Inlining
Stars: ✭ 32 (-99.2%)
Mutual labels:  arm, mips, x86-64, riscv
Caffe Hrt
Heterogeneous Run Time version of Caffe. Added heterogeneous capabilities to the Caffe, uses heterogeneous computing infrastructure framework to speed up Deep Learning on Arm-based heterogeneous embedded platform. It also retains all the features of the original Caffe architecture which users deploy their applications seamlessly.
Stars: ✭ 271 (-93.25%)
Mutual labels:  artificial-intelligence, arm, cnn
Rcore
Rust version of THU uCore OS. Linux compatible.
Stars: ✭ 2,175 (-45.79%)
Mutual labels:  x86-64, mips, riscv
nordvpn
NordVpn Docker Client
Stars: ✭ 475 (-88.16%)
Mutual labels:  arm, x86-64, container
Pulp Dronet
A deep learning-powered visual navigation engine to enables autonomous navigation of pocket-size quadrotor - running on PULP
Stars: ✭ 374 (-90.68%)
Mutual labels:  artificial-intelligence, cnn, riscv
Ncnn
ncnn is a high-performance neural network inference framework optimized for the mobile platform
Stars: ✭ 13,376 (+233.4%)
Mutual labels:  artificial-intelligence, onnx, riscv
Plasma
Plasma is an interactive disassembler for x86/ARM/MIPS. It can generates indented pseudo-code with colored syntax.
Stars: ✭ 2,956 (-26.32%)
Mutual labels:  arm, x86-64, mips
Keystone
Keystone assembler framework: Core (Arm, Arm64, Hexagon, Mips, PowerPC, Sparc, SystemZ & X86) + bindings
Stars: ✭ 1,654 (-58.77%)
Mutual labels:  arm, x86-64, mips
Rop Tool
A tool to help you write binary exploits
Stars: ✭ 590 (-85.29%)
Mutual labels:  arm, x86-64, mips
Cemu
Cheap EMUlator: lightweight multi-architecture assembly playground
Stars: ✭ 666 (-83.4%)
Mutual labels:  arm, x86-64, mips
ONNX-Runtime-with-TensorRT-and-OpenVINO
Docker scripts for building ONNX Runtime with TensorRT and OpenVINO in manylinux environment
Stars: ✭ 15 (-99.63%)
Mutual labels:  cuda, tensorrt, onnx
uvmm
Virtual machine monitor for L4Re
Stars: ✭ 22 (-99.45%)
Mutual labels:  arm, mips, x86-64
Ppci
A compiler for ARM, X86, MSP430, xtensa and more implemented in pure Python
Stars: ✭ 210 (-94.77%)
Mutual labels:  arm, x86-64, riscv
Arm now
arm_now is a qemu powered tool that allows instant setup of virtual machines on arm cpu, mips, powerpc, nios2, x86 and more, for reverse, exploit, fuzzing and programming purpose.
Stars: ✭ 719 (-82.08%)
Mutual labels:  arm, x86-64, mips
Keypatch
Multi-architecture assembler for IDA Pro. Powered by Keystone Engine.
Stars: ✭ 939 (-76.6%)
Mutual labels:  arm, x86-64, mips
Tina
Tina is a teeny tiny, header only, coroutine and job library.
Stars: ✭ 125 (-96.88%)
Mutual labels:  arm, x86-64
Libfacedetection
An open source library for face detection in images. The face detection speed can reach 1000FPS.
Stars: ✭ 10,852 (+170.49%)
Mutual labels:  arm, cnn
Ncrfpp
NCRF++, a Neural Sequence Labeling Toolkit. Easy use to any sequence labeling tasks (e.g. NER, POS, Segmentation). It includes character LSTM/CNN, word LSTM/CNN and softmax/CRF components.
Stars: ✭ 1,767 (-55.96%)
Mutual labels:  artificial-intelligence, cnn

简体中文 | English

Tengine

GitHub license Build Status Build Status Test Status codecov Language grade: C/C++

简介

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

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

  • device:NN Operators 后端模块,已提供 CPU、GPU、NPU 参考代码;
  • scheduler:框架核心部件,包括 NNIR、计算图、硬件资源、模型解析器的调度和执行模块;
  • operator:NN Operators 前端模块,实现 NN Operators 注册、初始化;
  • serializer:模型解析器,实现 tmfile 格式的网络模型参数解析。

架构简析

Tengine 架构

快速上手

编译

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

示例

  • examples 提供基础的分类、检测算法用例,根据 issue 需求持续更新。
  • 源安装 提供ubuntu系统的apt-get命令行安装和试用,目前支持x86/A311D硬件。

模型仓库

转换工具

  • 预编译版本 :提供 Ubuntu 18.04 系统上预编译好的模型转换工具;
  • 在线转换版本 :基于 WebAssembly 实现(浏览器本地转换,模型不会上传);
  • 源码编译 :参考 Tengine-Convert-Tools 项目编译生成,建议采用。

量化工具

  • 源码编译:已开源量化工具源码,已支持 uint8/int8。

速度评估

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

NPU Plugin

  • TIM-VX VeriSilicon NPU 使用指南。

AutoKernel Plugin

  • AutoKernel 是一个简单易用,低门槛的自动算子优化工具,AutoKernel Plugin实现了自动优化算子一键部署到 Tengine 中。

Container

Roadmap

致谢

Tengine Lite 参考和借鉴了下列项目:

License

澄清说明

  • [在线上报功能] 在线上报功能主要目的是了解Tengine的使用信息,信息用于优化和迭代Tengine,不会影响任何正常功能。该功能默认开启,如需关闭,可修改如下配置关闭:(主目录 CMakeLists.txt ) OPTION (TENGINE_ONLINE_REPORT "online report" OFF)

FAQ

技术讨论

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].