Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleOCR
提交
76bcb42d
P
PaddleOCR
项目概览
PaddlePaddle
/
PaddleOCR
大约 2 年 前同步成功
通知
1558
Star
32965
Fork
6643
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
108
列表
看板
标记
里程碑
合并请求
7
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleOCR
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
108
Issue
108
列表
看板
标记
里程碑
合并请求
7
合并请求
7
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
76bcb42d
编写于
8月 10, 2020
作者:
T
Tangmq
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
增加Docker化部署服务(HubServing模式)
上级
cb3cc6f4
变更
4
展开全部
隐藏空白更改
内联
并排
Showing
4 changed file
with
112 addition
and
0 deletion
+112
-0
docker/hubserving/cpu/Dockerfile
docker/hubserving/cpu/Dockerfile
+28
-0
docker/hubserving/gpu/Dockerfile
docker/hubserving/gpu/Dockerfile
+28
-0
docker/hubserving/readme.md
docker/hubserving/readme.md
+55
-0
docker/hubserving/sample_request.txt
docker/hubserving/sample_request.txt
+1
-0
未找到文件。
docker/hubserving/cpu/Dockerfile
0 → 100755
浏览文件 @
76bcb42d
# Version: 1.0.0
FROM
hub.baidubce.com/paddlepaddle/paddle:latest-gpu-cuda9.0-cudnn7-dev
# PaddleOCR需要在Python3.7下执行
RUN
pip3.7
install
--upgrade
pip
-i
https://pypi.tuna.tsinghua.edu.cn/simple
RUN
python3.7
-m
pip
install
paddlepaddle
==
1.7.2
-i
https://pypi.tuna.tsinghua.edu.cn/simple
RUN
pip3.7
install
paddlehub
--upgrade
-i
https://pypi.tuna.tsinghua.edu.cn/simple
RUN
git clone https://gitee.com/PaddlePaddle/PaddleOCR
WORKDIR
/PaddleOCR
RUN
pip3.7
install
-r
requirments.txt
-i
https://pypi.tuna.tsinghua.edu.cn/simple
RUN
mkdir
-p
/PaddleOCR/inference
# 下载超轻量级中文OCR模型的检测模型并解压(可以换成通用中文OCR模型,ch_det_r50_vd_db_infer,记得要修改deploy/hubserving/ocr_system/params.py中的det_model_dir)
ADD
https://paddleocr.bj.bcebos.com/ch_models/ch_det_mv3_db_infer.tar /PaddleOCR/inference
RUN
tar
xf /PaddleOCR/inference/ch_det_mv3_db_infer.tar
-C
/PaddleOCR/inference
# 下载超轻量级中文OCR模型的识别模型并解压(可以换成通用中文OCR模型,ch_rec_r34_vd_crnn_enhance_infer,记得要修改deploy/hubserving/ocr_system/params.py中的rec_model_dir)
ADD
https://paddleocr.bj.bcebos.com/ch_models/ch_rec_mv3_crnn_infer.tar /PaddleOCR/inference
RUN
tar
xf /PaddleOCR/inference/ch_rec_mv3_crnn_infer.tar
-C
/PaddleOCR/inference
EXPOSE
8866
CMD
["/bin/bash","-c","export PYTHONPATH=. && hub install deploy/hubserving/ocr_system/ && hub serving start -m ocr_system"]
\ No newline at end of file
docker/hubserving/gpu/Dockerfile
0 → 100755
浏览文件 @
76bcb42d
# Version: 1.0.0
FROM
hub.baidubce.com/paddlepaddle/paddle:latest-gpu-cuda10.0-cudnn7-dev
# PaddleOCR需要在Python3.7下执行
RUN
pip3.7
install
--upgrade
pip
-i
https://pypi.tuna.tsinghua.edu.cn/simple
RUN
python3.7
-m
pip
install
paddlepaddle-gpu
==
1.7.2.post107
-i
https://pypi.tuna.tsinghua.edu.cn/simple
RUN
pip3.7
install
paddlehub
--upgrade
-i
https://pypi.tuna.tsinghua.edu.cn/simple
RUN
git clone https://gitee.com/PaddlePaddle/PaddleOCR
WORKDIR
/home/PaddleOCR
RUN
pip3.7
install
-r
requirments.txt
-i
https://pypi.tuna.tsinghua.edu.cn/simple
RUN
mkdir
-p
/home/PaddleOCR/inference
# 下载超轻量级中文OCR模型的检测模型并解压(可以换成通用中文OCR模型,ch_det_r50_vd_db_infer,记得要修改deploy/hubserving/ocr_system/params.py中的det_model_dir)
ADD
https://paddleocr.bj.bcebos.com/ch_models/ch_det_mv3_db_infer.tar /PaddleOCR/inference
RUN
tar
xf /PaddleOCR/inference/ch_det_mv3_db_infer.tar
-C
/PaddleOCR/inference
# 下载超轻量级中文OCR模型的识别模型并解压(可以换成通用中文OCR模型,ch_rec_r34_vd_crnn_enhance_infer,记得要修改deploy/hubserving/ocr_system/params.py中的rec_model_dir)
ADD
https://paddleocr.bj.bcebos.com/ch_models/ch_rec_mv3_crnn_infer.tar /PaddleOCR/inference
RUN
tar
xf /PaddleOCR/inference/ch_rec_mv3_crnn_infer.tar
-C
/PaddleOCR/inference
EXPOSE
8866
CMD
["/bin/bash","-c","export PYTHONPATH=. && hub install deploy/hubserving/ocr_system/ && hub serving start -m ocr_system"]
\ No newline at end of file
docker/hubserving/readme.md
0 → 100644
浏览文件 @
76bcb42d
# Docker化部署服务
在日常项目应用中,相信大家一般都会希望能通过Docker技术,把PaddleOCR服务打包成一个镜像,以便在Docker或k8s环境里,快速发布上线使用。
本文将提供一些标准化的代码来实现这样的目标。大家通过如下步骤可以把PaddleOCR项目快速发布成可调用的Restful API服务。(目前暂时先实现了基于HubServing模式的部署,后续作者计划增加PaddleServing模式的部署)
## 1.实施前提准备
需要先完成如下基本组件的安装:
a. Docker环境
b. 显卡驱动和CUDA 10.0+(GPU)
c. NVIDIA Container Toolkit(GPU,Docker 19.03以上版本可以跳过此步)
d. cuDNN 7.6+(GPU)
## 2.制作镜像
a.下载PaddleOCR项目代码
```
git clone https://github.com/PaddlePaddle/PaddleOCR.git
```
b.切换至Dockerfile目录(注:需要区分cpu或gpu版本,下文以cpu为例,gpu版本需要替换一下关键字即可)
```
cd docker/cpu
```
c.生成镜像
```
docker build -t paddleocr:cpu .
```
## 3.启动Docker容器
a. CPU 版本
```
sudo docker run -dp 8866:8866 --name paddle_ocr paddleocr:cpu
```
b. GPU 版本 (通过NVIDIA Container Toolkit)
```
sudo nvidia-docker run -dp 8866:8866 --name paddle_ocr paddleocr:gpu
```
c. GPU 版本 (Docker 19.03以上版本,可以直接用如下命令)
```
sudo docker run -dp 8866:8866 --gpus all --name paddle_ocr paddleocr:gpu
```
d. 检查服务运行情况(出现:Successfully installed ocr_system和Running on http://0.0.0.0:8866/等信息,表示运行成功)
```
docker logs -f paddle_ocr
```
## 4.测试服务
a. 计算待识别图片的Base64编码(如果只是测试一下效果,可以通过免费的在线工具实现,如:http://tool.chinaz.com/tools/imgtobase/)
b. 发送服务请求(可参见sample_request.txt中的值)
```
curl -H "Content-Type:application/json" -X POST --data "{\"images\": [\"填入图片Base64编码(需要删除'data:image/jpg;base64,')\"]}" http://localhost:8866/predict/ocr_system
```
c. 返回结果(如果调用成功,会返回如下结果)
```
{"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/hubserving/sample_request.txt
0 → 100644
浏览文件 @
76bcb42d
此差异已折叠。
点击以展开。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录