添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
备案 控制台
学习
实践
活动
专区
工具
TVP
写文章
专栏首页 腾讯开源的专栏 深度学习必备!解读腾讯优图首个开源项目ncnn
7 1

海报分享

深度学习必备!解读腾讯优图首个开源项目ncnn

作者简介

倪辉,喜爱C/C++,腾讯优图实验室基础研究组高级研究员,负责图像和人脸相关的技术研究和软件开发,非常热爱开源社区,系腾讯社交网络事业群首个AI开源项目ncnn负责人。

ncnn ( GitHub地址:https://github.com/Tencent/ncnn,点击“阅读全文”也可直接访问 )是一个为手机端极致优化的高性能神经网络前向计算框架。ncnn 从设计之初深刻考虑手机端的部署和使用。无第三方依赖,跨平台,手机端 CPU 的速度快于目前所有已知的开源框架。基于 ncnn,开发者能够将深度学习算法轻松移植到手机端高效执行,开发出人工智能 APP,将 AI 带到你的指尖。ncnn 目前已在腾讯多款应用中使用,如 QQ,Qzone,微信,天天P图等。

历程和背景

深度学习算法要在手机上落地,现成的 caffe-android-lib 项目依赖太多,手机上基本不支持cuda,需要个又快又小的前向网络实现。单纯的精简 caffe 等框架依然无法满足手机 APP 对安装包大小,运算速度等的苛刻要求。作者在严谨分析后认为,只有全部从零开始设计才能做出适合移动端的前向网络实现,因此从最初的架构设计便以手机端运行为主要原则,考虑了手机端的硬件和系统差异以及调用方式。

经过一年多的持续开发,基本实现了卷积神经网络的所有特性,精细调优后的效率领先目前一切已知的开源框架。ncnn 目前已在腾讯许多APP中使用,经过大量的实践测试,稳定性很好。作为腾讯对开源社区的贡献,希望能为人工智能的发展助力,将更多的深度学习研究成果落地到用户面前,提升人类生活品质。

同类框架对比

对比目前已知的同类框架,ncnn是CPU框架中最快,安装包体积最小,跨平台兼容性中最好的。CoreML 是苹果主推的 iOS GPU 计算框架,速度非常快,但仅支持 iOS 11 以上的 iphone 手机,落地受众太狭窄,非开源导致开发者无法自主扩展功能,对开源社区不友好。

功能概述

支持卷积神经网络,多输入和多分支

ncnn 支持卷积神经网络结构,以及多分支多输入的复杂网络结构,如主流的 vgg、googlenet、resnet、squeezenet 等。

计算时可以依据需求,先计算公共部分和 prob 分支,待 prob 结果超过阈值后,再计算 bbox 分支。 如果 prob 低于阈值,则可以不计算 bbox 分支,减少计算量。

无任何第三方库依赖

ncnn 不依赖任何第三方库,完全独立实现所有计算过程,不需要 BLAS/NNPACK 等数学计算库。

纯 C++ 实现,跨平台

ncnn 代码全部使用 C/C++ 实现,以及跨平台的 cmake 编译系统,可在已知的绝大多数平台编译运行,如 Linux,Windows,MacOS,Android,iOS 等。