Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleHub
提交
52766374
P
PaddleHub
项目概览
PaddlePaddle
/
PaddleHub
大约 1 年 前同步成功
通知
280
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,发现更多精彩内容 >>
未验证
提交
52766374
编写于
8月 29, 2022
作者:
C
chenjian
提交者:
GitHub
8月 29, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add hub serving for text-to-image modules
上级
5da7318d
变更
12
隐藏空白更改
内联
并排
Showing
12 changed file
with
267 addition
and
29 deletion
+267
-29
modules/image/text_to_image/disco_diffusion_clip_rn101/README.md
.../image/text_to_image/disco_diffusion_clip_rn101/README.md
+41
-1
modules/image/text_to_image/disco_diffusion_clip_rn101/module.py
.../image/text_to_image/disco_diffusion_clip_rn101/module.py
+1
-4
modules/image/text_to_image/disco_diffusion_clip_rn50/README.md
...s/image/text_to_image/disco_diffusion_clip_rn50/README.md
+40
-1
modules/image/text_to_image/disco_diffusion_clip_rn50/module.py
...s/image/text_to_image/disco_diffusion_clip_rn50/module.py
+1
-4
modules/image/text_to_image/disco_diffusion_clip_vitb32/README.md
...image/text_to_image/disco_diffusion_clip_vitb32/README.md
+41
-1
modules/image/text_to_image/disco_diffusion_clip_vitb32/module.py
...image/text_to_image/disco_diffusion_clip_vitb32/module.py
+4
-7
modules/image/text_to_image/disco_diffusion_cnclip_vitb16/README.md
...age/text_to_image/disco_diffusion_cnclip_vitb16/README.md
+41
-1
modules/image/text_to_image/disco_diffusion_cnclip_vitb16/module.py
...age/text_to_image/disco_diffusion_cnclip_vitb16/module.py
+1
-4
modules/image/text_to_image/disco_diffusion_ernievil_base/README.md
...age/text_to_image/disco_diffusion_ernievil_base/README.md
+41
-1
modules/image/text_to_image/disco_diffusion_ernievil_base/module.py
...age/text_to_image/disco_diffusion_ernievil_base/module.py
+1
-4
modules/image/text_to_image/ernie_vilg/README.md
modules/image/text_to_image/ernie_vilg/README.md
+40
-1
modules/image/text_to_image/ernie_vilg/module.py
modules/image/text_to_image/ernie_vilg/module.py
+15
-0
未找到文件。
modules/image/text_to_image/disco_diffusion_clip_rn101/README.md
100644 → 100755
浏览文件 @
52766374
...
...
@@ -103,7 +103,47 @@ disco_diffusion_clip_rn101 是一个文图生成模型,可以通过输入一
- **返回**
- ra(DocumentArray): DocumentArray对象, 包含`n_batches`个Documents,其中每个Document都保存了迭代过程的所有中间结果。详细可参考[DocumentArray使用文档](https://docarray.jina.ai/fundamentals/documentarray/index.html)。
## 四、更新历史
## 四、服务部署
-
PaddleHub Serving可以部署一个在线文图生成服务。
-
### 第一步:启动PaddleHub Serving
-
运行启动命令:
-
```shell
$ hub serving start -m disco_diffusion_clip_rn101
```
-
这样就完成了一个文图生成的在线服务API的部署,默认端口号为8866。
-
**NOTE:**
如使用GPU预测,则需要在启动服务之前,请设置CUDA
\_
VISIBLE
\_
DEVICES环境变量,否则不用设置。
-
### 第二步:发送预测请求
-
配置好服务端,以下数行代码即可实现发送预测请求,获取预测结果,返回的预测结果在反序列化后即是上述接口声明中说明的DocumentArray类型,返回后对结果的操作方式和使用generate_image接口完全相同。
-
```python
import requests
import json
import cv2
import base64
from docarray import DocumentArray
# 发送HTTP请求
data = {'text_prompts': 'in the morning light,Overlooking TOKYO city by greg rutkowski and thomas kinkade,Trending on artstation.'}
headers = {"Content-type": "application/json"}
url = "http://127.0.0.1:8866/predict/disco_diffusion_clip_rn101"
r = requests.post(url=url, headers=headers, data=json.dumps(data))
# 获取返回结果
da = DocumentArray.from_base64(r.json()["results"])
# 手动将最终生成的图像保存到指定路径
da[0].save_uri_to_file('disco_diffusion_clip_rn101_out-result.png')
# 将生成过程保存为一个动态图gif
da[0].chunks.save_gif('disco_diffusion_clip_rn101_out-result.gif')
## 五、更新历史
* 1.0.0
...
...
modules/image/text_to_image/disco_diffusion_clip_rn101/module.py
浏览文件 @
52766374
...
...
@@ -174,10 +174,7 @@ class DiscoDiffusionClip:
"""
Run as a service.
"""
results
=
[]
for
text_prompt
in
text_prompts
:
result
=
self
.
generate_image
(
text_prompts
=
text_prompt
,
**
kwargs
)[
0
].
to_base64
()
results
.
append
(
result
)
results
=
self
.
generate_image
(
text_prompts
=
text_prompts
,
**
kwargs
).
to_base64
()
return
results
@
runnable
...
...
modules/image/text_to_image/disco_diffusion_clip_rn50/README.md
100644 → 100755
浏览文件 @
52766374
...
...
@@ -103,7 +103,46 @@ disco_diffusion_clip_rn50 是一个文图生成模型,可以通过输入一段
- **返回**
- ra(DocumentArray): DocumentArray对象, 包含`n_batches`个Documents,其中每个Document都保存了迭代过程的所有中间结果。详细可参考[DocumentArray使用文档](https://docarray.jina.ai/fundamentals/documentarray/index.html)。
## 四、更新历史
## 四、服务部署
-
PaddleHub Serving可以部署一个在线文图生成服务。
-
### 第一步:启动PaddleHub Serving
-
运行启动命令:
-
```shell
$ hub serving start -m disco_diffusion_clip_rn50
```
-
这样就完成了一个文图生成的在线服务API的部署,默认端口号为8866。
-
**NOTE:**
如使用GPU预测,则需要在启动服务之前,请设置CUDA
\_
VISIBLE
\_
DEVICES环境变量,否则不用设置。
-
### 第二步:发送预测请求
-
配置好服务端,以下数行代码即可实现发送预测请求,获取预测结果,返回的预测结果在反序列化后即是上述接口声明中说明的DocumentArray类型,返回后对结果的操作方式和使用generate_image接口完全相同。
-
```python
import requests
import json
import cv2
import base64
from docarray import DocumentArray
# 发送HTTP请求
data = {'text_prompts': 'in the morning light,Overlooking TOKYO city by greg rutkowski and thomas kinkade,Trending on artstation.'}
headers = {"Content-type": "application/json"}
url = "http://127.0.0.1:8866/predict/disco_diffusion_clip_rn50"
r = requests.post(url=url, headers=headers, data=json.dumps(data))
# 获取返回结果
da = DocumentArray.from_base64(r.json()["results"])
# 手动将最终生成的图像保存到指定路径
da[0].save_uri_to_file('disco_diffusion_clip_rn50_out-result.png')
# 将生成过程保存为一个动态图gif
da[0].chunks.save_gif('disco_diffusion_clip_rn50_out-result.gif')
## 五、更新历史
* 1.0.0
...
...
modules/image/text_to_image/disco_diffusion_clip_rn50/module.py
浏览文件 @
52766374
...
...
@@ -174,10 +174,7 @@ class DiscoDiffusionClip:
"""
Run as a service.
"""
results
=
[]
for
text_prompt
in
text_prompts
:
result
=
self
.
generate_image
(
text_prompts
=
text_prompt
,
**
kwargs
)[
0
].
to_base64
()
results
.
append
(
result
)
results
=
self
.
generate_image
(
text_prompts
=
text_prompts
,
**
kwargs
).
to_base64
()
return
results
@
runnable
...
...
modules/image/text_to_image/disco_diffusion_clip_vitb32/README.md
100644 → 100755
浏览文件 @
52766374
...
...
@@ -103,7 +103,47 @@ disco_diffusion_clip_vitb32 是一个文图生成模型,可以通过输入一
- **返回**
- ra(DocumentArray): DocumentArray对象, 包含`n_batches`个Documents,其中每个Document都保存了迭代过程的所有中间结果。详细可参考[DocumentArray使用文档](https://docarray.jina.ai/fundamentals/documentarray/index.html)。
## 四、更新历史
## 四、服务部署
-
PaddleHub Serving可以部署一个在线文图生成服务。
-
### 第一步:启动PaddleHub Serving
-
运行启动命令:
-
```shell
$ hub serving start -m disco_diffusion_clip_vitb32
```
-
这样就完成了一个文图生成的在线服务API的部署,默认端口号为8866。
-
**NOTE:**
如使用GPU预测,则需要在启动服务之前,请设置CUDA
\_
VISIBLE
\_
DEVICES环境变量,否则不用设置。
-
### 第二步:发送预测请求
-
配置好服务端,以下数行代码即可实现发送预测请求,获取预测结果,返回的预测结果在反序列化后即是上述接口声明中说明的DocumentArray类型,返回后对结果的操作方式和使用generate_image接口完全相同。
-
```python
import requests
import json
import cv2
import base64
from docarray import DocumentArray
# 发送HTTP请求
data = {'text_prompts': 'in the morning light,Overlooking TOKYO city by greg rutkowski and thomas kinkade,Trending on artstation.'}
headers = {"Content-type": "application/json"}
url = "http://127.0.0.1:8866/predict/disco_diffusion_clip_vitb32"
r = requests.post(url=url, headers=headers, data=json.dumps(data))
# 获取返回结果
da = DocumentArray.from_base64(r.json()["results"])
# 手动将最终生成的图像保存到指定路径
da[0].save_uri_to_file('disco_diffusion_clip_vitb32_out-result.png')
# 将生成过程保存为一个动态图gif
da[0].chunks.save_gif('disco_diffusion_clip_vitb32_out-result.gif')
## 五、更新历史
* 1.0.0
...
...
modules/image/text_to_image/disco_diffusion_clip_vitb32/module.py
浏览文件 @
52766374
...
...
@@ -19,12 +19,12 @@ from functools import partial
from
typing
import
List
from
typing
import
Optional
import
disco_diffusion_clip_vitb32.clip
as
clip
import
disco_diffusion_clip_vitb32.resize_right
as
resize_right
import
paddle
from
disco_diffusion_clip_vitb32.reverse_diffusion
import
create
import
disco_diffusion_clip_vitb32.clip
as
clip
import
disco_diffusion_clip_vitb32.resize_right
as
resize_right
import
paddlehub
as
hub
from
disco_diffusion_clip_vitb32.reverse_diffusion
import
create
from
paddlehub.module.module
import
moduleinfo
from
paddlehub.module.module
import
runnable
from
paddlehub.module.module
import
serving
...
...
@@ -174,10 +174,7 @@ class DiscoDiffusionClip:
"""
Run as a service.
"""
results
=
[]
for
text_prompt
in
text_prompts
:
result
=
self
.
generate_image
(
text_prompts
=
text_prompt
,
**
kwargs
)[
0
].
to_base64
()
results
.
append
(
result
)
results
=
self
.
generate_image
(
text_prompts
=
text_prompts
,
**
kwargs
).
to_base64
()
return
results
@
runnable
...
...
modules/image/text_to_image/disco_diffusion_cnclip_vitb16/README.md
100644 → 100755
浏览文件 @
52766374
...
...
@@ -103,7 +103,47 @@ disco_diffusion_cnclip_vitb16 是一个文图生成模型,可以通过输入
- **返回**
- ra(DocumentArray): DocumentArray对象, 包含`n_batches`个Documents,其中每个Document都保存了迭代过程的所有中间结果。详细可参考[DocumentArray使用文档](https://docarray.jina.ai/fundamentals/documentarray/index.html)。
## 四、更新历史
## 四、服务部署
-
PaddleHub Serving可以部署一个在线文图生成服务。
-
### 第一步:启动PaddleHub Serving
-
运行启动命令:
-
```shell
$ hub serving start -m disco_diffusion_cnclip_vitb16
```
-
这样就完成了一个文图生成的在线服务API的部署,默认端口号为8866。
-
**NOTE:**
如使用GPU预测,则需要在启动服务之前,请设置CUDA
\_
VISIBLE
\_
DEVICES环境变量,否则不用设置。
-
### 第二步:发送预测请求
-
配置好服务端,以下数行代码即可实现发送预测请求,获取预测结果,返回的预测结果在反序列化后即是上述接口声明中说明的DocumentArray类型,返回后对结果的操作方式和使用generate_image接口完全相同。
-
```python
import requests
import json
import cv2
import base64
from docarray import DocumentArray
# 发送HTTP请求
data = {'text_prompts': '孤舟蓑笠翁,独钓寒江雪。风格如齐白石所作'}
headers = {"Content-type": "application/json"}
url = "http://127.0.0.1:8866/predict/disco_diffusion_cnclip_vitb16"
r = requests.post(url=url, headers=headers, data=json.dumps(data))
# 获取返回结果
da = DocumentArray.from_base64(r.json()["results"])
# 手动将最终生成的图像保存到指定路径
da[0].save_uri_to_file('disco_diffusion_cnclip_vitb16_out-result.png')
# 将生成过程保存为一个动态图gif
da[0].chunks.save_gif('disco_diffusion_cnclip_vitb16_out-result.gif')
## 五、更新历史
* 1.0.0
...
...
modules/image/text_to_image/disco_diffusion_cnclip_vitb16/module.py
浏览文件 @
52766374
...
...
@@ -173,10 +173,7 @@ class DiscoDiffusionClip:
"""
Run as a service.
"""
results
=
[]
for
text_prompt
in
text_prompts
:
result
=
self
.
generate_image
(
text_prompts
=
text_prompt
,
**
kwargs
)[
0
].
to_base64
()
results
.
append
(
result
)
results
=
self
.
generate_image
(
text_prompts
=
text_prompts
,
**
kwargs
).
to_base64
()
return
results
@
runnable
...
...
modules/image/text_to_image/disco_diffusion_ernievil_base/README.md
浏览文件 @
52766374
...
...
@@ -104,7 +104,47 @@ disco_diffusion_ernievil_base 是一个文图生成模型,可以通过输入
- **返回**
- ra(DocumentArray): DocumentArray对象, 包含`n_batches`个Documents,其中每个Document都保存了迭代过程的所有中间结果。详细可参考[DocumentArray使用文档](https://docarray.jina.ai/fundamentals/documentarray/index.html)。
## 四、更新历史
## 四、服务部署
-
PaddleHub Serving可以部署一个在线文图生成服务。
-
### 第一步:启动PaddleHub Serving
-
运行启动命令:
-
```shell
$ hub serving start -m disco_diffusion_ernievil_base
```
-
这样就完成了一个文图生成的在线服务API的部署,默认端口号为8866。
-
**NOTE:**
如使用GPU预测,则需要在启动服务之前,请设置CUDA
\_
VISIBLE
\_
DEVICES环境变量,否则不用设置。
-
### 第二步:发送预测请求
-
配置好服务端,以下数行代码即可实现发送预测请求,获取预测结果,返回的预测结果在反序列化后即是上述接口声明中说明的DocumentArray类型,返回后对结果的操作方式和使用generate_image接口完全相同。
-
```python
import requests
import json
import cv2
import base64
from docarray import DocumentArray
# 发送HTTP请求
data = {'text_prompts': '孤舟蓑笠翁,独钓寒江雪。风格如齐白石所作'}
headers = {"Content-type": "application/json"}
url = "http://127.0.0.1:8866/predict/disco_diffusion_ernievil_base"
r = requests.post(url=url, headers=headers, data=json.dumps(data))
# 获取返回结果
da = DocumentArray.from_base64(r.json()["results"])
# 手动将最终生成的图像保存到指定路径
da[0].save_uri_to_file('disco_diffusion_ernievil_base_out-result.png')
# 将生成过程保存为一个动态图gif
da[0].chunks.save_gif('disco_diffusion_ernievil_base_out-result.gif')
## 五、更新历史
* 1.0.0
...
...
modules/image/text_to_image/disco_diffusion_ernievil_base/module.py
浏览文件 @
52766374
...
...
@@ -175,10 +175,7 @@ class DiscoDiffusionClip:
"""
Run as a service.
"""
results
=
[]
for
text_prompt
in
text_prompts
:
result
=
self
.
generate_image
(
text_prompts
=
text_prompt
,
**
kwargs
)[
0
].
to_base64
()
results
.
append
(
result
)
results
=
self
.
generate_image
(
text_prompts
=
text_prompts
,
**
kwargs
).
to_base64
()
return
results
@
runnable
...
...
modules/image/text_to_image/ernie_vilg/README.md
100644 → 100755
浏览文件 @
52766374
...
...
@@ -93,7 +93,46 @@
- **返回**
- images(List(PIL.Image)): 返回生成的所有图像列表,PIL的Image格式。
## 四、更新历史
## 四、服务部署
-
PaddleHub Serving可以部署一个在线文图生成服务。
-
### 第一步:启动PaddleHub Serving
-
运行启动命令:
-
```shell
$ hub serving start -m ernie_vilg
```
-
这样就完成了一个文图生成的在线服务API的部署,默认端口号为8866。
-
**NOTE:**
如使用GPU预测,则需要在启动服务之前,请设置CUDA
\_
VISIBLE
\_
DEVICES环境变量,否则不用设置。
-
### 第二步:发送预测请求
-
配置好服务端,以下数行代码即可实现发送预测请求,获取预测结果。
-
```python
import requests
import json
import cv2
import base64
from io import BytesIO
from PIL import Image
# 发送HTTP请求
data = {'text_prompts': '巨大的白色城堡'}
headers = {"Content-type": "application/json"}
url = "http://127.0.0.1:8866/predict/ernie_vilg"
r = requests.post(url=url, headers=headers, data=json.dumps(data))
# 获取返回结果
for i, result in enumerate(r.json()["results"]):
image = Image.open(BytesIO(base64.b64decode(result)))
image.save('result_{}.png'.format(i))
## 五、更新历史
* 1.0.0
...
...
modules/image/text_to_image/ernie_vilg/module.py
100644 → 100755
浏览文件 @
52766374
import
argparse
import
ast
import
base64
import
os
import
re
import
sys
...
...
@@ -214,6 +215,20 @@ class ErnieVilG:
output_dir
=
args
.
output_dir
)
return
results
@
serving
def
serving_method
(
self
,
text_prompts
,
**
kwargs
):
"""
Run as a service.
"""
results_base64encoded
=
[]
results
=
self
.
generate_image
(
text_prompts
=
text_prompts
,
**
kwargs
)
for
result
in
results
:
buffered
=
BytesIO
()
result
.
save
(
buffered
,
format
=
"png"
)
img_str
=
base64
.
b64encode
(
buffered
.
getvalue
()).
decode
(
'utf-8'
)
results_base64encoded
.
append
(
img_str
)
return
results_base64encoded
def
add_module_input_arg
(
self
):
"""
Add the command input options.
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录