PaddlePaddle / PaddleOCR

Awesome multilingual OCR toolkits based on PaddlePaddle (practical ultra lightweight OCR system, support 80+ languages recognition, provide data annotation and synthesis tools, support training and deployment among server, mobile, embedded and IoT devices)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

pdServing 启动异常 libproxy_server.so error

lushi22 opened this issue · comments

commented

系统环境/System Environment:Mac

使用的2.5版本的ocr
部署方式为PaddleServing

�[1m�[35m--- Running analysis [ir_graph_build_pass]�[0m
�[1m�[35m--- Running analysis [ir_graph_clean_pass]�[0m
�[1m�[35m--- Running analysis [ir_analysis_pass]�[0m
�[32m--- Running IR pass [simplify_with_basic_ops_pass]�[0m
�[32m--- Running IR pass [layer_norm_fuse_pass]�[0m
�[37m--- Fused 0 subgraphs into layer_norm op.�[0m
�[32m--- Running IR pass [attention_lstm_fuse_pass]�[0m
�[32m--- Running IR pass [seqconv_eltadd_relu_fuse_pass]�[0m
�[32m--- Running IR pass [seqpool_cvm_concat_fuse_pass]�[0m
�[32m--- Running IR pass [mul_lstm_fuse_pass]�[0m
�[32m--- Running IR pass [fc_gru_fuse_pass]�[0m
�[37m--- fused 0 pairs of fc gru patterns�[0m
�[32m--- Running IR pass [mul_gru_fuse_pass]�[0m
�[32m--- Running IR pass [seq_concat_fc_fuse_pass]�[0m
�[32m--- Running IR pass [gpu_cpu_squeeze2_matmul_fuse_pass]�[0m
�[32m--- Running IR pass [gpu_cpu_reshape2_matmul_fuse_pass]�[0m
�[32m--- Running IR pass [gpu_cpu_flatten2_matmul_fuse_pass]�[0m
�[32m--- Running IR pass [matmul_v2_scale_fuse_pass]�[0m
�[32m--- Running IR pass [gpu_cpu_map_matmul_v2_to_mul_pass]�[0m
�[32m--- Running IR pass [gpu_cpu_map_matmul_v2_to_matmul_pass]�[0m
�[32m--- Running IR pass [matmul_scale_fuse_pass]�[0m
�[32m--- Running IR pass [gpu_cpu_map_matmul_to_mul_pass]�[0m
�[32m--- Running IR pass [fc_fuse_pass]�[0m
�[32m--- Running IR pass [repeated_fc_relu_fuse_pass]�[0m
�[32m--- Running IR pass [squared_mat_sub_fuse_pass]�[0m
�[32m--- Running IR pass [conv_bn_fuse_pass]�[0m
I0624 17:44:28.240470 423626240 fuse_pass_base.cc:57] --- detected 33 subgraphs
�[32m--- Running IR pass [conv_eltwiseadd_bn_fuse_pass]�[0m
�[32m--- Running IR pass [conv_transpose_bn_fuse_pass]�[0m
�[32m--- Running IR pass [is_test_pass]�[0m
�[32m--- Running IR pass [runtime_context_cache_pass]�[0m
�[1m�[35m--- Running analysis [ir_params_sync_among_devices_pass]�[0m
�[1m�[35m--- Running analysis [adjust_cudnn_workspace_size_pass]�[0m
�[1m�[35m--- Running analysis [inference_op_replace_pass]�[0m
�[1m�[35m--- Running analysis [memory_optimize_pass]�[0m
I0624 17:44:28.278561 423626240 memory_optimize_pass.cc:216] Cluster name : elementwise_add_3 size: 96
I0624 17:44:28.278597 423626240 memory_optimize_pass.cc:216] Cluster name : elementwise_add_1 size: 64
I0624 17:44:28.278612 423626240 memory_optimize_pass.cc:216] Cluster name : tmp_8 size: 384
I0624 17:44:28.278625 423626240 memory_optimize_pass.cc:216] Cluster name : tmp_9 size: 384
I0624 17:44:28.278636 423626240 memory_optimize_pass.cc:216] Cluster name : tmp_5 size: 384
I0624 17:44:28.278649 423626240 memory_optimize_pass.cc:216] Cluster name : batch_norm_41.tmp_3 size: 1920
I0624 17:44:28.278661 423626240 memory_optimize_pass.cc:216] Cluster name : x size: 12
I0624 17:44:28.278673 423626240 memory_optimize_pass.cc:216] Cluster name : batch_norm_40.tmp_3 size: 1920
I0624 17:44:28.278685 423626240 memory_optimize_pass.cc:216] Cluster name : batch_norm_41.tmp_0 size: 1920
I0624 17:44:28.278697 423626240 memory_optimize_pass.cc:216] Cluster name : conv2d_242.tmp_0 size: 1920
�[1m�[35m--- Running analysis [ir_graph_to_program_pass]�[0m
I0624 17:44:28.389657 423626240 analysis_predictor.cc:1007] ======= optimize end =======
I0624 17:44:28.389896 423626240 naive_executor.cc:102] --- skip [feed], feed -> x
I0624 17:44:28.395395 423626240 naive_executor.cc:102] --- skip [sigmoid_0.tmp_0], fetch -> fetch
�[1m�[35m--- Running analysis [ir_graph_build_pass]�[0m
�[1m�[35m--- Running analysis [ir_graph_clean_pass]�[0m
�[1m�[35m--- Running analysis [ir_analysis_pass]�[0m
�[32m--- Running IR pass [simplify_with_basic_ops_pass]�[0m
�[32m--- Running IR pass [layer_norm_fuse_pass]�[0m
�[37m--- Fused 0 subgraphs into layer_norm op.�[0m
�[32m--- Running IR pass [attention_lstm_fuse_pass]�[0m
�[32m--- Running IR pass [seqconv_eltadd_relu_fuse_pass]�[0m
�[32m--- Running IR pass [seqpool_cvm_concat_fuse_pass]�[0m
�[32m--- Running IR pass [mul_lstm_fuse_pass]�[0m
�[32m--- Running IR pass [fc_gru_fuse_pass]�[0m
�[37m--- fused 0 pairs of fc gru patterns�[0m
�[32m--- Running IR pass [mul_gru_fuse_pass]�[0m
�[32m--- Running IR pass [seq_concat_fc_fuse_pass]�[0m
�[32m--- Running IR pass [gpu_cpu_squeeze2_matmul_fuse_pass]�[0m
�[32m--- Running IR pass [gpu_cpu_reshape2_matmul_fuse_pass]�[0m
�[32m--- Running IR pass [gpu_cpu_flatten2_matmul_fuse_pass]�[0m
�[32m--- Running IR pass [matmul_v2_scale_fuse_pass]�[0m
�[32m--- Running IR pass [gpu_cpu_map_matmul_v2_to_mul_pass]�[0m
I0624 17:44:28.488726 423626240 fuse_pass_base.cc:57] --- detected 9 subgraphs
�[32m--- Running IR pass [gpu_cpu_map_matmul_v2_to_matmul_pass]�[0m
I0624 17:44:28.490016 423626240 fuse_pass_base.cc:57] --- detected 4 subgraphs
�[32m--- Running IR pass [matmul_scale_fuse_pass]�[0m
�[32m--- Running IR pass [gpu_cpu_map_matmul_to_mul_pass]�[0m
�[32m--- Running IR pass [fc_fuse_pass]�[0m
I0624 17:44:28.495474 423626240 fuse_pass_base.cc:57] --- detected 9 subgraphs
�[32m--- Running IR pass [repeated_fc_relu_fuse_pass]�[0m
�[32m--- Running IR pass [squared_mat_sub_fuse_pass]�[0m
�[32m--- Running IR pass [conv_bn_fuse_pass]�[0m
I0624 17:44:28.526430 423626240 fuse_pass_base.cc:57] --- detected 19 subgraphs
�[32m--- Running IR pass [conv_eltwiseadd_bn_fuse_pass]�[0m
�[32m--- Running IR pass [conv_transpose_bn_fuse_pass]�[0m
�[32m--- Running IR pass [is_test_pass]�[0m
�[32m--- Running IR pass [runtime_context_cache_pass]�[0m
�[1m�[35m--- Running analysis [ir_params_sync_among_devices_pass]�[0m
�[1m�[35m--- Running analysis [adjust_cudnn_workspace_size_pass]�[0m
�[1m�[35m--- Running analysis [inference_op_replace_pass]�[0m
�[1m�[35m--- Running analysis [memory_optimize_pass]�[0m
I0624 17:44:28.545408 423626240 memory_optimize_pass.cc:216] Cluster name : transpose_14.tmp_1 size: 0
I0624 17:44:28.545428 423626240 memory_optimize_pass.cc:216] Cluster name : tmp_7 size: 480
I0624 17:44:28.545436 423626240 memory_optimize_pass.cc:216] Cluster name : tmp_8 size: 480
I0624 17:44:28.545444 423626240 memory_optimize_pass.cc:216] Cluster name : batch_norm_39.tmp_3 size: 6144
I0624 17:44:28.545454 423626240 memory_optimize_pass.cc:216] Cluster name : batch_norm_47.tmp_4 size: 6144
I0624 17:44:28.545461 423626240 memory_optimize_pass.cc:216] Cluster name : x size: 576
I0624 17:44:28.545469 423626240 memory_optimize_pass.cc:216] Cluster name : swish_25.tmp_0 size: 2048
I0624 17:44:28.545477 423626240 memory_optimize_pass.cc:216] Cluster name : linear_43.tmp_1 size: 26500
�[1m�[35m--- Running analysis [ir_graph_to_program_pass]�[0m
I0624 17:44:28.629382 423626240 analysis_predictor.cc:1007] ======= optimize end =======
I0624 17:44:28.629549 423626240 naive_executor.cc:102] --- skip [feed], feed -> x
I0624 17:44:28.633039 423626240 naive_executor.cc:102] --- skip [softmax_5.tmp_0], fetch -> fetch
[DAG] Succ init
[OP Object] init success
[OP Object] init success
[OP Object] init success
[OP Object] init success
[OP Object] init success
[OP Object] init success
[OP Object] init success
[OP Object] init success
[PipelineServicer] succ init
[OP Object] init success
[OP Object] init success
[OP Object] init success
[OP Object] init success
Process Process-1:
Traceback (most recent call last):
File "opt/anaconda3/envs/py37/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
self.run()
File "/opt/anaconda3/envs/py37/lib/python3.7/multiprocessing/process.py", line 99, in run
self._target(*self._args, **self._kwargs)
File "opt/anaconda3/envs/py37/lib/python3.7/site-packages/paddle_serving_server/pipeline/pipeline_server.py", line 120, in _grpc_gateway
proxy_server = cdll.LoadLibrary(lib_path)
File "opt/anaconda3/envs/py37/lib/python3.7/ctypes/init.py", line 442, in LoadLibrary
return self._dlltype(name)
File "/opt/anaconda3/envs/py37/lib/python3.7/ctypes/init.py", line 364, in init
self._handle = _dlopen(self._name, mode)
OSError: dlopen(/opt/anaconda3/envs/py37/lib/python3.7/site-packages/paddle_serving_server/pipeline/gateway/libproxy_server.so, 0x0006): tried: '/opt/anaconda3/envs/py37/lib/python3.7/site-packages/paddle_serving_server/pipeline/gateway/libproxy_server.so' (not a mach-o file), '/usr/local/lib/libproxy_server.so' (no such file), '/usr/lib/libproxy_server.so' (no such file)

commented

1安装serving,用于启动服务
wget https://paddle-serving.bj.bcebos.com/test-dev/whl/paddle_serving_server-0.8.3-py3-none-any.whl
pip3 install paddle_serving_server-0.8.3-py3-none-any.whl

2安装client,用于向服务发送请求,如果不使用python的话 可以不用安装
wget https://paddle-serving.bj.bcebos.com/test-dev/whl/paddle_serving_client-0.8.3-cp37-none-any.whl
pip3 install paddle_serving_client-0.8.3-cp37-none-any.whl

3安装serving-app
wget https://paddle-serving.bj.bcebos.com/test-dev/whl/paddle_serving_app-0.8.3-py3-none-any.whl
pip3 install paddle_serving_app-0.8.3-py3-none-any.whl

4下载并解压 OCR 文本检测模型
wget https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_det_infer.tar -O ch_PP-OCRv3_det_infer.tar && tar -xf ch_PP-OCRv3_det_infer.tar
5下载并解压 OCR 文本识别模型
wget https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_rec_infer.tar -O ch_PP-OCRv3_rec_infer.tar && tar -xf ch_PP-OCRv3_rec_infer.tar

6转换检测模型
python3 -m paddle_serving_client.convert --dirname ./ch_PP-OCRv3_det_infer/
--model_filename inference.pdmodel
--params_filename inference.pdiparams
--serving_server ./ppocr_det_v3_serving/
--serving_client ./ppocr_det_v3_client/

7转换识别模型
python3 -m paddle_serving_client.convert --dirname ./ch_PP-OCRv3_rec_infer/
--model_filename inference.pdmodel
--params_filename inference.pdiparams
--serving_server ./ppocr_rec_v3_serving/
--serving_client ./ppocr_rec_v3_client/

8启动服务,运行日志保存在log.txt
python3 web_service.py &>log.txt &

commented

上面是完整的操作步骤

macOS系统下要使用linux docker上部署Serving,目前不支持原生mac部署

commented

好的 谢谢