提交 ff5d824b 编写于 作者: M MRXLT 提交者: GitHub

Merge pull request #539 from MRXLT/compatible

improve compatibility
if(CLIENT) if(CLIENT)
add_subdirectory(pybind11) add_subdirectory(pybind11)
pybind11_add_module(serving_client src/general_model.cpp src/pybind_general_model.cpp) pybind11_add_module(serving_client src/general_model.cpp src/pybind_general_model.cpp)
target_link_libraries(serving_client PRIVATE -Wl,--whole-archive utils sdk-cpp pybind python -Wl,--no-whole-archive -lpthread -lcrypto -lm -lrt -lssl -ldl -lz) target_link_libraries(serving_client PRIVATE -Wl,--whole-archive utils sdk-cpp pybind python -Wl,--no-whole-archive -lpthread -lcrypto -lm -lrt -lssl -ldl -lz -Wl,-rpath,'$ORIGIN'/lib)
endif() endif()
...@@ -8,6 +8,13 @@ The example uses the ResNet50_vd model to perform the imagenet 1000 classificati ...@@ -8,6 +8,13 @@ The example uses the ResNet50_vd model to perform the imagenet 1000 classificati
``` ```
sh get_model.sh sh get_model.sh
``` ```
### Install preprocess module
```
pip install paddle_serving_app
```
### HTTP Infer ### HTTP Infer
launch server side launch server side
......
...@@ -8,6 +8,13 @@ ...@@ -8,6 +8,13 @@
``` ```
sh get_model.sh sh get_model.sh
``` ```
### 安装数据预处理模块
```
pip install paddle_serving_app
```
### 执行HTTP预测服务 ### 执行HTTP预测服务
启动server端 启动server端
......
...@@ -14,8 +14,10 @@ ...@@ -14,8 +14,10 @@
from paddle_serving_client import Client from paddle_serving_client import Client
import sys import sys
reload(sys) py_version = sys.version_info[0]
sys.setdefaultencoding('utf-8') if py_version == 2:
reload(sys)
sys.setdefaultencoding('utf-8')
import os import os
import io import io
......
...@@ -4,6 +4,12 @@ ...@@ -4,6 +4,12 @@
``` ```
sh get_data.sh sh get_data.sh
``` ```
## Install preprocess module
```
pip install paddle_serving_app
```
## Start http service ## Start http service
``` ```
python senta_web_service.py senta_bilstm_model/ workdir 9292 python senta_web_service.py senta_bilstm_model/ workdir 9292
......
...@@ -4,6 +4,11 @@ ...@@ -4,6 +4,11 @@
``` ```
sh get_data.sh sh get_data.sh
``` ```
## 安装数据预处理模块
```
pip install paddle_serving_app
```
## 启动HTTP服务 ## 启动HTTP服务
``` ```
python senta_web_service.py senta_bilstm_model/ workdir 9292 python senta_web_service.py senta_bilstm_model/ workdir 9292
......
...@@ -16,7 +16,7 @@ import os ...@@ -16,7 +16,7 @@ import os
import urllib import urllib
import numpy as np import numpy as np
import base64 import base64
import functional as F from . import functional as F
from PIL import Image, ImageDraw from PIL import Image, ImageDraw
import json import json
......
...@@ -12,10 +12,11 @@ ...@@ -12,10 +12,11 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
from paddle_serving_client import Client
import sys import sys
reload(sys) py_version = sys.version_info[0]
sys.setdefaultencoding('utf-8') if py_version == 2:
reload(sys)
sys.setdefaultencoding('utf-8')
import os import os
import io import io
......
...@@ -112,7 +112,6 @@ class Client(object): ...@@ -112,7 +112,6 @@ class Client(object):
self.feed_shapes_ = {} self.feed_shapes_ = {}
self.feed_types_ = {} self.feed_types_ = {}
self.feed_names_to_idx_ = {} self.feed_names_to_idx_ = {}
self.rpath()
self.pid = os.getpid() self.pid = os.getpid()
self.predictor_sdk_ = None self.predictor_sdk_ = None
self.producers = [] self.producers = []
...@@ -121,16 +120,6 @@ class Client(object): ...@@ -121,16 +120,6 @@ class Client(object):
self.all_numpy_input = True self.all_numpy_input = True
self.has_numpy_input = False self.has_numpy_input = False
def rpath(self):
lib_path = os.path.dirname(paddle_serving_client.__file__)
client_path = os.path.join(lib_path, 'serving_client.so')
lib_path = os.path.join(lib_path, 'lib')
ld_path = os.getenv('LD_LIBRARY_PATH')
if ld_path == None:
os.environ['LD_LIBRARY_PATH'] = lib_path
elif ld_path not in lib_path:
os.environ['LD_LIBRARY_PATH'] = ld_path + ':' + lib_path
def load_client_config(self, path): def load_client_config(self, path):
from .serving_client import PredictorClient from .serving_client import PredictorClient
from .serving_client import PredictorRes from .serving_client import PredictorRes
......
...@@ -26,7 +26,7 @@ from setuptools import setup ...@@ -26,7 +26,7 @@ from setuptools import setup
from paddle_serving_client.version import serving_client_version from paddle_serving_client.version import serving_client_version
from pkg_resources import DistributionNotFound, get_distribution from pkg_resources import DistributionNotFound, get_distribution
py_version = sys.version_info[0] py_version = sys.version_info
def python_version(): def python_version():
return [int(v) for v in platform.python_version().split(".")] return [int(v) for v in platform.python_version().split(".")]
...@@ -39,7 +39,12 @@ def find_package(pkgname): ...@@ -39,7 +39,12 @@ def find_package(pkgname):
return False return False
def copy_lib(): def copy_lib():
lib_list = ['libpython2.7.so.1.0', 'libssl.so.10', 'libcrypto.so.10'] if py_version == 2 else ['libpython3.6m.so.1.0', 'libssl.so.10', 'libcrypto.so.10'] if py_version[0] == 2:
lib_list = ['libpython2.7.so.1.0', 'libssl.so.10', 'libcrypto.so.10']
elif py_version[1] == 6:
lib_list = ['libpython3.6m.so.1.0', 'libssl.so.10', 'libcrypto.so.10']
elif py_version[1] == 7:
lib_list = ['libpython3.7m.so.1.0', 'libssl.so.10', 'libcrypto.so.10']
os.popen('mkdir -p paddle_serving_client/lib') os.popen('mkdir -p paddle_serving_client/lib')
for lib in lib_list: for lib in lib_list:
r = os.popen('whereis {}'.format(lib)) r = os.popen('whereis {}'.format(lib))
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册