深度学习框架大PK:TNN决战MNN,ncnn依旧经典

新闻 深度学习
6月10日,腾讯优图实验室开源了一款深度学习推理框架TNN,高效解锁计算机视觉算法。开发者社区内,许多用户将其与ncnn,MNN等开源框架作比较。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

近年来,开发者社区中,「开源」成了新流行趋势。

尤其是深度学习框架,自腾讯2017年将ncnn开源之后,各大AI实验室都「慷慨」的将自己的框架开源,以实现较为快速的创新。

今年6月10日,腾讯又宣布基于ncnn设计的深度学习推理框架TNN也将开源。TNN开源后,许多开发者都将其与ncnn,MNN等开源框架作比较。

TNN性能略胜一筹,「剑指」移动端;MNN通用性表现更佳

TNN设计之初一方面是为了提高算力,另一方面强调了对移动设备的支持。不然用户就没必要放弃生态很好的MNN和大家都熟悉的ncnn来使用TNN了。

TNN是基于ncnn开发的,对其进行重构升级。除了算力显著的提升以外,基于TNN开发者还可以将深度学习算法移植到手机端,开发移动端的AI产品。

为了比较MNN,ncnn和TNN的性能,在以下的主流平台做了测试:

可以看到性能方面TNN还是有优势的。但是有些环境下的测试其实和MNN还是不相上下,阿里的开发团队也说,TNN的性能激励了MNN的提高,但相比当年2000ms到700ms的飞越还是差点意思。

TNN性能提升的关键是低精度计算,之前讲的没有办法移植到移动端的本质原因是手机处理器比较薄弱,因此框架适应中低端机是非常重要的。TNN在这方面做的很好,在中低端机上的性能提升约20%。

通用、轻便也是TNN框架的亮点之一,解决了一部分不同框架间的模型转换问题。但是TNN的模型转换需要基于ONNX,而不像MNN那样直接支持。操作上只是多了一步,通用性上又大打折扣了。

通用性上MNN的优势也不容置喙,MNN在通用性上下了很大的功夫,你看支持的算子数目就可以知道这算是MNN的一个工作重点。

算子实现上,MNN在计算后端的支持也是最广的。除了ARM v8.2,MNN在GPU算子的支持上也远超于其他两个框架。

再讲讲开源的一个重要问题:代码可读性。尽管CPU的代码框架上,TNN和ncnn非常像,但是风格和结构远超ncnn,更加的易读。这点MNN也做得很不错,MNN和TNN在代码各结构上还是有很多相似点。这些相似点让MNN到TNN做代码迁移变的没有那么复杂。

总的来说,ncnn作为2017年第一个开源的框架,非常经典。在TNN和MNN的性能差距不大的情况下,选择哪个框架就属于因人而异的事情,各有各的优势。

从ncnn开始,深度学习框架开源已成大趋势

虽然企鹅最近因为一些花边新闻老是被调侃,但是深度学习框架开源这方面,真的要感谢这个傻白甜鹅在2017年7月开源的ncnn。几乎开启了深度学习框架开源的「热潮」。

在业界各方人士三年不懈努力(内卷)下,VGG16 在 RK3399 上单核心的推理速度从 2000 ms+ 压榨到了 700 ms+。这之中也正是因为开源,才能够集众人智慧,得到如此卓越的性能提升。

ncnn作为元老级别的框架,本身就是为移动平台优化的高性能神经网络推理计算来开发的。从设计之初,ncnn就在手机上进行部署和使用深思熟虑。ncnn当前在许多腾讯应用程序中使用,包括我们熟悉的微信、QQ等。

[[332242]]

MNN也是具有重大意义的一个开源框架。MNN是一个高效,轻量的深度学习框架。它支持深度模型推理与训练,尤其是在端侧的推理与训练性能在其中领先领先。目前,MNN已经在阿里巴巴的手机淘宝,手机天猫,优酷,钉钉,闲鱼等20个应用中使用。

MNN对于性能的提升有着卓越的贡献,因此也成为开发者的框架首选。

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

除了这三个主流的框架,还有一些也经常被使用的框架,例如PPL。但是PPL现在还没有开源,可能商汤还是想「有所保留」的。其实ncnn开源的时候PPL就出来说过他们的性能更好,PPL其实也是被开发者们经常使用的框架之一了。

百度开源了一个叫做Padle-Lite的框架。Paddle-Mobile是一个开放源代码的深度学习框架,旨在简化在移动,嵌入式和IoT设备上的推理。它与PaddlePaddle和其他来源的预训练模型兼容。

开源框架甚至有雷总的身影,小米主体业务还是在硬件方面,开源框架确实很稀奇。MACE是一个深度学习推理框架,针对Android,iOS,Linux和Windows设备上的移动异构计算进行了优化。

最后,方便大家使用,放上开源框架大礼包:

ncnn:https://github.com/Tencent/ncnn

MNN:https://github.com/alibaba/MNN

TNN:https://github.com/Tencent/TNN

PL:https://github.com/PaddlePaddle/Paddle-Lite

MACE:https://github.com/XiaoMi/mace

 

责任编辑:张燕妮 来源: 新智元
相关推荐

2019-06-26 05:29:44

深度学习KerasPyTorch

2019-11-19 09:58:16

机器学习人工智能框架

2023-09-07 10:37:43

OCR项目字符串

2017-05-05 10:15:38

深度学习框架对比分析

2022-02-25 20:44:28

框架深度学习架构

2019-05-07 14:42:03

深度学习编程人工智能

2022-04-29 09:33:58

PHP框架Laravel

2017-03-06 15:25:47

PyTorchMxnet深度学习

2019-03-06 09:55:54

Python 开发编程语言

2020-02-25 15:04:48

深度学习编程人工智能

2017-03-01 13:36:41

TensorFlowTheano框架

2017-07-05 14:21:30

框架TensorFlowTheano

2021-11-05 12:59:51

深度学习PytorchTenso

2016-12-15 09:44:31

框架Caffe源码

2021-03-15 10:03:10

框架自动化开发

2020-01-23 15:08:02

开源技术 趋势

2022-11-25 07:35:57

PyTorchPython学习框架

2022-04-17 23:09:07

深度学习人工智能芯片

2023-06-27 16:42:18

Tinygrad深度学习工具

2021-11-27 05:03:09

框架深度学习
点赞
收藏

51CTO技术栈公众号