【經驗分享】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 工程


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM