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

简介: 6月10日,腾讯优图实验室开源了一款深度学习推理框架TNN,高效解锁计算机视觉算法。

微信图片_20220109113443.jpg


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


        微信图片_20220109113457.png


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

 

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

 

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

https://github.com/Tencent/TNN

 

计算优化,算力强


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

 

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


      微信图片_20220109113501.png 


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


        微信图片_20220109113503.png      

 

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


       微信图片_20220109113505.png 


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


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


      微信图片_20220109113508.jpg    


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

        微信图片_20220109113510.png      

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


参考链接:


https://github.com/Tencent/TNN

相关文章
|
6天前
|
机器学习/深度学习 监控 算法
m基于深度学习网络的活体人脸和视频人脸识别系统matlab仿真,带GUI界面
m基于深度学习网络的活体人脸和视频人脸识别系统matlab仿真,带GUI界面
12 0
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
大数据分析的技术和方法:从深度学习到机器学习
大数据时代的到来,让数据分析成为了企业和组织中不可或缺的一环。如何高效地处理庞大的数据集并且从中发现潜在的价值是每个数据分析师都需要掌握的技能。本文将介绍大数据分析的技术和方法,包括深度学习、机器学习、数据挖掘等方面的应用,以及如何通过这些技术和方法来解决实际问题。
22 2
|
1月前
|
人工智能 API 数据安全/隐私保护
Azure AI - Azure人脸识别任务概述与技术实战
Azure AI - Azure人脸识别任务概述与技术实战
87 1
|
1月前
|
机器学习/深度学习 并行计算 PyTorch
CUDA驱动深度学习发展 - 技术全解与实战
CUDA驱动深度学习发展 - 技术全解与实战
97 1
|
1月前
|
机器学习/深度学习 数据采集 人工智能
基于深度学习的活体人脸识别检测算法matlab仿真
基于深度学习的活体人脸识别检测算法matlab仿真
|
5天前
|
机器学习/深度学习 自然语言处理 大数据
深度学习中的卷积神经网络优化技术探析
【2月更文挑战第4天】在深度学习领域,卷积神经网络(CNN)一直扮演着重要角色,但其训练和推理过程中存在许多挑战。本文将从优化角度出发,探讨卷积神经网络中的权重初始化、损失函数设计、学习率调整等优化技术,旨在为深度学习爱好者提供一些实用的技术感悟和分享。
9 3
|
6天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习技术在自然语言处理中的应用与思考
【2月更文挑战第3天】 传统的自然语言处理技术在处理复杂语义和语法问题时存在诸多限制,而深度学习技术的崛起为解决这一难题提供了新的可能性。本文将探讨深度学习技术在自然语言处理领域的应用现状及未来发展趋势,以及对技术发展的思考和展望。
|
8天前
|
机器学习/深度学习 测试技术 PyTorch
你有多久没看过人脸识别的文章了?X2-SoftMax开源,ArcFace与MagFace都黯然失色了
你有多久没看过人脸识别的文章了?X2-SoftMax开源,ArcFace与MagFace都黯然失色了
24 0
你有多久没看过人脸识别的文章了?X2-SoftMax开源,ArcFace与MagFace都黯然失色了
|
28天前
|
机器学习/深度学习 算法 数据可视化
【模式识别】解锁降维奥秘:深度剖析PCA人脸识别技术
【模式识别】解锁降维奥秘:深度剖析PCA人脸识别技术
7 0
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习技术的崭新前沿与应用展望
深度学习技术作为人工智能领域的热点之一,正不断推动着科学技术的发展。本文将探讨深度学习技术的最新进展,以及其在各个领域中的应用前景,从自然语言处理到计算机视觉,从医疗保健到智能交通,深度学习正为我们的生活和工作带来巨大的变革。