bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

C++版PPyolo+部署記錄-創新互聯

PaddlePaddle 框架從18年就開始用了,最近因為工作要做目標檢測,因此選擇了PaddleDetection 使用了ppyoloe_plus_m 模型進行訓練。訓練完成后使用

創新互聯堅持“要么做到,要么別承諾”的工作理念,服務領域包括:網站設計制作、成都網站制作、企業官網、英文網站、手機端網站、網站推廣等服務,滿足客戶于互聯網時代的張灣網站設計、移動媒體設計的需求,幫助企業找到有效的互聯網解決方案。努力成為您成熟可靠的網絡建設合作伙伴!

export_model.py -c configs/ppyoloe/ppyoloe_plus_crn_m_80e_coco.yml -o weights=/path/model_final.pdparams

導出模型。

在項目中,使用的是 PaddleDetection /deploy 中的python 版進行 部署的。目前在項目中已經跑起來了。但考慮到以后和其他業務端對接,可能使用C++ 版的更方便,因此嘗試打通C++版的推理預測,在這里記錄下分別基于windows 和linux 下的模型部署流程。

一、 windows版
  1. CPU 版

windows 版相對來說較容易一下,首先嘗試不使用gpu 的版本。

按照 說明文檔中 的記錄,下載 使用cpu 版的 paddle_inference , 版本要求是使用vs2017 ,但我使用vs 2019 進行編譯是可以的。

然后需要下載opencv , 下載完成后,最好將 opencv\build\x64\vc15\bin 放到環境變量中。這個其實是用的opencv 3 .X 版本的,跟現在項目中的環境還是有些差別(項目中用到opencv 4.5)后續考慮編譯一個opencv4.X 版本的。使用

cmake . ?

-G "Visual Studio 16 2019" -A x64 -T host=x64 ?

-DWITH_GPU=OFF ?

-DWITH_MKL=ON ?

-DCMAKE_BUILD_TYPE=Release ?

-DPADDLE_DIR=D:\projects\packages\paddle_inference ?

-DPADDLE_LIB_NAME=paddle_inference ?

-DOPENCV_DIR=D:\projects\packages\opencv3_4_6 ?

-DWITH_KEYPOINT=ON

在deploy/cpp 目錄下生成 .sln ,然后使用vs 打開,生成后的代碼文件如下:

使用 生成->生成解決方案,生成main.exe

我在生成過程中遇到了有些 lib 庫沒有找到的情況,在main ->屬性->鏈接器 常規和輸入中看看是否添加了該lib

以上window下基于CPU的模型應用程序基本上就編譯好了。運行結果如下:

  1. GPU版

當跑起來CPU 版之后,發現GPU 版的也沒有那么難了。首先要確定下當前機器下GPU 環境

本機環境如下:

CUDA=11.6

cudnn=8.4.1

TensorRT=8.4.0.6

首先肯定是要下載好對應的軟件版本,可以參考這個

對應好 cuda ,cudnn tensorRT 版本后編譯能輕松點。然后下載對應版本下的paddle_inference, 這個也需要下載opencv,跟上面用到的一樣就可以,使用cmake 進行編譯

cmake . ? -G "Visual Studio 16 2019" -A x64 -T host=x64 ?

-DWITH_GPU=OFF ?

-DWITH_MKL=ON ?

-DCMAKE_BUILD_TYPE=Release ?

-DCUDA_LIB="C:\Program Files\NVIDIA GPU ComputingToolkit\CUDA\v11.6\lib\x64" ?

-DCUDNN_LIB="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\lib" ?

-DPADDLE_DIR=D:\work\Project\pro_cuda\paddle_inference ?

-DPADDLE_DIR=D:\projects\packages\paddle_inference ?

-DPADDLE_LIB_NAME=paddle_inference ?

-DOPENCV_DIR=D:\projects\packages\opencv3_4_6 ?

-DWITH_KEYPOINT=ON

也是生成.sln 然后生成,產生main.exe 文件。運行結果如下:

二、Linux版

linux 版下我也是先跑通CPU ,在用GPU 。因為公司電腦是在運行項目,不敢隨意測試,因此使用了云GPU, 開始的時候使用的是 恒源云GPU ,但他家的下載速度和網速實在太慢,后來使用了AutoDL 的云GPU ,網速挺快,還能連接百度網盤,挺香的。

首先重新編譯了下gcc ,因為deploy 要求gcc是8.2版本的,參考

UbuntU18.04u安裝GCC8.2.0~9.1_fpcc的博客-博客_unbuntu 安裝 gcc 8.2

在按照 linux_build.md 進行編譯時,遇到了opencv找不到so 庫的情況。因此重新編譯了ffmpeg 和opencv,參考了如下博客:

ffmpeg 源碼編譯 ffmpeg源碼編譯_liupenglove的博客-博客_ffmpeg源碼編譯

opencv源碼編譯 linux或arm下源碼編譯opencv庫_spirits_of_snail的博客-博客_arm linux opencv

Linux下OPencv+ffmpeg編譯和進行視頻播放_泰勒朗斯的博客-博客

編譯完成后 記得修改 ./script/build.sh 里面的路徑。

然后按照 linux_build.md 來就可以,最后會生產 main

在執行是會發現缺少 libpaddle2onnx.so 等文件,在paddle_inference 下,找到,cp到/usr/lib 下就可以

你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧

當前標題:C++版PPyolo+部署記錄-創新互聯
分享路徑:http://vcdvsql.cn/article14/ddjhge.html

成都網站建設公司_創新互聯,為您提供網站收錄微信小程序網站設計公司品牌網站設計網站導航網站策劃

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

商城網站建設