- 开源时间:2017年7月
- 开源用户:腾讯优图
- GitHub地址:https://github.com/Tencent/ncnn
44.1 特点
- NCNN考虑了手机端的硬件和系统差异以及调用方式,架构设计以手机端运行为主要原则。
- 无第三方依赖,跨平台,手机端 CPU 的速度快于目前所有已知的开源框架(以开源时间为参照对象)。
- 基于 ncnn,开发者能够将深度学习算法轻松移植到手机端高效执行,开发出人工智能 APP。
44.2 功能
- NCNN支持卷积神经网络、多分支多输入的复杂网络结构,如vgg、googlenet、resnet、squeezenet 等。
- NCNN无需依赖任何第三方库。
- NCNN全部使用C/C++实现,以及跨平台的cmake编译系统,可轻松移植到其他系统和设备上。
- 汇编级优化,计算速度极快。使用ARM NEON指令集实现卷积层,全连接层,池化层等大部分 CNN 关键层。
- 精细的数据结构设计,没有采用需消耗大量内存的通常框架——im2col + 矩阵乘法,使得内存占用极低。
- 支持多核并行计算,优化CPU调度。
- 整体库体积小于500K,可精简到小于300K。
- 可扩展的模型设计,支持8bit 量化和半精度浮点存储。
- 支持直接内存引用加载网络模型。
- 可注册自定义层实现并扩展。