PaddleOCR——Visual Studio 2019 环境下C++推理部署 CMake 编译解决方案
PaddleOCR——Visual Studio 2019 環(huán)境下C++推理部署 CMake 編譯解決方案
- 官方文檔
- 環(huán)境配置
- Step1: 下載PaddlePaddle C++ 預測庫 paddle_inference
- Step2: 安裝配置OpenCV
- Step3: 下載PaddleOCR
- Step4: 編譯CMake
- 使用Visual Studio 2019直接編譯CMake
- 使用CMake GUI生成項目Visual Studio 2019編譯CMake
- Step5: 下載模型
- Step6: 預測及可視化
- 常見問題
- 參考文章
官方文檔
https://gitee.com/paddlepaddle/PaddleOCR/blob/develop/deploy/cpp_infer/docs/windows_vs2019_build.md
環(huán)境配置
- Visual Studio 2019
- CUDA 9.0 / CUDA 10.0,cudnn 7+ (僅在使用GPU版本的預測庫時需要)
- CMake 3.19.3
- PaddleOCR 2.0.0
- PaddlePaddle 預測庫 2.0.1
- OpenCV 3.4.6
Step1: 下載PaddlePaddle C++ 預測庫 paddle_inference
PaddlePaddle C++ 預測庫針對不同的CPU和CUDA版本提供了不同的預編譯版本,請根據(jù)實際情況下載: C++預測庫下載列表
解壓后D:\projects\paddle_inference目錄包含內(nèi)容為:
paddle_inference ├── paddle # paddle核心庫和頭文件 | ├── third_party # 第三方依賴庫和頭文件 | └── version.txt # 版本和編譯信息Step2: 安裝配置OpenCV
- 我的電腦->屬性->高級系統(tǒng)設置->環(huán)境變量
- 在系統(tǒng)變量中找到Path(如沒有,自行創(chuàng)建,這不可能沒有),并雙擊編輯
- 新建,將opencv路徑填入并保存,如D:\projects\opencv\build\x64\vc14\bin
Step3: 下載PaddleOCR
https://gitee.com/PaddlePaddle/PaddleOCR
Step4: 編譯CMake
使用Visual Studio 2019直接編譯CMake
官方方法:作者并沒有成功,問題出現(xiàn)在第四步,根本不顯示要配置的參數(shù)
選擇項目代碼所在路徑,并打開CMakeList.txt:
三個編譯參數(shù)的含義說明如下(帶*表示僅在使用GPU版本預測庫時指定, 其中CUDA庫版本盡量對齊,使用9.0、10.0版本,不使用9.2、10.1等版本CUDA庫):
| *CUDA_LIB | CUDA的庫路徑 |
| *CUDNN_LIB | CUDNN的庫路徑 |
| OPENCV_DIR | OpenCV的安裝路徑 |
| PADDLE_LIB | Paddle預測庫的路徑 |
注意:
設置完成后, 點擊上圖中保存并生成CMake緩存以加載變量。
進入項目 -> 屬性->高級,將字符集設置為多字節(jié)字符集
在C/C++ => 命令行中添加(“/utf-8”)
上述Visual Studio 2019編譯產(chǎn)出的可執(zhí)行文件在out\build\x64-Release目錄下,打開cmd,并切換到該目錄:
使用CMake GUI生成項目Visual Studio 2019編譯CMake
https://cmake.org/runningcmake/
(截止2020.04.03)由于預測庫的lib文件名變動
手動修改CMakeLists.txt
PaddleOCR\deploy\cpp_infer\build 下生成Visual Studio 2019工程:
4. 生成
PaddleOCR\deploy\cpp_infer\build\Release下生成exe可執(zhí)行文件:
Step5: 下載模型
模型下載地址即官網(wǎng)的推理模型:https://gitee.com/PaddlePaddle/PaddleOCR ,選在inference model 下載即可:
models 即det, cls, rec模型存放文件夾:
每個模型文件夾下分別包含:pdmodel pdparams 和 pdparams.ino 三個文件。
Step6: 預測及可視化
復制paddle_inference\paddle\lib\paddle_inference到PaddleOCR\deploy\cpp_infer\build\Release
否則,可能出現(xiàn)的問題:
修改config.txt
執(zhí)行
可執(zhí)行文件ocr_system.exe即為樣例的預測程序,其主要使用方法如下
第一個參數(shù)為配置文件路徑,第二個參數(shù)為需要預測的圖片路徑。
常見問題
- PaddleOCR——C++服務端部署Visual Studio 2019 環(huán)境下CMake 編譯錯誤【無法打開輸入文件paddle_fluid.lib】解決方案
- 在Windows下的終端中執(zhí)行文件exe時,可能會發(fā)生亂碼的現(xiàn)象,此時需要在終端中輸入CHCP 65001,將終端的編碼方式由GBK編碼(默認)改為UTF-8編碼,更加具體的解釋可以參考這篇博客:https://blog.csdn.net/qq_35038153/article/details/78430359。
- 程序閃退,關閉306等殺毒軟件。
參考文章
Windows 下 PaddleOCR C++推理部署 cmake vs2017
https://blog.csdn.net/qq_35038153/article/details/78430359
PaddleOCR 文字識別 c++ win10 安裝使用教程
總結(jié)
以上是生活随笔為你收集整理的PaddleOCR——Visual Studio 2019 环境下C++推理部署 CMake 编译解决方案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PaddleOCR——C++服务端部署V
- 下一篇: 《数据库系统实训》实验报告——子查询与组