腾讯优图「ncnn」荣获
2020年度十大开源新锐项目!
关于ncnn
「ncnn」是一个针对移动平台优化的高性能神经网络推理框架,并在2017年7月正式开源。ncnn是腾讯优图最“火”的开源项目之一,作为一个为手机端极致优化的高性能神经网络前向计算框架,在设计之初便将手机端的特殊场景融入核心理念,是业界首个为移动端优化的开源神经网络推断库。能实现无第三方依赖,跨平台操作,在手机端cpu运算速度在开源框架中处于领先水平。基于该平台,开发者能够轻松将深度学习算法移植到手机端,输出高效的执行,进而产出人工智能APP,将AI技术带到用户指尖。
它支持大部分常用的 CNN 网络,包括Classical CNN、Practical CNN、Light-weight CNN、Face Detection等,并拥有十分强大的功能👇
1 |
支持卷积神经网络,支持多输入和多分支结构 |
2 |
无任何第三方库依赖 |
3 |
纯 C++ 实现,跨平台,支持 android、ios 等 |
4 |
内存占用极低,计算速度极快 |
5 |
支持多核并行计算加速 |
6 |
可扩展的模型设计,支持 8bit 量化和半精度浮点存储 |
|
目前应用在许多图像分类、风格迁移、目标检测、人脸检测案例中,并已被多款APP使用。欢迎大家前来评测使用👇
https://github.com/Tencent/ncnn
Classical CNN: VGG AlexNet GoogleNet Inception ...
Practical CNN: ResNet DenseNet SENet FPN ...
Light-weight CNN: SqueezeNet MobileNetV1/V2/V3 ShuffleNetV1/V2 MNasNet ...
Face Detection: MTCNN RetinaFace ...
Detection: VGG-SSD MobileNet-SSD SqueezeNet-SSD MobileNetV2-SSDLite MobileNetV3-SSDLite ...
Detection: Faster-RCNN R-FCN ...
Detection: YOLOV2 YOLOV3 MobileNet-YOLOV3 YOLOV4 YOLOV5 ...
Segmentation: FCN PSPNet UNet YOLACT ...
Pose Estimation: SimplePose ...
支持卷积神经网络,支持多输入和多分支结构,可计算部分分支
无任何第三方库依赖,不依赖 BLAS/NNPACK 等计算框架
纯 C++ 实现,跨平台,支持 android ios 等
ARM NEON 汇编级良心优化,计算速度极快
精细的内存管理和数据结构设计,内存占用极低
支持多核并行计算加速,ARM big.LITTLE cpu 调度优化
支持基于全新低消耗的 vulkan api GPU 加速
整体库体积小于 700K,并可轻松精简到小于 300K
可扩展的模型设计,支持 8bit 量化和半精度浮点存储,可导入 caffe/pytorch/mxnet/onnx/darknet/keras/tensorflow(mlir) 模型
支持直接内存零拷贝引用加载网络模型
可注册自定义层实现并扩展
恩,很强就是了,不怕被塞卷 QvQ
https://github.com/Tencent/ncnn/releases
download ncnn-android-vulkan-lib.zip or build ncnn for android yourself
extract ncnn-android-vulkan-lib.zip into app/src/main/jni or change the ncnn path to yours in app/src/main/jni/CMakeLists.txt
open this project with Android Studio, build it and enjoy!
caffe-android-lib, mini-caffe, and ncnn对比
squeezenet_v1.1
mobilenet_v1
vgg16
/End.
后台回复“NCNN”
获取Yolov5实践源码下载地址