欢迎学习ncnn系列相关文章,从训练、模型转换、精度分析,评估到部署Android端,推荐好资源:
一、YoloV5训练自己数据集并测试
二、ncnn编译和安装
三、onnx模型转ncnn模型并推理可执行程序(resnet18例子)
四、yolov5-6.0Pyotorch模型转onxx模型再转ncnn模型部署
五、训练自己YOLOv5模型转ncnn模型并部署到Android手机端
目录
一、ncnn
ncnn 是一个为手机端极致优化的高性能神经网络前向计算框架。它是由腾讯开发的,专为移动设备和嵌入式系统设计,旨在提供快速、低功耗、小型的深度学习推理解决方案。
1.1 ncnn特点
高性能:无第三方依赖,跨平台,手机端 CPU 的速度快于目前所有已知的开源框架。
易于部署:基于 ncnn,开发者能够将深度学习算法轻松移植到手机端高效执行,开发出人工智能 APP。
广泛应用:ncnn 目前已在腾讯多款应用中使用,如:QQ,Qzone,微信,天天 P 图等。
二、ncnn源码下载
ncnn官网地址为:ncnn
ncnn超多部署例子:ncnn例子
2.1 官网直接下载
2.2 git下载
2.2.1 ncnn源码
我更推荐使用git下载,上面方法也行。
在终端cd到要存放ncnn源码包的路径下,运行下面命令下载ncnn源码包:
git clone https://github.com/Tencent/ncnn.git
2.2.2 第三方依赖库下载
上面ncnn源码下载好后,通过下面命令安装依赖的第三方库。
cd ncnn
git submodule update --init
三、相关库下载与安装
相关库的下载使用下面命令:
sudo apt install build-essential git cmake libprotobuf-dev protobuf-compiler libvulkan-dev vulkan-utils libopencv-dev
四、ncnn编译及安装
4.1 创建build文件夹
在ncnn包根目录下新建一个build文件夹,如下:
4.2 CMakeLists.txt文件
在VSCode编译器中打开ncnn源码包,如下:
开启CMakeLists.txt文件中的BENCHMARK和VULKAN(打印每次耗时和开启vulkan加速打开),命令见下:
cmake .. -DNCNN_BENCHMARK=ON -DNCNN_VULKAN=ON
4.3 编译
编译使用下面命令:
make -j8
4.4 安装
成功编译后,对编译后的库进行安装,默认会在build目录下新建一个install文件夹来安装,安装命令见下:
sudo make install
4.4.1 解析安装后的build目录
下面是bin目录下的文件,bin目录下存放模型转换工具,里面的每一个工具都是有tools文件夹中的每个文件对应生成的
,包含了很多模型之间相互转换的工具:
五、验证是否编译成功
进入到ncnn/example目录下执行命令:
../build/examples/squeezenet ../images/256-ncnn.png
上面命令中第一个参数为需要执行的程序,第二个参数为测试图像路径。
运行上面命令后,如果输出类似下面的内容,说明编译成功。
六、总结
以上就是ncnn编译和安装过程,此教程是在Ubuntu系统上操作的,其它系统的参考编译和安装。
总结不易,多多支持,谢谢!
感谢您阅读到最后!关注公众号「视觉研坊」,获取干货教程、实战案例、技术解答、行业资讯!