NCNN入门之编译与安装
创作时间:
作者:
@小白创作中心
NCNN入门之编译与安装
引用
CSDN
1.
https://blog.csdn.net/qq_53144843/article/details/141742689
NCNN是一个为手机端极致优化的高性能神经网络前向计算框架。它从设计之初就深刻考虑手机端的部署和使用,具有无第三方依赖、跨平台、计算速度快等特点。目前,NCNN已在腾讯多款应用中使用,如QQ、Qzone、微信、天天P图等。本文将详细介绍NCNN的编译与安装过程。
一、NCNN介绍
功能概述
- 支持卷积神经网络,支持多输入和多分支结构,可计算部分分支
- 无任何第三方库依赖,不依赖 BLAS/NNPACK 等计算框架
- 纯 C++ 实现,跨平台,支持 Android / iOS 等
- ARM Neon 汇编级良心优化,计算速度极快
- 精细的内存管理和数据结构设计,内存占用极低
- 支持多核并行计算加速,ARM big.LITTLE CPU 调度优化
- 支持基于全新低消耗的 Vulkan API GPU 加速
- 可扩展的模型设计,支持 8bit量化和半精度浮点存储,可导入 caffe/pytorch/mxnet/onnx/darknet/keras/tensorflow(mlir) 模型
- 支持直接内存零拷贝引用加载网络模型
- 可注册自定义层实现并扩展
总之,NCNN是一个专门为移动设备和嵌入式系统设计的高效神经网络推理框架,以其轻量级、高性能、跨平台和易用性赢得了广泛的应用。它特别适合那些需要在资源有限的环境中部署深度学习模型的场景。
二、NCNN编译
使用以下命令安装所有必需的依赖项:
sudo apt install build-essential git cmake libprotobuf-dev protobuf-compiler libomp-dev libvulkan-dev vulkan-utils libopencv-dev
NCNN源码下载:
git clone https://github.com/Tencent/ncnn.git
cd ncnn
git submodule update --init
进入 NCNN 源码目录后,使用 CMake 配置和编译项目:
#在ncnn主目录下
mkdir build && cd build
cmake .. -DNCNN_BENCHMARK=ON -DNCNN_VULKAN=ON
make -j8
这部分代码是ncnn的主目录下CMakeLists.txt里的内容,用于控制构建选项,设置NCNN_BENCHMARK=ON可以打印出每个算子的耗时,NCNN_VULKAN=ON可以开启vulkan加速。
成功编译,对编译后的库进行安装,默认安装的根目录是:
your_dir/ncnn/build/install/
,也就是会在build目录下新建一个install目录来安装。
sudo make install
三、NCNN测试
安装成功后检查是否环境是否正确。
cd ../examples
../build/examples/squeezenet ../images/256-ncnn.png
运行结果:至此ncnn的编译与安装已经完成。
四、参考文档
- 如果在其它平台(arm、树莓派、安卓)编译可以参考如下:https://github.com/Tencent/ncnn/wiki/how-to-build
- 编译成最小体积:https://github.com/Tencent/ncnn/wiki/build-minimal-library
- 学习文档:https://github.com/Tencent/ncnn/wiki
- ncnn文档:https://ncnn.readthedocs.io/en/latest/index.html
热门推荐
玉吊坠怎么清洗
陶瓷电容器MLCC的结构和原理及陶瓷电容的常用品牌
麻辣串串香
最新报告:全球少女赋权取得进展,但相关努力仍有不足
共建共治共享:一种新型社会治理模式
泰森的历史地位是被高估了,还是被低估了?
如何增强体质预防流感?这些中医方法可以一试
如何设计一个吸引人的offer模板?
申请司法鉴定的条件和程序有哪些
为什么第二次总是更火?探讨感情中的重逢与升温
托马斯·亨特·摩尔根学术成就
民间借贷纠纷处理指南:从暴力催收到利息计算
乐观和悲观分别适合什么情况下使用呢
自装新手流程整理,让小白轻松了解
定时任务不再难,schedule库轻松搞定
如何将体积单位转换为重量单位?这些转换方法如何帮助理解黄金重量?
不锈钢的热处理工艺究竟是怎么样的?
晶振元器件属于被动元器件吗?
晚上3点至5点是肺部排毒的最佳时段
大叶落地生根怎么养(大叶落地生根的养殖注意事项)
能量:人生影响与提升策略的深度解析
不同版本的BLE和WiFi有什么区别?
世界之树的印记:历史的见证与文化的传承
如何调整睡姿以避免颈椎问题
不让家居隐私裸奔:门窗做好防范,玻璃得有方案
太极球作用和锻炼方法
可视化图表:热力图一文扫盲,冷暖一目了然。
五日减肥法减肥食谱(5天轻断食正确顺序)
居家"小改造",老人更"幸福"!
物业法对车位的规定