中文版本

TNN:由Tencent Youtu Lab开源的高性能,轻巧的神经网络推理框架。它还具有许多出色的优势,例如跨平台,高性能,模型压缩和代码裁缝。 TNN框架进一步增强了基于原始RapidNet和NCNN框架的移动设备的支持和性能优化。同时,它指的是该行业主流开源框架的高性能和良好的可扩展性特征,并扩展了对X86和NV GPU的支持。在手机上,Mobile QQ,Weishi和Pitu等许多应用程序都使用了TNN。作为腾讯云AI的基本加速框架,TNN为实施许多企业提供了加速支持。欢迎每个人参加协作建设,以促进TNN推理框架的进一步改进。
| 面部检测(Blazeface) | 面对对齐 (来自Tencent Youtu Lab) | 头发细分 (摘自Tencent Guangying Lab) |
|---|---|---|
型号链接:Tflite TNN | 型号链接:TNN | 型号链接:TNN |
| 姿势估计 (摘自腾讯广告) | 姿势估计 (Blazepose) | 中国OCR |
|---|---|---|
型号链接:TNN | 型号链接:Tflite TNN | 型号链接:ONNX TNN |
| 对象检测(yolov5s) | 对象检测(MobilenetV2-SSD) | 阅读理解 |
|---|---|---|
型号链接:ONNX TNN | ![]() 型号链接:TensorFlow TNN | 型号链接:ONNX TNN |
中国OCR演示是中国ock_lite项目的TNN实施。它是轻巧的,支持倾斜,旋转和垂直文本识别。
下表显示了每个演示的支持。您可以单击✅并找到每个演示的入口代码。
| 演示 | 手臂 | OPENCL | 金属 | 华为NPU | 苹果NPU | x86 | 库达 |
|---|---|---|---|---|---|---|---|
| 面部检测(Blazeface) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 对象检测(yolov5s) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 面对对齐 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 头发细分 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 姿势估计 (摘自腾讯广告) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 姿势估计(Blazepose) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 中国OCR | ✅ | ✅ | ✅ | ✅ | ✅ | ||
| 阅读理解 | ✅ | ✅ |
使用TNN非常简单。如果您有训练有素的模型,则可以通过三个步骤将模型部署在目标平台上。
将训练的模型转换为TNN模型。我们提供大量工具来帮助您完成此步骤,无论您是使用TensorFlow,Pytorch还是Caffe,都可以轻松完成转换。可以在此处找到详细的动手教程如何创建TNN模型。
完成模型转换后,第二步是编译目标平台的TNN引擎。您可以根据硬件支持在不同的加速解决方案中进行选择,例如ARM/OPENCL/METAR/NPU/X86/CUDA。对于这些平台,TNN提供了方便的一键式脚本来编译。有关详细的步骤,请参阅如何编译TNN。
最后一步是使用编译的TNN引擎进行推理。您可以在应用程序内对TNN进行程序调用。我们提供丰富而详细的演示,以帮助您完成。
目前,TNN已在各种主要业务中启动,其以下特征得到了广泛赞扬。
计算优化
低精度计算加速度
内存优化
TNN上主流模型的性能:基准数据
TNN体系结构图:

TNN通过ONNX支持Tensorflow,Pytorch,Mxnet,Caffe和其他培训框架,利用ONNX开源协会的持续改进。目前,TNN支持100多个ONNX运营商,由大多数主流CNN,NLP操作员组成。
TNN在主流操作系统(Android,iOS,Embedded Linux,Windows,Linux)上运行,并且与ARM CPU,X86 GPU,NPU硬件平台兼容。
TNN是通过模块化设计构建的,该设计构建了诸如模型分析,图形构造,图形优化,低级硬件适应和高性能内核等组件的分离。它使用“工厂模式”进行注册和构建设备,以最大程度地减少支持更多硬件和加速解决方案的成本。
移动动态库的大小仅约400kb,并且提供了轻巧和方便的基本图像转换操作。 TNN使用跨平台的统一模型和接口,可以通过仅配置一个参数来轻松切换。
TNN引用了以下项目:
欢迎每个人参加,以建立行业中最佳推理框架。
技术讨论QQ组:704900079答案:TNN
扫描QR码加入TNN讨论组:
