乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      PaddleOCR服務(wù)化部署

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

      一、分析與選擇

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

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

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

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

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

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

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

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

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

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

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

      二、PaddleHub 部署

      基于 Github PaddleOCR/PaddleHub 部署文檔 編寫.

      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. 快速啟動服務(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)模型路徑為

      檢測模型:./inference/ch_PP-OCRv3_det_infer/
      識別模型:./inference/ch_PP-OCRv3_rec_infer/
      方向分類器:./inference/ch_ppocr_mobile_v2.0_cls_infer/
      

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

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

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

      2.3 安裝服務(wù)模塊

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

      # 安裝檢測服務(wù)模塊:  
      hub install deploy/hubserving/ocr_det/
      
      # 或,安裝分類服務(wù)模塊:  
      hub install deploy/hubserving/ocr_cls/
      
      # 或,安裝識別服務(wù)模塊:  
      hub install deploy/hubserving/ocr_rec/
      
      # 或,安裝檢測+識別串聯(lián)服務(wù)模塊:  
      hub install deploy/hubserving/ocr_system/
      

      這里我們可以只選擇

      hub install deploy/hubserving/ocr_system/
      

      2.4 啟動服務(wù)

      啟動命令:

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

      3. 發(fā)送預(yù)測請求

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

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

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

      • server_url: 服務(wù)地址, 格式為
        http://[ip_address]:[port]/predict/[module_name]
        例如, 如果使用配置文件啟動分類, 檢測、識別, 檢測 + 分類 + 識別 3 階段服務(wù), 那么發(fā)送請求的 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: 測試圖像路徑,可以是單張圖片路徑, 也可以是圖像集合目錄路徑
      • visualize: 是否可視化結(jié)果, 默認(rèn)為 False
      • output:可視化結(jié)果保存路徑, 默認(rèn)為 ./hubserving_result

      訪問示例:

      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ù)測后再啟動服務(wù)測試。

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

      hub uninstall ocr_system

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

      hub install deploy/hubserving/ocr_system/

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

      hub serving start -m ocr_system

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

      服務(wù)端測試

      客戶端測試

      四、對接工作

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

      其中的 headers 為

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

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

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多