设为书签 Ctrl+D将本页面保存为书签,全面了解最新资讯,方便快捷。 您也可下载桌面快捷方式。点击下载 | 新浪科技 | 新浪首页 | 新浪导航

腾讯优图开源人脸识别底层技术:一款深度学习推理框架TNN

2020-06-15 12:45:57    创事记 微博 作者:   

TNN是一款移动端推理框架,具有高性能、轻量级的特点,拥有跨平台、高性能、模型压缩、代码裁剪等众多优势。目前TNN已经在手机QQ、微视、P图等应用中落地。

TNN框架在原有Rapidnet、ncnn框架的基础上进一步加强了对移动端设备的支持,在性能方面也有所优化,同时借鉴了业界主流开源框架的优点,高性能和良好拓展性。

这次腾讯优图开源TNN,也是希望其推理框架能够进一步完善,共同为AI构建一个开放共进的生态环境,同时保持不断的迭代更新。

腾讯优图已在GitHub上开源的TNN,可以通过下面的网址进入

https://github.com/Tencent/TNN

计算优化,算力强

TNN对主流平台的适应性强,对CPU: ARMv7, ARMv8, GPU: Mali, Adreno, Apple) 深度调优。

同时优化了对移动端的适应性,轻量级,高算力。针对不同架构在硬件指令发射、吞吐、延迟、缓存带宽、缓存延迟、寄存器数量等特点,深度优化底层算子,极致利用硬件算力。

CNN 核心卷积运算通过 Winograd,Tile-GEMM, Direct Conv 等多种算法实现,保证不同参数、计算尺度下高效计算。

保证低精度优化,支持 INT8, FP16 低精度计算,减少模型大小、内存消耗,同时利用硬件低精度计算指令加速计算;支持 INT8 Winograd 算法,(输入6bit), 在精度满足要求的情况下,进一步降低模型计算复杂度;支持单模型多种精度混合计算,加速计算同时保证模型精度。

内存优化,轻量级匹配深度学习

通过 DAG 网络计算图分析,实现无计算依赖的节点间复用内存,降低 90% 内存资源消耗。同时支持外部实时指定用于网络内存,实现「多个模型,单份内存」。

TNN上手容易,三个步骤就能完成模型在目标平台上的部署。训练好的模型可以用TNN提供的工具转换成TNN模型;然后编译目标平台的TNN引擎;最后在自己的应用程序中嵌入对TNN的调用,都有详细的模型来辅助完成。

腾讯优图不断对优质项目持续开源,促进构建友好开发者生态,为中国企业的科技力量添砖加瓦。

(声明:本文仅代表作者观点,不代表新浪网立场。)

分享到:
保存   |   打印   |   关闭