赞
踩
这篇文章主要是看这个UP的教学视频lesson14_NCNN之视频的讲解安装(包含Cmake,opencv,protobuf,vulkan,ncnn)_哔哩哔哩_bilibili,成功安装部署成功,也有踩到一些小坑,这里写出来分享给大家一起探讨。
参考文章:windows下OpenCV的安装配置部署详细教程
主要看前面2小节,后面的下面会讲。主要看怎么下载和配置环境变量。
windows10下面的Vulcan安装比较简单,直接去Vulcan官网下载.exe文件安装即可,可以自由选择安装路径。我这里安装的是 Vulcan 1.2.182.0。注意如果要使用vulcan并使用GPU加速,则参考这篇博客。
安装完成之后需要将bin文件加入环境变量
为了能有在windows下编译c++的能力,需要安装visual studio,我安装的是最新版的visual studio2022,下载地址:Visual Studio: 面向软件开发人员和 Teams 的 IDE 和代码编辑器 (microsoft.com)我安装的是community版本,下载之后双击.exe文件,选择安装“*.NET桌面开发、使用C++的桌面开发、使用window平台开发*”三项。
可以自己选择安装路径,避免C盘占用过大
需要选择以下3个打勾的,不然会影响后面protobuf和ncnn的编译。
现在地址:Releases · protocolbuffers/protobuf (github.com)
我安装的是3.21.12版本的,我看网上很多博客都是安装3.4.0的版本,3.21.12版本亲测有效,大家放心安装,如下图选择
然后解压后使用这个打开终端,一定要使用这个,使用windows的cmd和power shell是没作用的。
”cd“命令进入解压后的protobuf-cpp-3.21.12的目录,输入以下的指令进行protobuf的编译
mkdir build_vs
cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%cd%/install -Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_MSVC_STATIC_RUNTIME=OFF ../cmake
nmake
nmake install
出现以下的界面基本就是成功了
”nmake“的过程比较久,耐心等待。
将ncnn下载到你的路径下面,我这里安装的是,比如我通过将源码下载到下面的位置并解压缩
看有博客说自己git clone ncnn的博客有可能编译不通过,所以比较推荐使用release这里的版本
进入你解压后的工程目录,执行命令
mkdir build_vs
cd build_vs
cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%cd%/install -DProtobuf_INCLUDE_DIR=C:/Ncnn/protobuf-cpp-3.21.12/protobuf-3.21.12/build_vs/install/include -DProtobuf_LIBRARIES=C:/Ncnn/protobuf-cpp-3.21.12/protobuf-3.21.12/build_vs/install/lib/libprotobuf.lib -DProtobuf_PROTOC_EXECUTABLE=C:/Ncnn/protobuf-cpp-3.21.12/protobuf-3.21.12/build_vs/install/bin/protoc.exe -DNCNN_VULKAN=ON ..
nmake
nmake install
其中,C:/Ncnn/protobuf-cpp-3.21.12/protobuf-3.21.12是你自己存放protobuf的工程路径
接下来能出现以下的页面就是成功编译了,
由于Vulkan没有提供窗口创建功能,所以在使用Vulkan前还需要下载窗口创建相关的库,这里我们选择GLFW。
下载GLM库,该库是针对OpenGL的数学库,为了方便数学运算,我们选择下载该库。
具体教程可以参考这篇文章Vulkan介绍与安装 ,内容还是很简单明了的。
这一步主要需要配置包含目录,库目录,运行库目录,附加包含目录,附加库目录和附加依赖项。
打开visual studio,随便新建一个项目,打开属性管理器,右键Release|x64添加新项目属性表,我这里新建了一个叫ncnnSheet的属性表,可以右键保存下来,下次用直接右键Release|x64添加现有项目属性表
之后配置项目属性表,主要配置的地方路径如下:
注意下面的添加路径要看自己的路径!!!
C: VulkanSDK\1.3.246.0\include
C:\Ncnn protobuf-cpp-3.21.12\protobuf-3.21.12\build_vs\installinclude
C:\Ncnnprotobuf-cpp-3.21.12\protobuf-3.21.12\build_vs\install\include\google
C:\Ncnn ncnn-20230223-full-source\build-vs2022\install\include
C:\Ncnn\ncnn-20230223-full-source\build-vs2022\install\include\ncnn
C:\openCV\opencv\build\include\opencv2
C:\openCV\opencv\build\include
C:\VulkanSDK\1.3.246.0\Lib
C:\openCV\opencv\build\x64\vc15\lib
C:\Ncnn\protobuf-cpp-3.21.12\protobuf-3.21.12\build_vs\install\lib
C:\Ncnn\ncnn-20230223-full-source\build-vs2022\install\lib
C:\Ncnn\protobuf-cpp-3.21.12\protobuf-3.21.12\build_vs\install\bin
C:\VulkanSDK\1.3.246.0\Include
C:\Ncnn\ncnn-20230223-full-source\buildvs2022\install\lib
C:\VulkanSDK\GLFW\libvc2022
C:\VulkanSDK\1.3.246.0\Bin
C:\VulkanSDK\1.3.246.0\Include
C:\VulkanSDK\1.3.246.0\Lib
vulkan-1.lib
glfw3.lib
ncnn.lib
opencv_world460.lib
libprotobuf.lib
glslang.lib
SPIRV.lib
OGLCompiler.lib
OSDependent.lib
Machinelndependent.lib
GenericCodeGen.lib
注意这里的opencv_world460.lib得看你自己的opencv的lib库中叫什么。
最后测试整体是否能跑通,可以详见我下一篇博客,在windows下使用ncnn部署加速神经网络(以resnet18为例),主要是在pc上部署resnet18。
这一步也可以看上面提到那个UP主的这个教学视频,lesson15_ncnn推理demo分类代码讲解_哔哩哔哩_bilibili
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。