ocr通过paddle serving部署
时间: 2023-11-29 20:06:45 浏览: 145
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编号。
阅读全文