最新 docker desktop 部署 paddleocr 成功案例

docker部署飞桨paddleocr真的太不容易了,坑超级多  ̄へ ̄

1.构建镜像

paddleocr源码里给的CPU版的dockerfile有很多坑,我对其进行改进:
(温馨提示:镜像大概有 7G,记得腾出空间!)

# Version: 2.0.0
FROM registry.baidubce.com/paddlepaddle/paddle:2.5.0

# PaddleOCR base on Python3.7
RUN pip3.7 install --upgrade pip -i https://mirror.baidu.com/pypi/simple

RUN pip3.7 install setuptools-scm -i https://mirror.baidu.com/pypi/simple

RUN pip3.7 install lanms-neo -i https://mirror.baidu.com/pypi/simple

RUN pip3.7 install Polygon3 -i https://mirror.baidu.com/pypi/simple

RUN pip3.7 install PyWavelets -i https://mirror.baidu.com/pypi/simple

RUN pip3.7 install --upgrade ipython -i https://mirror.baidu.com/pypi/simple

RUN pip3.7 install paddlehub --upgrade -i https://mirror.baidu.com/pypi/simple

RUN git clone https://gitee.com/paddlepaddle/PaddleOCR.git /PaddleOCR

WORKDIR /PaddleOCR

RUN pip3.7 install -r requirements.txt -i https://mirror.baidu.com/pypi/simple

RUN mkdir -p /PaddleOCR/inference/

# 模型可以到这下载:https://aistudio.baidu.com/modelsdetail?modelId=17
# Download orc detect model(light version). if you want to change normal version, you can change ch_ppocr_mobile_v2.0_det_infer to ch_ppocr_server_v2.0_det_infer, also remember change det_model_dir in deploy/hubserving/ocr_system/params.py)
ADD https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_det_infer.tar /PaddleOCR/inference/
RUN tar xf /PaddleOCR/inference/ch_PP-OCRv3_det_infer.tar -C /PaddleOCR/inference/

# Download direction classifier(light version). If you want to change normal version, you can change ch_ppocr_mobile_v2.0_cls_infer to ch_ppocr_mobile_v2.0_cls_infer, also remember change cls_model_dir in deploy/hubserving/ocr_system/params.py)
ADD https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_cls_infer.tar /PaddleOCR/inference/
RUN tar xf /PaddleOCR/inference/ch_ppocr_mobile_v2.0_cls_infer.tar -C /PaddleOCR/inference/

# Download orc recognition model(light version). If you want to change normal version, you can change ch_ppocr_mobile_v2.0_rec_infer to ch_ppocr_server_v2.0_rec_infer, also remember change rec_model_dir in deploy/hubserving/ocr_system/params.py)
ADD https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_rec_infer.tar /PaddleOCR/inference/
RUN tar xf /PaddleOCR/inference/ch_PP-OCRv3_rec_infer.tar -C /PaddleOCR/inference/

EXPOSE 8868

CMD ["/bin/bash","-c","hub install deploy/hubserving/ocr_system/ && hub serving start -c deploy/hubserving/ocr_system/config.json"]

2.启动服务

2.1 点击启动按钮
点击启动2.2 设置端口映射
在这里插入图片描述
2.3 然后到containers里启动容器
在这里插入图片描述2.4 启动完后会报 ImportError: cannot import name ‘RNNCell’

2023-09-12 10:20:35 Traceback (most recent call last): 2023-09-12
10:20:35 File “/usr/local/bin/hub”, line 5, in 2023-09-12
10:20:35 from paddlehub.commands.utils import execute 2023-09-12
10:20:35 File
“/usr/local/lib/python3.7/dist-packages/paddlehub/init.py”, line
54, in 2023-09-12 10:20:35 from
paddlehub.compat.task.text_generation_task import TextGenerationTask
2023-09-12 10:20:35 File
“/usr/local/lib/python3.7/dist-packages/paddlehub/compat/task/text_generation_task.py”,
line 22, in 2023-09-12 10:20:35 from paddle.fluid.layers
import RNNCell, LSTMCell, rnn, BeamSearchDecoder, dynamic_decode
2023-09-12 10:20:35 ImportError: cannot import name ‘RNNCell’ from
‘paddle.fluid.layers’
(/usr/local/lib/python3.7/dist-packages/paddle/fluid/layers/init.py)

解决方法:
2.5 进入Files
在这里插入图片描述
2.6 找到 user/local/lib/python3.7/dist-packages/paddlehub/compat/task/text_generation_task.py文件,进行编辑,并修改红框部分。

from paddle.nn import RNNCellBase,LSTMCell,RNN,BeamSearchDecoder,dynamic_decode

在这里插入图片描述2.7 接下来找到 PaddleOCR/deploy/hubserving/ocr_system/config.json文件,修改红框部分。
在这里插入图片描述

2.8 修改完后保存,然后重启服务,若出现以下日志,那么恭喜你!部署成功啦(≧∇≦)ノ
在这里插入图片描述

好啦,这是全部的内容啦~
以下是参考资料,如果遇到其他问题也可以从下面查找:
1、PaddleOCR在windows中的使用
2、解决paddle cannot import name ‘RNNCell’ from ‘paddle.fluid.layers’ 的问题
3、Java使用PaddleOCR识别身份证信息

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
您可以按照以下步骤使用Docker部署PaddleOCR: 1. 首先,将文件拷贝到容器中。在Windows的运行窗口中输入"cmd",打开命令提示符。然后执行以下命令将文件拷贝到容器中: docker cp F:\XXX\PaddleOCR\inference 13833b8383eb:/home/PaddleOCR 2. 接下来,启动容器。在命令提示符中执行以下命令: docker start 13833b8383eb 3. 然后,附加到容器中。在命令提示符中执行以下命令: docker attach 13833b8383eb 4. 如果您想将Docker端口映射到宿主机上,可以创建一个名为paddleocr的新容器。在宿主机的命令提示符中执行以下命令: docker run --name paddleocr -it -p 8868:8868 ubuntu:paddle /home/PaddleOCR/paddleOCRServer 5. 下次您只需要根据容器的名称启动和附加到容器即可。在宿主机的命令提示符中执行以下命令: docker start paddleocr docker attach paddleocr 这样,您就可以使用Docker部署PaddleOCR了。请确保您已经正确安装和配置了Docker,并且已经下载了PaddleOCR的相关文件和镜像。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [PaddleOCR Docker部署安装教程、服务搭建(CPU)](https://blog.csdn.net/dongjuexk/article/details/120965160)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值