小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

PaddleOCR服務(wù)化部署

 黃金屋1 2022-11-20 發(fā)布于北京

一、分析與選擇

PaddleOCR 提供 2 種服務(wù)部署方式:

一種是 PaddleServing 的部署方式, 僅使用 CPU 推理預(yù)測(cè)在 Windows 和 Linux都能進(jìn)行部署.

若要使用 GPU 進(jìn)行推理預(yù)測(cè), 在 Windows 上只能使用 Docker 進(jìn)行部署 (這步?jīng)]有進(jìn)行嘗試).

在 Linux 上可以手動(dòng)部署, 也可以使用 Docker 部署 (這步?jīng)]有進(jìn)行嘗試).

另一種是 PaddleHub 的部署方式, 由于在 Windows 上設(shè)置 CUDA_VISIBLE_DEVICES=0 出現(xiàn)錯(cuò)誤, 所以 PaddleHub 依舊部署到 Linux 上.

在 Linux 上使用 PaddleServing 手動(dòng)部署的過(guò)程中, 程序出現(xiàn)意外的錯(cuò)誤,

出現(xiàn)只能預(yù)測(cè)一部分圖片的結(jié)果. 經(jīng)過(guò)排除發(fā)現(xiàn), 是 PaddleServing 的部署方式占滿所有顯存.

以下表格為各種系統(tǒng)各種配置下不同的部署方式實(shí)現(xiàn)情況.

Windows/Linux CPUWindows GPULinux GPU
PaddleServingSuccessNo顯存不夠
PaddleHubNo顯卡設(shè)置錯(cuò)誤Success

其中 Success 表示成功部署, No 表示未嘗試

在顯存足夠的情況下選擇 PaddleServing 部署方式可以提高并發(fā)量, 這里僅測(cè)試就選擇相對(duì)簡(jiǎn)單的 PaddleHub 進(jìn)行部署.

二、PaddleHub 部署

基于 Github PaddleOCR/PaddleHub 部署文檔 編寫(xiě).

1. GPU 環(huán)境描述

GPU : 1050Ti Mobile 4G

CUDA : 11.2 (Driver API Version: 11.4, Runtime API Version: 11.2)

cuDNN : 8.6

2. 快速啟動(dòng)服務(wù)

以下操作默認(rèn)下載了 PaddleOCR 項(xiàng)目并安裝了 PaddleOCR 的 GPU 運(yùn)行環(huán)境. 安裝教程 https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.6/doc/doc_ch/quickstart.md

注意在 PaddlePaddle 官網(wǎng) 去查找需要的 paddlepaddle-gpu 版本.

2.1 準(zhǔn)備環(huán)境

# 安裝paddlehub  
# paddlehub 需要 python>3.6.2
pip3 install paddlehub==2.1.0 --upgrade -i https://mirror.baidu.com/pypi/simple

2.2 下載推理模型

安裝服務(wù)模塊前, 需要準(zhǔn)備推理模型并放到正確路徑. 默認(rèn)使用的是PP-OCRv3模型, 默認(rèn)模型路徑為

檢測(cè)模型:./inference/ch_PP-OCRv3_det_infer/
識(shí)別模型:./inference/ch_PP-OCRv3_rec_infer/
方向分類(lèi)器:./inference/ch_ppocr_mobile_v2.0_cls_infer/

需要注意! 此步的當(dāng)前路徑是在 PaddleOCR/ 下.

模型路徑可在 params.py 中查看和修改. 更多模型可以從 PaddleOCR 提供的模型庫(kù) PP-OCR 下載, 也可以替換成自己訓(xùn)練轉(zhuǎn)換好的模型.

需要注意! params.py 的路徑是 PaddleOCR/deploy/hubserving/xxx/params.py .

2.3 安裝服務(wù)模塊

! 執(zhí)行命令的當(dāng)前路徑實(shí)在 PaddleOCR/ 下

# 安裝檢測(cè)服務(wù)模塊:  
hub install deploy/hubserving/ocr_det/

# 或,安裝分類(lèi)服務(wù)模塊:  
hub install deploy/hubserving/ocr_cls/

# 或,安裝識(shí)別服務(wù)模塊:  
hub install deploy/hubserving/ocr_rec/

# 或,安裝檢測(cè)+識(shí)別串聯(lián)服務(wù)模塊:  
hub install deploy/hubserving/ocr_system/

這里我們可以只選擇

hub install deploy/hubserving/ocr_system/

2.4 啟動(dòng)服務(wù)

啟動(dòng)命令:

# 使用 0 號(hào)顯卡
export CUDA_VISIBLE_DEVICES=0
hub serving start -c deploy/hubserving/ocr_system/config.json

3. 發(fā)送預(yù)測(cè)請(qǐng)求

配置好服務(wù)端, 可使用以下命令發(fā)送預(yù)測(cè)請(qǐng)求, 獲取預(yù)測(cè)結(jié)果:

python tools/test_hubserving.py --server_url=server_url --image_dir=image_path

需要給腳本傳遞2個(gè)參數(shù):

  • server_url: 服務(wù)地址, 格式為
    http://[ip_address]:[port]/predict/[module_name]
    例如, 如果使用配置文件啟動(dòng)分類(lèi), 檢測(cè)、識(shí)別, 檢測(cè) + 分類(lèi) + 識(shí)別 3 階段服務(wù), 那么發(fā)送請(qǐng)求的 url 將分別是:
    http://127.0.0.1:8865/predict/ocr_det
    http://127.0.0.1:8866/predict/ocr_cls
    http://127.0.0.1:8867/predict/ocr_rec
    http://127.0.0.1:8868/predict/ocr_system
  • image_dir: 測(cè)試圖像路徑,可以是單張圖片路徑, 也可以是圖像集合目錄路徑
  • visualize: 是否可視化結(jié)果, 默認(rèn)為 False
  • output:可視化結(jié)果保存路徑, 默認(rèn)為 ./hubserving_result

訪問(wèn)示例:

python tools/test_hubserving.py --server_url=http://127.0.0.1:8868/predict/ocr_system --image_dir=./doc/imgs/ --visualize=false

4. 自定義修改服務(wù)模塊

如果需要修改服務(wù)邏輯, 你一般需要操作以下步驟 (以修改ocr_system為例):

  • 1、停止服務(wù)

hub serving stop --port/-p XXXX

  • 2、到相應(yīng)的module.pyparams.py等文件中根據(jù)實(shí)際需求修改代碼.

強(qiáng)烈建議修改后先直接運(yùn)行module.py調(diào)試,能正確運(yùn)行預(yù)測(cè)后再啟動(dòng)服務(wù)測(cè)試。

  • 3、卸載舊服務(wù)包

hub uninstall ocr_system

  • 4、安裝修改后的新服務(wù)包

hub install deploy/hubserving/ocr_system/

  • 5、重新啟動(dòng)服務(wù)

hub serving start -m ocr_system

三、PaddleHub 運(yùn)行結(jié)果

服務(wù)端測(cè)試

客戶端測(cè)試

四、對(duì)接工作

通過(guò)觀察代碼可以了解到這樣一個(gè)接口, 使用其他編程語(yǔ)言發(fā)送這樣的一個(gè)請(qǐng)求即可.

其中的 headers 為

圖片傳輸需轉(zhuǎn)編碼后發(fā)送

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多