经验分享win10 cmake 构建 Tengine 工程

Posted 极智视界

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了经验分享win10 cmake 构建 Tengine 工程相关的知识,希望对你有一定的参考价值。

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

O_o>_<o_OO_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 工程》


扫描下方二维码即可关注我的微信公众号【极智视界】,获取更多AI经验分享,让我们用极致+极客的心态来迎接AI !

以上是关于经验分享win10 cmake 构建 Tengine 工程的主要内容,如果未能解决你的问题,请参考以下文章

经验分享win10 通过网络映射共享存储

经验分享ubuntu 配置 mysql 数据库容器与 win10 远程可视化

经验分享vscode远程c++工程gcc或cmake编译单步调试配置

[经验分享] 安装Windows系统遇到的一系列问题排查

CMake 对测试源的处理方式不同吗?

win10下VSCode+CMake+Clang+GCC环境搭建