Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleHub
提交
e3a4afcf
P
PaddleHub
项目概览
PaddlePaddle
/
PaddleHub
大约 1 年 前同步成功
通知
281
Star
12117
Fork
2091
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
200
列表
看板
标记
里程碑
合并请求
4
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleHub
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
200
Issue
200
列表
看板
标记
里程碑
合并请求
4
合并请求
4
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
e3a4afcf
编写于
12月 30, 2019
作者:
走神的阿圆
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix image display size in serving demo
上级
1af31430
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
75 addition
and
77 deletion
+75
-77
demo/serving/README.md
demo/serving/README.md
+4
-2
demo/serving/bert_service/README.md
demo/serving/bert_service/README.md
+1
-1
demo/serving/serving/GAN_stgan_celeba/README.md
demo/serving/serving/GAN_stgan_celeba/README.md
+1
-1
demo/serving/serving/README.md
demo/serving/serving/README.md
+54
-48
demo/serving/serving/classification_vgg11_imagenet/README.md
demo/serving/serving/classification_vgg11_imagenet/README.md
+2
-12
demo/serving/serving/object_detection_yolov3_darknet53_coco2017/README.md
...ving/object_detection_yolov3_darknet53_coco2017/README.md
+11
-11
demo/serving/serving/semantic_segmentation_deeplabv3p_xception65_humanseg/README.md
...tic_segmentation_deeplabv3p_xception65_humanseg/README.md
+2
-2
未找到文件。
demo/serving/README.md
浏览文件 @
e3a4afcf
...
...
@@ -10,9 +10,9 @@ PaddleHub-Serving是基于PaddleHub的一键模型服务部署工具,能够通
PaddleHub-Serving主要包括利用Bert Service实现embedding服务化,以及利用预测模型实现预训练模型预测服务化,未来还将支持开发者利用PaddleHub自己finetune后的模型服务化。
## 2. Bert Service
`Bert Service`
是基于Paddle Serving框架的快速部署模型远程计算服务方案,可将embedding过程通过调用API接口的方式实现,减少了对机器资源的依赖。使用PaddleHub可在服务器上一键部署
`Bert Service`
服务,在另外的普通机器上通过客户端接口即可轻松的获取文本对应的embedding数据。
Bert Service
是基于Paddle Serving框架的快速部署模型远程计算服务方案,可将embedding过程通过调用API接口的方式实现,减少了对机器资源的依赖。使用PaddleHub可在服务器上一键部署
`Bert Service`
服务,在另外的普通机器上通过客户端接口即可轻松的获取文本对应的embedding数据。
关于
`Bert Service`
的具体信息请参与
[
Bert Service
](
./bert_service
)
关于
Bert Service的具体信息和示例请参阅
[
Bert Service
](
./bert_service
)
该示例展示了利用Bert Service进行远程embedding服务化部署和在线预测,并获取文本embedding结果。
...
...
@@ -50,3 +50,5 @@ PaddleHub-Serving主要包括利用Bert Service实现embedding服务化,以及
*
[
中文情感分析-基于simnet_bow
](
serving/semantic_model_simnet_bow
)
该示例展示了利用senta_lstm完成中文文本情感分析服务化部署和在线预测,获取文本的情感分析结果。
关于Paddle-Serving一键模型部署功能的具体信息请参与
[
serving
](
./serving
)
demo/serving/bert_service/README.md
浏览文件 @
e3a4afcf
...
...
@@ -233,7 +233,7 @@ Paddle Inference Server exit successfully!
browser.",这个页面有什么作用。
> A : 这是`BRPC`的内置服务,主要用于查看请求数、资源占用等信息,可对server端性能有大致了解,具体信息可查看[BRPC内置服务](https://github.com/apache/incubator-brpc/blob/master/docs/cn/builtin_service.md)。
> Q : 为什么输入文本的格式为[["文本1"], ["文本2"], ],而不是["文本1", "文本2", ]?
> Q : 为什么输入文本的格式为[["文本1"], ["文本2"], ],而不是["文本1", "文本2", ]?
> A : 因为Bert模型可以对一轮对话生成向量表示,例如[["问题1","回答1"],["问题2","回答2"]],为了防止使用时混乱,每个样本使用一个list表示,一个样本list内部可以是1条string或2条string,如下面的文本:
> ```python
> input_text = [
...
...
demo/serving/serving/GAN_stgan_celeba/README.md
浏览文件 @
e3a4afcf
...
...
@@ -21,7 +21,7 @@ Loading stgan_celeba successful.
我们用来测试的样例图片为
<p
align=
"center"
>
<img
src=
"../img/man.
jp
g"
width=
"30%"
/>
<img
src=
"../img/man.
pn
g"
width=
"30%"
/>
</p>
根据stgan_celeba所需信息,准备的数据包括图像文件和生成图像风格,格式为
...
...
demo/serving/serving/README.md
浏览文件 @
e3a4afcf
...
...
@@ -48,14 +48,14 @@ $ hub serving start --config config.json
{
"modules_info"
:
[
{
"module"
:
module_name
1
,
"version"
:
module_version
1
,
"batch_size"
:
batch_size
1
"module"
:
"MODULE_NAME_1"
,
"version"
:
"MODULE_VERSION_1"
,
"batch_size"
:
"BATCH_SIZE_1"
},
{
"module"
:
module_name
2
,
"version"
:
module_version
2
,
"batch_size"
:
batch_size
2
"module"
:
"MODULE_NAME_2"
,
"version"
:
"MODULE_VERSION_2"
,
"batch_size"
:
"BATCH_SIZE_2"
}
],
"use_gpu"
:
false
,
...
...
@@ -68,7 +68,7 @@ $ hub serving start --config config.json
|参数|用途|
|-|-|
|--modules_info|Hub-Serving预安装模型,以字典列表形式列出,其中
`module`
为预测服务使用的模型名,
`version`
为其版本,
`batch_size`
为预测批次大小。
|--modules_info|Hub-Serving预安装模型,以字典列表形式列出,其中
:
<br>
`module`
为预测服务使用的模型名
<br>
`version`
为预测模型的版本
<br>
`batch_size`
为预测批次大小
|--use_gpu|使用GPU进行预测,必须安装paddlepaddle-gpu|
|--port/-p|服务端口,默认为8866|
|--use_multiprocess|是否启用并发方式,默认为单进程方式,推荐多核CPU机器使用此方式|
...
...
@@ -77,9 +77,9 @@ $ hub serving start --config config.json
在使用PaddleHub-Serving部署服务端的模型预测服务后,就可以在客户端访问预测接口以获取结果了,接口url格式为:
http://0.0.0.0:8866/predict/
<CATEGORY>
/
<MODULE>
http://0.0.0.0:8866/predict/
\<
CATEGORY
\>
/
\
<
MODULE>
其中,
<CATEGORY>
为text或image,与模型种类对应,
<MODULE>
为模型名。
其中,
\<
CATEGORY>为text或image,与模型种类对应,
\
<
MODULE>为模型名。
通过发送一个POST请求,即可获取预测结果,下面我们将展示一个具体的demo,以说明使用PaddleHub-Serving部署和使用流程。
...
...
@@ -88,7 +88,7 @@ http://0.0.0.0:8866/predict/<CATEGORY>/<MODULE>
<p
align=
"center"
>
<img
src=
".
.
/img/web_demo.png"
width=
"60%"
/>
<img
src=
"./img/web_demo.png"
width=
"60%"
/>
</p>
...
...
@@ -124,7 +124,7 @@ $ hub serving start -c serving_config.json
<p
align=
"center"
>
<img
src=
".
.
/img/start_serving_lac.png"
width=
"100%"
/>
<img
src=
"./img/start_serving_lac.png"
width=
"100%"
/>
</p>
...
...
@@ -153,43 +153,49 @@ if __name__ == "__main__":
print
(
json
.
dumps
(
r
.
json
(),
indent
=
4
,
ensure_ascii
=
False
))
```
运行后得到结果
```
python
{
"results"
:
[
{
"tag"
:
[
"TIME"
,
"v"
,
"q"
,
"n"
],
"word"
:
[
"今天"
,
"是"
,
"个"
,
"好日子"
]
},
{
"tag"
:
[
"n"
,
"v"
,
"TIME"
,
"v"
,
"v"
],
"word"
:
[
"天气预报"
,
"说"
,
"今天"
,
"要"
,
"下雨"
]
}
]
}
```
关于PaddleHub-Serving的一键服务部署功能示例,可参阅下列demo
<details>
<summary>
lac分词结果
</summary>
```python
{
"results": [
{
"tag": [
"TIME",
"v",
"q",
"n"
],
"word": [
"今天",
"是",
"个",
"好日子"
]
},
{
"tag": [
"n",
"v",
"TIME",
"v",
"v"
],
"word": [
"天气预报",
"说",
"今天",
"要",
"下雨"
]
}
]
}
```
</detail>
获取其他PaddleHub-Serving的一键服务部署场景示例,可参阅下列demo
*
[
图像分类-基于vgg11_imagent
](
serving/classification_vgg11_imagenet
)
...
...
demo/serving/serving/classification_vgg11_imagenet/README.md
浏览文件 @
e3a4afcf
...
...
@@ -21,21 +21,11 @@ Loading vgg11_imagenet successful.
我们用来测试的样例图片为
<p
align=
"center"
>
<img
src=
"../img/cat.jpg"
width=
"
80
%"
/>
<img
src=
"../img/cat.jpg"
width=
"
45
%"
/>
</p>
<p
align=
"center"
>
<img
src=
"../img/flower.jpg"
width=
"80%"
/>
</p>
## python脚本
<p
align=
"center"
>
<img
src=
"../img/cat.jpg"
width=
"80%"
/>
</p>
<p
align=
"center"
>
<img
src=
"../img/flower.jpg"
width=
"80%"
/>
<img
src=
"../img/flower.jpg"
width=
"45%"
/>
</p>
准备的数据格式为
...
...
demo/serving/serving/object_detection_yolov3_darknet53_coco2017/README.md
浏览文件 @
e3a4afcf
# 部署图像分类服务-以yolov3_coco2017为例
# 部署图像分类服务-以yolov3_
darknet53_
coco2017为例
## 1 简介
目标检测作为深度学习常见任务,在各种场景下都有所使用。使用
`yolov3_
coco2017`
模型可以进行目标检测任务,关于
`yolov3_coco2017`
的具体信息请参阅
[
yolov3_coco2017
](
https://paddlepaddle.org.cn/hubdetail?name=yolov
3_coco2017&en_category=ObjectDetection
)
。
目标检测作为深度学习常见任务,在各种场景下都有所使用。使用
`yolov3_
darknet53_coco2017`
模型可以进行目标检测任务,关于
`yolov3_darknet53_coco2017`
的具体信息请参阅
[
yolov3_darknet53_coco2017
](
https://paddlepaddle.org.cn/hubdetail?name=yolov3_darknet5
3_coco2017&en_category=ObjectDetection
)
。
使用PaddleHub-Serving可以轻松部署一个在线目标检测服务API,可将此API接入自己的web网站进行在线目标检测,也可接入移动端应用程序,实现识图、圈人等功能。
...
...
@@ -9,11 +9,11 @@
## 2 启动PaddleHub-Serving
启动命令如下
```
shell
$
hub serving start
-m
yolov3_coco2017
$
hub serving start
-m
yolov3_
darknet53_
coco2017
```
启动时会显示加载模型过程,启动成功后显示
```
shell
Loading yolov3_coco2017 successful.
Loading yolov3_
darknet53_
coco2017 successful.
```
这样就完成了一个图像生成服务化API的部署,默认端口号为8866。
...
...
@@ -22,13 +22,13 @@ Loading yolov3_coco2017 successful.
<p
align=
"center"
>
<img
src=
"../img/cat.jpg"
width=
"
100
%"
/>
<img
src=
"../img/cat.jpg"
width=
"
65
%"
/>
</p>
<p
align=
"center"
>
<img
src=
"../img/dog.jpg"
width=
"
100
%"
/>
<img
src=
"../img/dog.jpg"
width=
"
65
%"
/>
</p>
...
...
@@ -46,8 +46,8 @@ files = [("image", file_1), ("image", file_2)]
```
然后就可以发送请求到目标检测服务API,并得到结果,代码如下
```
python
>>>
# 指定检测方法为yolov3_coco2017并发送post请求
>>>
url
=
"http://127.0.0.1:8866/predict/image/yolov3_coco2017"
>>>
# 指定检测方法为yolov3_
darknet53_
coco2017并发送post请求
>>>
url
=
"http://127.0.0.1:8866/predict/image/yolov3_
darknet53_
coco2017"
>>>
r
=
requests
.
post
(
url
=
url
,
files
=
files
)
```
我们可以打印接口返回结果
...
...
@@ -93,7 +93,7 @@ files = [("image", file_1), ("image", file_2)]
```
根据结果可以看出准确识别了请求的图片。
yolov3_coco2017返回的结果还包括标注检测框的图像的base64编码格式,经过转换可以得到生成图像,代码如下
yolov3_
darknet53_
coco2017返回的结果还包括标注检测框的图像的base64编码格式,经过转换可以得到生成图像,代码如下
```
python
>>>
for
item
in
results
:
...
with
open
(
output_path
,
"wb"
)
as
fp
:
...
...
@@ -103,13 +103,13 @@ yolov3_coco2017返回的结果还包括标注检测框的图像的base64编码
<p
align=
"center"
>
<img
src=
"./output/cat.jpg"
width=
"
80
%"
/>
<img
src=
"./output/cat.jpg"
width=
"
65
%"
/>
</p>
<p
align=
"center"
>
<img
src=
"./output/dog.jpg"
width=
"
80
%"
/>
<img
src=
"./output/dog.jpg"
width=
"
65
%"
/>
</p>
...
...
demo/serving/serving/semantic_segmentation_deeplabv3p_xception65_humanseg/README.md
浏览文件 @
e3a4afcf
...
...
@@ -22,7 +22,7 @@ Loading deeplabv3p_xception65_humanseg successful.
<p
align=
"center"
>
<img
src=
"../img/girl.jpg"
width=
"
100
%"
/>
<img
src=
"../img/girl.jpg"
width=
"
65
%"
/>
</p>
...
...
@@ -66,7 +66,7 @@ deeplabv3p_xception65_humanseg返回的结果还包括人像分割后的图像
<p
align=
"center"
>
<img
src=
"./output/girl.png"
width=
"
100
%"
/>
<img
src=
"./output/girl.png"
width=
"
65
%"
/>
</p>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录