ocr通过paddle serving部署 docker
时间: 2023-11-29 11:06:45 浏览: 180
以下是通过Paddle Serving部署OCR的Docker的步骤:
1.首先,需要拉取Paddle Serving的镜像。可以使用以下命令拉取最新版本的Paddle Serving镜像:
```shell
docker pull hub.baidubce.com/paddlepaddle/serving:latest-cpu
```
2.接下来,需要将OCR模型部署到Paddle Serving中。可以使用以下命令将模型部署到Paddle Serving中:
```shell
python3 -m paddle_serving_server.serve --model ocr_system --port 9292 --gpu_id 0
```
其中,`ocr_system`是OCR模型的名称,`9292`是服务端口号,`0`是GPU的ID。
3.最后,需要使用Docker将Paddle Serving部署到容器中。可以使用以下命令将Paddle Serving部署到Docker容器中:
```shell
docker run -p 9292:9292 -it hub.baidubce.com/paddlepaddle/serving:latest-cpu
```
其中,`9292`是服务端口号。
相关问题
ocr通过paddle serving部署
OCR(Optical Character Recognition)是一种将图像中的文字转换为可编辑和可搜索文本的技术。Paddle Serving是一个高性能、灵活、易用的模型服务部署框架,可以帮助用户快速部署和管理机器学习模型服务。以下是通过Paddle Serving部署OCR的步骤:
1. 准备OCR模型和标签文件。可以使用PaddleOCR等OCR模型,标签文件是一个包含所有类别名称的文本文件。
2. 安装Paddle Serving。可以使用pip安装Paddle Serving:
```shell
pip install paddle-serving-server paddle-serving-client
```
3. 启动Paddle Serving服务端。可以使用以下命令启动服务端:
```shell
# 启动服务端
serving --model ocr_system/ --port 9292 --gpu_id 0
```
其中,--model指定OCR模型的路径,--port指定服务端口号,--gpu_id指定使用的GPU编号。
4. 在客户端中使用OCR服务。可以使用以下Python代码调用OCR服务:
```python
from paddle_serving_client import Client
from paddle_serving_app.reader import OCRReader
from paddle_serving_app.reader import Sequential, URL2Image
from paddle_serving_app.reader import Resize, File2Image
from paddle_serving_app.reader import Div, Normalize, Transpose
from paddle_serving_app.reader import ToTensor, KeepKeys
client = Client()
client.load_client_config("ocr_system/serving_client/serving_client_conf.prototxt")
client.connect(["127.0.0.1:9292"])
ocr_reader = OCRReader()
ocr_reader.init_hook()
seq = Sequential([
URL2Image(), Resize(resize_short=736),
Div(255.0),
Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225], True),
Transpose((2, 0, 1)),
ToTensor(),
KeepKeys(keys=["image"])
])
with open("doc/imgs_words_det.jpg", "rb") as f:
image_data = f.read()
image = seq({"url": image_data})["image"]
fetch_map = client.predict(feed={"image": image}, fetch=["ctc_greedy_decoder_0.tmp_0"])
print(fetch_map)
```
其中,--model指定OCR模型的路径,--port指定服务端口号,--gpu_id指定使用的GPU编号。
docker部署paddle
Docker可以方便地将PaddlePaddle(飞桨)模型部署到容器化环境中,让你的应用更容易管理和复现。以下是使用Docker部署PaddlePaddle的一般步骤:
1. **创建Dockerfile**:编写一个Dockerfile,它是 Docker 容器构建的基础文件。通常会包含基础镜像的选择、安装依赖(如PaddlePaddle)、复制模型文件以及设置环境变量等。
```dockerfile
# 使用官方Python镜像作为基础
FROM paddleocr/paddleocr:latest
# 设置工作目录
WORKDIR /app
# 将本地模型文件复制到容器内
COPY your_model_dir ./
# 指定运行PaddlePaddle的命令
CMD ["python", "your_entry_script.py"]
```
2. **构建Docker镜像**:使用`docker build`命令根据Dockerfile构建一个新的镜像。
```bash
docker build -t your_image_name .
```
3. **运行Docker容器**:使用`docker run`命令启动一个容器,传入需要的参数,比如端口映射。
```bash
docker run -p 80:80 --name paddle_container your_image_name
```
4. **验证部署**:通过访问容器暴露的端口,确认模型是否正常运行,并处理输入数据以展示预测结果。
阅读全文