Windows10下编译NCNN安卓NDK
生活随笔
收集整理的這篇文章主要介紹了
Windows10下编译NCNN安卓NDK
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
前言
- 在做安卓端的目標(biāo)識(shí)別相關(guān)項(xiàng)目,用到Y(jié)oloV5,原本只用OpenCV的DNN來(lái)做模型推理,但速度達(dá)不到要求,所以轉(zhuǎn)向移動(dòng)端推理加速庫(kù),試了mnn、PaddlePaddle,ncnn,做了對(duì)比,最終確定用ncnn做推理加速庫(kù)。ncnn的各個(gè)模塊的強(qiáng)大無(wú)須多說(shuō),特別int8量化真的超級(jí)好用。如果你沒(méi)有自己添加代碼或者添加自定義的層,建議直接下載ncnn的releases庫(kù)直接就行。但我這里用到y(tǒng)olov5,要添加一個(gè)自定義的層,所以要自己編譯。
- Windows10系統(tǒng),IDE是Android Studio,CMake 3.21。
- ncnn-20210720, 要用到GPU,所以要下VulkanSDK 1.2.141.2。
一、環(huán)境安裝
1.安裝CMake,并把xxx\xxx\CMake\bin添加系統(tǒng)環(huán)境變量。
2.安裝Vulkan各它的依賴庫(kù)。
-
- Vulkan
https://vulkan.lunarg.com/sdk/home
版本:VulkanSDK-1.2.141.2
直接點(diǎn)擊安裝,把之后驗(yàn)證是否安裝成功,運(yùn)行xxx\VulkanSDK\1.2.141.2\Bin\vkcube.exe,出現(xiàn)下面圖像代表安裝成功。
- Vulkan
-
glfw
https://www.glfw.org/
把glfw-3.3.2.bin.WIN64復(fù)制到VulkanSDK\1.2.141.2\Third-Party -
GLM
https://github.com/g-truc/glm/
把GLM復(fù)制到VulkanSDK\1.2.141.2\Third-Party -
添加系統(tǒng)環(huán)境變量
二、編譯NCNN
1.編譯之前要下載安卓NDK,我這里用android-ndk-r21e-windows-x86_64.zip這個(gè)版本,下載之后解壓,添加系統(tǒng)環(huán)境變量xxx\android-ndk-r21e和xxx\android-ndk-r21e\build,然后驗(yàn)證是否成功,在ndk根目錄下打開cmd窗口,運(yùn)動(dòng)ndk-build,輸出:
2.編譯NCNN。
- 打開cmd,git NCNN最新源碼
- 從下載NCNN releases 庫(kù)可以看到,有四個(gè)庫(kù)目錄,如下圖:
這些的具體作用可以看安卓關(guān)于NDK ABI的介紹。 - 在ncnn源碼的根目錄下創(chuàng)建這四個(gè)目錄,如下圖:
- 構(gòu)建armv7 庫(kù),這個(gè)可以看NCNN官網(wǎng)給的Build for Android.
- 構(gòu)建aarch64 庫(kù)
- 構(gòu)建x86庫(kù)
- 構(gòu)建x86_64庫(kù)
- 構(gòu)建完成之后,在每個(gè)build目錄下都有一個(gè)install目錄,目錄里面有include和lib兩個(gè)目錄,這就是最終要用的庫(kù)。
總結(jié)
以上是生活随笔為你收集整理的Windows10下编译NCNN安卓NDK的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Yolov5身份证检测——C++ Ope
- 下一篇: YOLOX——Windows 10下环境