【经验分享】win10 cmake 构建 Tengine 工程

【经验分享】win10 cmake 构建 Tengine 工程

欢迎关注我的公众号 [极智视界],回复001获取Google编程规范

O_o >_< o_O O_o ~_~ o_O

教程详细记录了在 win10 环境中使用 cmake 快速构建 Tengine vs 工程的方法

前面写过一篇《【经验分享】win10 qmake 构建 ncnn vs 工程》,介绍了在 win10 上使用 nmake 和 qmake 构建 ncnn vs 工程的方法,这里用 cmake 来走一遍 Tengine vs 工程的构建。大家知道,ncnn 和 Tengine 都是低算力场景十分受欢迎的深度学习推理框架,而 cmake 应该是开源项目中使用最多的跨平台编译工具,qmake 则小众一些。把这几篇文章结合起来,你会发现,当你左手一个 ncnn、右手一个 Tengine,左手一个 cmake、右手一个 qmake 时,不管你面对的环境是 windows 还是 linux,不管你部署的目标平台是嵌入式板子还是手机移动端,都能游刃有余。

Come on。

1、准备 Tengine 源码

直接 clone Tengine 的工程代码就行:

git clone https://github.com/OAID/Tengine.git

工程项目结构清晰,像 benchmark、examples、tests 这些就不用多说了,一看就知道拿来干嘛的。说一下 tools,可以看到 tools 里提供了一些实用的工具,以前这些工具如模型转换工具 convert_tool 是单独的 git 项目,现在都揉到 Tengine 工程里来了,使用起来会更加友好一些。刚才说了 convert_tool 是模型转换工具,还有如 optimize 是模型优化工具,quantize 是模型量化工具,目前提供了四种量化算法:min-max、kl、eq、dfq,量化模式有对称量化、非对称量化、逐通道量化,覆盖的场景还是很全面的,点个赞。

2、准备 cmake bat

先提一句,用 vs studio 2019,记住。

整理三个 bat:

  • env.bat:用于环境配置

  • vs_create_project.bat:创建 vs 工程;

  • run_project.bat:运行 vs 工程;

来看一下三个 bat 的具体内容。

env.bat:

SET WATCH_VC_DIR=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build

vs_create_project.bat:

@echo off

call :prepare_env
call :build_vs

goto :EOF
:prepare_env

echo "call env.bat if exist"
if exist env.bat (call env.bat)

goto :EOF

:build_vs

if defined WATCH_VC_DIR (
echo "has WATCH_VC_DIR in env.bat"
) else (
echo "please set the 1 env variables: WATCH_VC_DIR in env.bat, and retry again."
pause
exit
)

call "%WATCH_VC_DIR%\vcvarsall.bat" x64

if exist build (echo "build folder exist.") else (md build)
cd build

cmake -G "Visual Studio 16 2019" -A x64 ..
cd ../

pause
exit

run_project.bat:

set SLN=.\build\tengine-lite.sln

set VC_DIR=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build
call "%VC_DIR%\vcvars64.bat" x64

set OPENCV_PATH=.\third_party\opencv\x64\vc15\bin

SET "PATH=%OPENCV_PATH%;%PATH%"

start devenv.exe %SLN%

3、构建 Tengine 工程

把上面提到的三个 bat 放到 <Tengine_path> 目录下,由于已经做好了上面的准备工作,咱们接下来构建 Tengine 工程的过程会变得十分轻松。

看一下其实刚拿到手的 CmakeList.txt 里有挺多模块的构建都是默认关闭的,如果你想编译某些模块,可以把对应的开关打开,就像我这里打开了 CONVERT_TOOL、QUANT_TOOL 模块一样,如下:

然后开始愉快的编译,拨动鼠标双击就行,执行顺序:env.bat -> vs_create_project.bat -> run_project.bat,完了就自动打开了 vs2019 工程,就像这样:

然后执行编译:

为了证明我不是在胡说,我来跑一下 bentchmark:

以上分享了 win10 环境下用 cmake 来构建 Tengine 工程的方法,希望我的分享能对你的学习有一点帮助。

【公众号分享】

《【经验分享】win10 cmake 构建 Tengine 工程》

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部