GitHub - Tencent/ncnn: ncnn is a high-performance neural network inference framework optimized for the mobile platform

标签: | 发表时间:2019-01-26 16:42 | 作者:
出处:https://github.com

ncnn

License Build Status Coverage Status

ncnn is a high-performance neural network inference computing framework optimized for mobile platforms. ncnn is deeply considerate about deployment and uses on mobile phones from the beginning of design. ncnn does not have third party dependencies. it is cross-platform, and runs faster than all known open source frameworks on mobile phone cpu. Developers can easily deploy deep learning algorithm models to the mobile platform by using efficient ncnn implementation, create intelligent APPs, and bring the artificial intelligence to your fingertips. ncnn is currently being used in many Tencent applications, such as QQ, Qzone, WeChat, Pitu and so on.

ncnn 是一个为手机端极致优化的高性能神经网络前向计算框架。ncnn 从设计之初深刻考虑手机端的部署和使用。无第三方依赖,跨平台,手机端 cpu 的速度快于目前所有已知的开源框架。基于 ncnn,开发者能够将深度学习算法轻松移植到手机端高效执行,开发出人工智能 APP,将 AI 带到你的指尖。ncnn 目前已在腾讯多款应用中使用,如 QQ,Qzone,微信,天天P图等。


Support most commonly used CNN network

支持大部分常用的 CNN 网络

  • Classical CNN: VGG AlexNet GoogleNet Inception ...
  • Practical CNN: ResNet DenseNet SENet FPN ...
  • Light-weight CNN: SqueezeNet MobileNetV1/V2 ShuffleNetV1/V2 MNasNet ...
  • Detection: MTCNN facedetection ...
  • Detection: VGG-SSD MobileNet-SSD SqueezeNet-SSD MobileNetV2-SSDLite ...
  • Detection: Faster-RCNN R-FCN ...
  • Detection: YOLOV2 YOLOV3 MobileNet-YOLOV3 ...
  • Segmentation: FCN PSPNet ...

HowTo

how to build ncnn libraryon Linux / Windows / Raspberry Pi3 / Android / iOS

how to use ncnn with alexnetwith detailed steps, recommended for beginners :)

ncnn 组件使用指北 alexnet附带详细步骤,新人强烈推荐 :)

ncnn low-level operation api

ncnn param and model file spec

ncnn operation param weight table

how to implement custom layer step by step


FAQ

ncnn throw error

ncnn produce wrong result


Features

  • Supports convolutional neural networks, supports multiple input and multi-branch structure, can calculate part of the branch
  • No third-party library dependencies, does not rely on BLAS / NNPACK or any other computing framework
  • Pure C ++ implementation, cross-platform, supports android, ios and so on
  • ARM NEON assembly level of careful optimization, calculation speed is extremely high
  • Sophisticated memory management and data structure design, very low memory footprint
  • Supports multi-core parallel computing acceleration, ARM big.LITTLE cpu scheduling optimization
  • The overall library size is less than 500K, and can be easily reduced to less than 300K
  • Extensible model design, supports 8bit quantization and half-precision floating point storage, can import caffe/pytorch/mxnet/onnx models
  • Support direct memory zero copy reference load network model
  • Can be registered with custom layer implementation and extended
  • Well, it is strong, not afraid of being stuffed with 卷 QvQ

功能概述

  • 支持卷积神经网络,支持多输入和多分支结构,可计算部分分支
  • 无任何第三方库依赖,不依赖 BLAS/NNPACK 等计算框架
  • 纯 C++ 实现,跨平台,支持 android ios 等
  • ARM NEON 汇编级良心优化,计算速度极快
  • 精细的内存管理和数据结构设计,内存占用极低
  • 支持多核并行计算加速,ARM big.LITTLE cpu 调度优化
  • 整体库体积小于 500K,并可轻松精简到小于 300K
  • 可扩展的模型设计,支持 8bit 量化和半精度浮点存储,可导入 caffe/pytorch/mxnet/onnx 模型
  • 支持直接内存零拷贝引用加载网络模型
  • 可注册自定义层实现并扩展
  • 恩,很强就是了,不怕被塞卷 QvQ

Example project

技术交流QQ群:637093648(已满qaq) 853969140 答案:卷卷卷卷卷


License

BSD 3 Clause

相关 [github tencent ncnn] 推荐:

GitHub - Tencent/ncnn: ncnn is a high-performance neural network inference framework optimized for the mobile platform

- -
ncnn 是一个为手机端极致优化的高性能神经网络前向计算框架. ncnn 从设计之初深刻考虑手机端的部署和使用. 无第三方依赖,跨平台,手机端 cpu 的速度快于目前所有已知的开源框架. 基于 ncnn,开发者能够将深度学习算法轻松移植到手机端高效执行,开发出人工智能 APP,将 AI 带到你的指尖.

微信Mars 组件 GitHub - Tencent/mars: Mars is a cross-platform network component developed by WeChat.

- -
Mars 是微信官方的跨平台跨业务的终端基础组件. comm:可以独立使用的公共库,包括 socket、线程、消息队列、协程等;. xlog:高可靠性高性能的运行期日志组件;. STN: 信令分发网络模块,也是 Mars 最主要的部分. sample 的使用请参考. gradle 接入我们提供了两种接入方式:.

树莓派NCNN环境搭建 | 异构 AI

- -
前言镜像已经做好了,传到百度网盘中了(请大家及时保存,不定期删除. https://pan.baidu.com/s/1fhiX86L8iL8tsLbsiVa6Wg密码: e64s. SD卡要求:至少16GB,板卡型号为树莓派3B+(其他型号未知). 本系列教程采用树莓派3B+开发板:. 1.4GHz 64位4核 ARM Cortex-A53 CPU.

Ncnn使用详解(2)——Android端 - DmrfCoder的博客 - CSDN博客

- -
本片文章基于你已经完成了 这篇文章的学习,主要介绍如何将写好的c代码应用到Android项目中. 系统:Ubuntu16.04 . 软件:Android Studio. 前期准备之 ndk安装. 在正式开始前我们需要先下载安装ndk,这里介绍一种简单高效的方式,打开Android Studio,然后依次点击File->Settings->Appearance&Behavior->System Settings->Android SDK,然后在SDK Tools下找到ndk,然后选中,点击apply就可以自动下载安装了,如图: .

Home · JohnLangford/vowpal_wabbit Wiki · GitHub

- -
There are two ways to have a fast learning algorithm: (a) start with a slow algorithm and speed it up, or (b) build an intrinsically fast learning algorithm.

git和github简介(上)

- linyehui - 没做完,没准备好
在此贴上本人在Web标准化交流会6月25日北京站的主题分享. 在线PPT:http://jinjiang.github.com/slides/learning-git/. PPT源码:https://github.com/Jinjiang/slides/tree/gh-pages/learning-git.

Github使用指南(转)

- - CSDN博客推荐文章
来自:https://github.com/neuola/neuola-legacy/wiki/github%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97. 如果你只是想了解 github 的使用,请跳到 Github 简介一节. 作为程序员大军之一,想必大家有这样的经历吧.

github 上的好东西

- - 收集分享互联网资源
基于HTML5的专业级图像处理开源引擎.

Windows 下 使用TortoiseGit GitHub

- - CSDN博客研发管理推荐文章
TortoiseGit依赖msysgit,首先下载: http://code.google.com/p/msysgit/downloads/detail?name=msysGit-fullinstall-1.8.1.2-preview20130201.exe&can=2&q=. 再下载TortoiseGit: http://code.google.com/p/tortoisegit/wiki/Download?tm=2.

一个 GitHub Trending 小工具

- - IT瘾-dev
Github Trending基本上是我每天都会浏览的网页,上面会及时发布一些GIthub上比较有潜力的项目,或者说每日Star数增量排行榜. 不过由于Github Trending经常会实时更新,即使你访问得再勤,难免还是会错过一些你感兴趣的项目,为此不少人都想出了自己的解决办法,例如. josephyzhou,他的 github-trending项目得到了众多人的青睐,我仔细阅读了他的源码 (Go),发现实现也较为简单, 就用Python 重写了一下,发现代码少了好多,详见 我的 github-trending.