广州网站建设价格,wordpress图片自动水印,山东机械加工网,seo黑帽多久入门要点#xff1a;
使用paddleserving服务 1 首先需要安装PaddleServing部署相关的环境
PaddleServing是PaddlePaddle推出的一种高性能、易扩展、高可用的机器学习服务框架。PaddleOCR中使用PaddleServing主要是为了将训练好的OCR模型部署到线上环境#xff0c;提供API服务
使用paddleserving服务 1 首先需要安装PaddleServing部署相关的环境
PaddleServing是PaddlePaddle推出的一种高性能、易扩展、高可用的机器学习服务框架。PaddleOCR中使用PaddleServing主要是为了将训练好的OCR模型部署到线上环境提供API服务从而方便用户使用。PaddleServing还提供了一些高级特性比如多模型融合、负载均衡等可以帮助用户构建更加完整的机器学习服务系统。
!python -m pip install paddle-serving-server-gpu
!python -m pip install paddle_serving_client
!python -m pip install paddle-serving-app
第一行代码安装 paddle-serving-server-gpu 包用于启动 PaddleServing 的服务端并支持 GPU 加速。第二行代码安装 paddle_serving_client 包用于通过 API 调用 PaddleServing 的服务端提供的预测服务。第三行代码安装 paddle-serving-app 包提供了一些 PaddleServing 相关的工具和应用例如模型转换、模型压缩等。 2 转化检测模型为serving格式
%cd /home/aistudio/PaddleOCR/deploy/pdserving/
!python -m paddle_serving_client.convert --dirname ../../inference/det_ppocrv3/Student/ \--model_filename inference.pdmodel \--params_filename inference.pdiparams \--serving_server ./ppocr_det_v3_serving/ \--serving_client ./ppocr_det_v3_client/
这段代码是将 PaddleOCR 检测模型的参数文件和模型文件转换为 PaddleServing 使用的格式并保存在指定的目录中然后可以使用指定的配置文件部署以进行推理服务。
%cd /home/aistudio/PaddleOCR/deploy/pdserving/: 切换到 PaddleOCR 代码库中的 PaddleServing 部分的目录中。--dirname ../../inference/det_ppocrv3/Student/: 参数文件和模型文件所在的目录。--model_filename inference.pdmodel: 转换后的模型文件名称。--params_filename inference.pdiparams: 转换后的参数文件名称。--serving_server ./ppocr_det_v3_serving/: serving_server参数指定用于运行检测模型服务的 PaddleServing 配置的目录位置。在这种情况下指定的位置是./ppocr_det_v3_serving/--serving_client ./ppocr_det_v3_client/: serving_client参数指定 PaddleServing 客户端的目录位置用于在服务期间调用检测模型。在这种情况下指定的位置是./ppocr_det_v3_client/。 3 转化识别模型为serving格式
%cd /home/aistudio/PaddleOCR/deploy/pdserving/
!python -m paddle_serving_client.convert --dirname ../../inference/rec_ppocrv3/Student \--model_filename inference.pdmodel \--params_filename inference.pdiparams \--serving_server ./ppocr_rec_v3_serving/ \--serving_client ./ppocr_rec_v3_client/ 4 启动服务端
修改后处理代码首先可以将后处理代码加入到web_service.py中具体修改154-155行
# 代码154-155行修改为下面代码
def _postprocess(rec_res):keys [型号, 厂家, 版本号, 检定校准分类, 计量器具编号, 烟尘流量,累积体积, 烟气温度, 动压, 静压, 时间, 试验台编号, 预测流速,全压, 烟温, 流速, 工况流量, 标杆流量, 烟尘直读嘴, 烟尘采样嘴,大气压, 计前温度, 计前压力, 干球温度, 湿球温度, 流量, 含湿量]key_value []if len(rec_res) 1:for i in range(len(rec_res) - 1):rec_str, _ rec_res[i]for key in keys:if rec_str in key:key_value.append([rec_str, rec_res[i 1][0]])breakreturn key_value
key_value _postprocess(rec_list)
res {result: str(key_value)}
# res {result: str(result_list)} 4.1 启动服务
%cd /home/aistudio/PaddleOCR/deploy/pdserving/
!python web_service.py 21 log.txt 4.2 客户端发送请求
%cd /home/aistudio/PaddleOCR/deploy/pdserving/
!python pipeline_http_client.py --image_dir ../../train_data/icdar2015/text_localization/test/142.jpg
执行pipeline_http_client.py命令将图片路径传入进行识别。
在这个过程中使用了PaddleServing的HTTP API进行图片的传输和识别pipeline_http_client.py文件是一个Python脚本用于向PaddleServing发送HTTP请求并获取识别结果。该脚本将输入的图片读取并编码成base64格式然后将编码后的字符串作为HTTP请求的参数发送给PaddleServing。PaddleServing将接收到的图片解码后送入PaddleOCR中的检测和识别模型进行OCR识别最后返回识别结果。