一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第4天,点击查看活动详情。
欢迎关注我的公众号 [极智视界],获取我的更多笔记分享
大家好,我是极智视界。本教程详细记录了在 ubuntu 上安装端侧推理框架 ncnn 的方法。
1、安装依赖
sudo apt install build-essential git cmake libprotobuf-dev protobuf-compiler libvulkan-dev vulkan-utils
复制代码
也需依赖opencv,这个源码编吧,可以看教程《【经验分享】ubuntu源码编译opencv》。
2、编译
cd ncnn
mkdir build
cd build
cmkae -DCMAKE_BUILD_TYPE=Release ..
make -j32
复制代码
3、测试
cd ../examples
../build/examples/squeezenet ../images/256-ncnn.png
复制代码
正常输出说明已经安装成功。
测试一下性能。
cd ../benchmark
## 第四个参数是 GPU deive index
## 若要使用 CPU,设置第五个参数为 -1
../build/benchmark/benchncnn 10 32 0 0
复制代码
到目前都很顺利,如果你以为这样就结束了,那就错了哈哈。
接着。。
4、打开 Vulkun
先说一下什么是 Vulkun,Vulkan 是一个跨平台的 2D 和 3D 绘图应用程序 API,其作者科纳斯组织([Khronos Group](baike.baidu.com/item/Khrono… Group/87000))最先把 VulkanAPI 称为 “下一代OpenGL行动” / “glNext”。
安装 Vulkun。
wget https://sdk.lunarg.com/sdk/download/1.2.182.0/linux/vulkansdk-linux-x86_64-1.2.182.0.tar.gz
tar -xvf vulkansdk-linux-x86_64-1.2.182.0.tar.gz
vim ~/.bashrc
## 加入
export VULKAN_SDK=/path/to/1.2.182.0/x86_64
## 使生效
source ~/.bashrc
复制代码
重新编译:
扫描二维码关注公众号,回复:
13768331 查看本文章
cd ncnn/build
rm -rf ./*
cmake -DCMAKE_BUILD_TYPE=Release -DNCNN_VULKAN=ON -DNCNN_SYSTEM_GLSLANG=ON -DNCNN_BUILD_EXAMPLES=ON ..
复制代码
这个时候你可能会出现如下报错:
不要慌,去 CMakeLists.txt 的 244 行看看:
很明显吧,找不到 ncnn/glslang/CMakeLists.txt,回头看看 ncnn/glslang 是空的:
好办,如下操作:
cd ncnn
git clone https://github.com/KhronosGroup/glslang.git
## 如果你 github 网速慢的话,可以用这个
git clone https://gitee.com/jeremyjj/glslang.git
复制代码
这样你的 ncnn/glslang 就有东西了:
来,让我们重新编。
cd ncnn/build
rm -rf ./*
cmake -DCMAKE_BUILD_TYPE=Release -DNCNN_VULKAN=ON -DNCNN_SYSTEM_GLSLANG=ON -DNCNN_BUILD_EXAMPLES=ON ..
make -j32
复制代码
不出意外的话就 OK 了(开32个线程编译贼快)。
你同样可以跑下示例验证一下:
cd ../examples
../build/examples/squeezenet ../images/256-ncnn.png
复制代码
好了,收工~ 以上分享了 ubuntu 安装 ncnn 的方法,希望我的分享能对你的学习有一点帮助。
【公众号传送】