ncnn 是一个针对移动平台优化的高性能神经网络推理计算框架。ncnn 从设计之初就深思熟虑在手机上的部署和使用。ncnn 没有第三方依赖项。它是跨平台的,并且比所有已知的手机 CPU 上的开源框架运行得更快。开发者可以通过高效的 ncnn 实现,轻松地将深度学习算法模型部署到移动平台,打造智能 APP,让人工智能触手可及。ncnn 目前在腾讯的很多应用中都有使用,比如 QQ、QQ 空间、微信、皮图等等。
特征
-
支持卷积神经网络,支持多输入和多分支结构,可以计算部分分支 -
无第三方库依赖,不依赖 BLAS/NNPACK 或任何其他计算框架 -
纯 C++实现,跨平台,支持 Android、iOS 等 -
ARM NEON 汇编级精心优化,计算速度极高 -
精密的内存管理和数据结构设计,内存占用极低 -
支持多核并行计算加速、ARM big.LITTLE CPU 调度优化 -
通过下一代低开销 Vulkan API 支持 GPU 加速 -
可扩展的模型设计,支持 8bit 量化和半精度浮点存储,可导入 caffe/pytorch/mxnet/onnx/darknet/keras/tensorflow(mlir)模型 -
支持直接内存零拷贝引用加载网络模型 -
可以注册自定义层实现并扩展
支持最常用的 CNN 网络
-
经典 CNN:VGG AlexNet GoogleNet Inception. -
实用 CNN:ResNet DenseNet SENet FPN … -
轻量级 CNN:SqueezeNet MobileNetV1 MobileNetV2/V3 ShuffleNetV1 ShuffleNetV2 MNasNet … -
人脸检测:MTCNN RetinaFace scrfd … -
检测:VGG-SSD MobileNet-SSD SqueezeNet-SSD MobileNetV2-SSDLite MobileNetV3-SSDLite … -
细分:FCN PSPNet UNet YOLACT …
支持的平台矩阵
项目实例
https://github.com/nihui/ncnn-android-squeezenethttps://github.com/nihui/ncnn-android-styletransfer
https://github.com/nihui/ncnn-android-mobilenetssd
https://github.com/moli232777144/mtcnn_ncnn
https://github.com/nihui/ncnn-android-yolov5
传送门
开源地址:https://github.com/Tencent/ncnn
-END-
原文始发于微信公众号(开源技术专栏):腾讯开源高性能的手机端神经网络计算框架
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/240470.html