PaddleOCR——Docker环境下基于HubServing模式部署Restful API服务(CPU版本)
Docker環境下基于HubServing模式部署Restful API服務(CPU版本)
在日常項目應用中,相信大家一般都會希望能通過Docker技術,把PaddleOCR服務打包成一個鏡像,以便在Docker或k8s環境里,快速發布上線使用。
1.實施前提準備
需要先完成如下基本組件的安裝:
Docker環境
Git環境
2.制作鏡像
a.下載PaddleOCR項目代碼
git clone https://github.com/PaddlePaddle/PaddleOCR.git國內使用碼云更快
git clone https://gitee.com/paddlepaddle/PaddleOCR.gitb.切換至CPU版本的Dockerfile目錄(注:需要區分cpu或gpu版本,本文以cpu為例,gpu版本需要替換一下關鍵字即可)
cd PaddleOCR/deploy/docker/hubserving/cpuc.生成鏡像
docker build -t paddleocr:cpu .下載量比較大
修改下載源:PaddleOCR Docker化部署服務
d. 查看鏡像
docker image ls3.啟動Docker容器
a. 啟動
sudo docker run -dp 8866:8866 --name paddle_ocr paddleocr:cpub. 查看容器運行情況
docker ps -ac. 檢查服務運行情況(出現:Successfully installed ocr_system和Running on http://0.0.0.0:8866/等信息,表示運行成功)
docker logs -f paddle_ocr4.測試服務
a. 計算待識別圖片的Base64編碼(如果只是測試一下效果,可以通過免費的在線工具實現,如:http://tool.chinaz.com/tools/imgtobase/)
注意圖片不能過大,不然curl會出錯。
b. 發送服務請求(可參見sample_request.txt中的值)
sample_request.txt 中內容并不可以用于測試。
curl -H "Content-Type:application/json" -X POST --data "{\"images\": [\"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\"]}" http://localhost:8866/predict/ocr_systemc. 返回結果(如果調用成功,會返回如下類似結果)
{"msg":"","results":[[{"confidence":0.8403433561325073,"text":"約定","text_region":[[345,377],[641,390],[634,540],[339,528]]},{"confidence":0.8131805658340454,"text":"最終相遇","text_region":[[356,532],[624,530],[624,596],[356,598]]}]],"status":"0"}參考文章
Docker化部署服務
PaddleOCR Docker化部署服務
總結
以上是生活随笔為你收集整理的PaddleOCR——Docker环境下基于HubServing模式部署Restful API服务(CPU版本)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PaddleOCR——DEMO
- 下一篇: PaddlePaddle——手写数字识别