腾讯开源高性能的手机端神经网络计算框架

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-squeezenet腾讯开源高性能的手机端神经网络计算框架https://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

(0)
葫芦侠五楼的头像葫芦侠五楼

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!