提交 7847239f 编写于 作者: D Dong Daxiang 提交者: GitHub

Merge pull request #338 from MRXLT/doc-fix-v1

fix doc and code for 0.2.0
......@@ -13,10 +13,10 @@ module = hub.Module(model_name)
inputs, outputs, program = module.context(
trainable=True, max_seq_len=20)
feed_keys = ["input_ids", "position_ids", "segment_ids",
"input_mask", "pooled_output", "sequence_output"]
"input_mask"]
fetch_keys = ["pooled_output", "sequence_output"]
feed_dict = dict(zip(feed_keys, [inputs[x] for x in feed_keys]))
fetch_dict = dict(zip(fetch_keys, [outputs[x]] for x in fetch_keys))
fetch_dict = dict(zip(fetch_keys, [outputs[x] for x in fetch_keys]))
import paddle_serving_client.io as serving_io
serving_io.save_model("bert_seq20_model", "bert_seq20_client",
......
......@@ -5,12 +5,17 @@
### 获取模型
示例中采用[Paddlehub](https://github.com/PaddlePaddle/PaddleHub)中的[BERT中文模型](https://www.paddlepaddle.org.cn/hubdetail?name=bert_chinese_L-12_H-768_A-12&en_category=SemanticModel)
请先安装paddlehub
```
pip install paddlehub
```
执行
```
python prepare_model.py
python prepare_model.py 20
```
生成server端配置文件与模型文件,存放在serving_server_model文件夹
生成client端配置文件,存放在serving_client_conf文件夹
参数20表示BERT模型中的max_seq_len,即预处理后的样本长度。
生成server端配置文件与模型文件,存放在bert_seq20_model文件夹
生成client端配置文件,存放在bert_seq20_client文件夹
### 获取词典和样例数据
......@@ -22,19 +27,24 @@ sh get_data.sh
### 启动RPC预测服务
执行
```
python -m paddle_serving_server.serve --model serving_server_model/ --port 9292 #启动cpu预测服务
python -m paddle_serving_server.serve --model bert_seq20_model/ --port 9292 #启动cpu预测服务
```
或者
```
python -m paddle_serving_server_gpu.serve --model serving_server_model/ --port 9292 --gpu_ids 0 #在gpu 0上启动gpu预测服务
python -m paddle_serving_server_gpu.serve --model bert_seq20_model/ --port 9292 --gpu_ids 0 #在gpu 0上启动gpu预测服务
```
### 执行预测
执行预测前需要安装paddle_serving_app,模块中提供了BERT模型的数据预处理方法。
```
pip install paddle_serving_app
```
执行
```
python bert_rpc_client.py --thread 4
cat data-c.txt | python bert_client.py
```
启动client读取data-c.txt中的数据进行预测,--thread参数控制client的进程数,预测结束后会打印出每个进程的耗时,server端的地址在脚本中修改。
启动client读取data-c.txt中的数据进行预测,预测结果为文本的向量表示(由于数据较多,脚本中没有将输出进行打印),server端的地址在脚本中修改。
### 启动HTTP预测服务
```
......@@ -42,7 +52,7 @@ python bert_rpc_client.py --thread 4
```
通过环境变量指定gpu预测服务使用的gpu,示例中指定索引为0和1的两块gpu
```
python bert_web_service.py serving_server_model/ 9292 #启动gpu预测服务
python bert_web_service.py bert_seq20_model/ 9292 #启动gpu预测服务
```
### 执行预测
......
......@@ -25,12 +25,13 @@ from paddlehub.common.logger import logger
import socket
from paddle_serving_client import Client
from paddle_serving_client.utils import benchmark_args
from paddle_serving_app import ChineseBertReader
args = benchmark_args()
fin = open("data-c.txt")
reader = BertReader(vocab_file="vocab.txt", max_seq_len=128)
reader = ChineseBertReader(max_seq_len=20)
fetch = ["pooled_output"]
endpoint_list = ["127.0.0.1:9494"]
endpoint_list = ["127.0.0.1:9292"]
client = Client()
client.load_client_config(args.model)
client.connect(endpoint_list)
......
......@@ -14,7 +14,8 @@ python local_train.py
### 启动RPC预测服务
```
python -m paddle_serving_server.serve --model ctr_serving_model/ --port 9292
python -m paddle_serving_server.serve --model ctr_serving_model/ --port 9292 #启动CPU预测服务
python -m paddle_serving_server_gpu.serve --model ctr_serving_model/ --port 9292 --gpu_ids 0 #在GPU 0上启动预测服务
```
### 执行预测
......@@ -22,3 +23,4 @@ python -m paddle_serving_server.serve --model ctr_serving_model/ --port 9292
```
python test_client.py ctr_client_conf/serving_client_conf.prototxt raw_data/
```
预测完毕会输出预测过程的耗时。
......@@ -34,6 +34,6 @@ python -m paddle_serving_server_gpu.serve --model ResNet50_vd_model --port 9393
client端进行预测
```
python image_rpc_client.py conf_and_model/serving_client_conf/serving_client_conf.prototxt
python image_rpc_client.py ResNet50_vd_client_config/serving_client_conf.prototxt
```
*server端示例中服务端口为9393端口,client端示例中数据来自./data文件夹,server端地址为本地9393端口,可根据实际情况更改脚本。*
......@@ -4,4 +4,4 @@ wget --no-check-certificate https://paddle-serving.bj.bcebos.com/imagenet-exampl
tar -xzvf ResNet101_vd.tar.gz
wget --no-check-certificate https://paddle-serving.bj.bcebos.com/imagenet-example/image_data.tar.gz
tar -xzvf imgae_data.tar.gz
tar -xzvf image_data.tar.gz
......@@ -11,11 +11,11 @@ sh get_data.sh
### 启动RPC预测服务
```
python -m paddle_serving_server.serve --model imdb_bow_model/ --port 9292
python -m paddle_serving_server.serve --model imdb_cnn_model/ --port 9292
```
### 执行预测
```
head test_data/part-0 | python test_client.py imdb_lstm_client_conf/serving_client_conf.prototxt imdb.vocab
head test_data/part-0 | python test_client.py imdb_cnn_client_conf/serving_client_conf.prototxt imdb.vocab
```
预测test_data/part-0的前十个样例。
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册