Spaces:
Runtime error
Runtime error
chenjian
commited on
Commit
·
12c7dc4
1
Parent(s):
03aa3f4
update
Browse files
app.py
CHANGED
@@ -1,27 +1,54 @@
|
|
1 |
import numpy as np
|
2 |
import gradio as gr
|
3 |
import paddlehub as hub
|
|
|
4 |
|
5 |
|
6 |
model = hub.Module(name='ernie_vilg')
|
7 |
-
|
|
|
8 |
|
9 |
style_list = ['水彩','油画', '粉笔画', '卡通', '蜡笔画', '儿童画', '探索无限']
|
10 |
-
|
11 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
try:
|
13 |
style = style_list[style_indx]
|
14 |
-
if language_indx != 0:
|
15 |
-
language = language_list[language_indx]
|
16 |
-
text_prompts = language_model.translate(text_prompts, language, 'zh')
|
17 |
-
print(text_prompts)
|
18 |
results = model.generate_image(
|
19 |
text_prompts=text_prompts, style=style, visualization=False)
|
20 |
-
return 'Success', results[:6]
|
21 |
except Exception as e:
|
22 |
error_text = str(e)
|
23 |
-
|
24 |
-
|
|
|
|
|
25 |
|
26 |
|
27 |
title="ERNIE-ViLG"
|
@@ -108,6 +135,18 @@ examples = [
|
|
108 |
'戴着眼镜的猫',
|
109 |
'油画(Oil painting)'
|
110 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
111 |
[
|
112 |
'日落时的城市天际线,史前遗迹风格',
|
113 |
'油画(Oil painting)'
|
@@ -116,6 +155,18 @@ examples = [
|
|
116 |
'一只猫坐在椅子上,戴着一副墨镜, low poly 风格',
|
117 |
'卡通(Cartoon)'
|
118 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
119 |
[
|
120 |
'一只猫坐在椅子上,戴着一副墨镜,秋天风格',
|
121 |
'探索无限(Explore infinity)'
|
@@ -132,6 +183,18 @@ examples = [
|
|
132 |
'一条由闪电制成的令人敬畏的龙,概念艺术',
|
133 |
'探索无限(Explore infinity)'
|
134 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
135 |
[
|
136 |
'梵高猫头鹰,蒸汽波艺术',
|
137 |
'探索无限(Explore infinity)'
|
@@ -143,7 +206,19 @@ examples = [
|
|
143 |
[
|
144 |
'夕阳日落时,阳光落在云层上,海面波涛汹涌,风景,胶片感',
|
145 |
'探索无限(Explore infinity)'
|
146 |
-
]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
147 |
]
|
148 |
|
149 |
with block:
|
@@ -189,7 +264,7 @@ with block:
|
|
189 |
label="Prompt",
|
190 |
show_label=False,
|
191 |
max_lines=1,
|
192 |
-
placeholder="Enter your prompt",
|
193 |
).style(
|
194 |
border=(True, False, True, True),
|
195 |
rounded=(True, False, False, True),
|
@@ -200,7 +275,7 @@ with block:
|
|
200 |
margin=False,
|
201 |
rounded=(False, True, True, False),
|
202 |
)
|
203 |
-
|
204 |
styles = gr.Dropdown(label="风格(style)", choices=['水彩(Watercolor)','油画(Oil painting)', '粉笔画(Chalk drawing)', '卡通(Cartoon)', '蜡笔画(Crayon drawing)', '儿童画(Children\'s drawing)', '探索无限(Explore infinity)'], value='探索无限(Explore infinity)', type="index")
|
205 |
gallery = gr.Gallery(
|
206 |
label="Generated images", show_label=False, elem_id="gallery"
|
@@ -211,13 +286,16 @@ with block:
|
|
211 |
max_lines=1,
|
212 |
interactive=False
|
213 |
)
|
|
|
|
|
214 |
|
215 |
-
ex = gr.Examples(examples=examples, fn=
|
216 |
ex.dataset.headers = [""]
|
217 |
|
218 |
|
219 |
-
text.submit(
|
220 |
-
btn.click(
|
|
|
221 |
gr.HTML(
|
222 |
"""
|
223 |
<div class="prompt">
|
@@ -656,4 +734,4 @@ In "Explore infinity" style mode, how the image looks like is totally up to your
|
|
656 |
</div>
|
657 |
''')
|
658 |
|
659 |
-
block.queue(concurrency_count=
|
|
|
1 |
import numpy as np
|
2 |
import gradio as gr
|
3 |
import paddlehub as hub
|
4 |
+
import datetime
|
5 |
|
6 |
|
7 |
model = hub.Module(name='ernie_vilg')
|
8 |
+
language_translation_model = hub.Module(name='baidu_translate')
|
9 |
+
language_recognition_model = hub.Module(name='baidu_language_recognition')
|
10 |
|
11 |
style_list = ['水彩','油画', '粉笔画', '卡通', '蜡笔画', '儿童画', '探索无限']
|
12 |
+
|
13 |
+
tips = {"en": "Tips: The input text will be translated into Chinese for generation",
|
14 |
+
"jp": "ヒント: 入力テキストは生成のために中国語に翻訳されます",
|
15 |
+
"kor": "힌트: 입력 텍스트는 생성을 위해 중국어로 번역됩니다"}
|
16 |
+
|
17 |
+
count = 0
|
18 |
+
|
19 |
+
def translate_language(text_prompts):
|
20 |
+
global count
|
21 |
+
try:
|
22 |
+
count += 1
|
23 |
+
tips_text = None
|
24 |
+
language_code = language_recognition_model.recognize(text_prompts)
|
25 |
+
if language_code != 'zh':
|
26 |
+
text_prompts = language_translation_model.translate(text_prompts, language_code, 'zh')
|
27 |
+
except Exception as e:
|
28 |
+
error_text = str(e)
|
29 |
+
return {status_text:error_text, language_tips_text:gr.update(visible=False)}
|
30 |
+
if language_code in tips:
|
31 |
+
tips_text = tips[language_code]
|
32 |
+
else:
|
33 |
+
tips_text = tips['en']
|
34 |
+
if language_code == 'zh':
|
35 |
+
return {language_tips_text:gr.update(visible=False), translated_language:text_prompts, trigger_component: gr.update(value=count, visible=False)}
|
36 |
+
else:
|
37 |
+
return {language_tips_text:gr.update(visible=True, value=tips_text), translated_language:text_prompts, trigger_component: gr.update(value=count, visible=False)}
|
38 |
+
|
39 |
+
|
40 |
+
def inference(text_prompts, style_indx):
|
41 |
+
print(datetime.datetime.now())
|
42 |
try:
|
43 |
style = style_list[style_indx]
|
|
|
|
|
|
|
|
|
44 |
results = model.generate_image(
|
45 |
text_prompts=text_prompts, style=style, visualization=False)
|
|
|
46 |
except Exception as e:
|
47 |
error_text = str(e)
|
48 |
+
print(datetime.datetime.now())
|
49 |
+
return {status_text:error_text, gallery:None}
|
50 |
+
print(datetime.datetime.now())
|
51 |
+
return {status_text:'Success', gallery:results[:6]}
|
52 |
|
53 |
|
54 |
title="ERNIE-ViLG"
|
|
|
135 |
'戴着眼镜的猫',
|
136 |
'油画(Oil painting)'
|
137 |
],
|
138 |
+
[
|
139 |
+
'A cat with glasses',
|
140 |
+
'油画(Oil painting)'
|
141 |
+
],
|
142 |
+
[
|
143 |
+
'眼鏡をかけた猫',
|
144 |
+
'油画(Oil painting)'
|
145 |
+
],
|
146 |
+
[
|
147 |
+
'안경을 쓴 고양이',
|
148 |
+
'油画(Oil painting)'
|
149 |
+
],
|
150 |
[
|
151 |
'日落时的城市天际线,史前遗迹风格',
|
152 |
'油画(Oil painting)'
|
|
|
155 |
'一只猫坐在椅子上,戴着一副墨镜, low poly 风格',
|
156 |
'卡通(Cartoon)'
|
157 |
],
|
158 |
+
[
|
159 |
+
'A cat sitting on a chair, wearing a pair of sunglasses, low poly style',
|
160 |
+
'油画(Oil painting)'
|
161 |
+
],
|
162 |
+
[
|
163 |
+
'猫が椅子に座ってサングラスをかけている、low polyスタイル',
|
164 |
+
'油画(Oil painting)'
|
165 |
+
],
|
166 |
+
[
|
167 |
+
'고양이 한 마리가 의자에 앉아 선글라스를 끼고 low poly 스타일을 하고 있다',
|
168 |
+
'油画(Oil painting)'
|
169 |
+
],
|
170 |
[
|
171 |
'一只猫坐在椅子上,戴着一副墨镜,秋天风格',
|
172 |
'探索无限(Explore infinity)'
|
|
|
183 |
'一条由闪电制成的令人敬畏的龙,概念艺术',
|
184 |
'探索无限(Explore infinity)'
|
185 |
],
|
186 |
+
[
|
187 |
+
'An awesome dragon made of lightning, conceptual art',
|
188 |
+
'油画(Oil painting)'
|
189 |
+
],
|
190 |
+
[
|
191 |
+
'稲妻で作られた畏敬の念を抱かせる竜、コンセプトアート',
|
192 |
+
'油画(Oil painting)'
|
193 |
+
],
|
194 |
+
[
|
195 |
+
'번개로 만든 경외스러운 용, 개념 예술',
|
196 |
+
'油画(Oil painting)'
|
197 |
+
],
|
198 |
[
|
199 |
'梵高猫头鹰,蒸汽波艺术',
|
200 |
'探索无限(Explore infinity)'
|
|
|
206 |
[
|
207 |
'夕阳日落时,阳光落在云层上,海面波涛汹涌,风景,胶片感',
|
208 |
'探索无限(Explore infinity)'
|
209 |
+
],
|
210 |
+
[
|
211 |
+
'Sunset, the sun falls on the clouds, the sea is rough, the scenery is filmy',
|
212 |
+
'油画(Oil painting)'
|
213 |
+
],
|
214 |
+
[
|
215 |
+
'夕日が沈むと、雲の上に太陽の光が落ち、海面は波が荒く、風景、フィルム感',
|
216 |
+
'油画(Oil painting)'
|
217 |
+
],
|
218 |
+
[
|
219 |
+
'석양이 질 때 햇빛이 구름 위에 떨어지고, 해수면의 파도가 용솟음치며, 풍경, 필름감',
|
220 |
+
'油画(Oil painting)'
|
221 |
+
],
|
222 |
]
|
223 |
|
224 |
with block:
|
|
|
264 |
label="Prompt",
|
265 |
show_label=False,
|
266 |
max_lines=1,
|
267 |
+
placeholder="Enter your prompt, multiple languages are supported now.",
|
268 |
).style(
|
269 |
border=(True, False, True, True),
|
270 |
rounded=(True, False, False, True),
|
|
|
275 |
margin=False,
|
276 |
rounded=(False, True, True, False),
|
277 |
)
|
278 |
+
language_tips_text = gr.Textbox(label="language tips", show_label=False, visible=False, max_lines=1)
|
279 |
styles = gr.Dropdown(label="风格(style)", choices=['水彩(Watercolor)','油画(Oil painting)', '粉笔画(Chalk drawing)', '卡通(Cartoon)', '蜡笔画(Crayon drawing)', '儿童画(Children\'s drawing)', '探索无限(Explore infinity)'], value='探索无限(Explore infinity)', type="index")
|
280 |
gallery = gr.Gallery(
|
281 |
label="Generated images", show_label=False, elem_id="gallery"
|
|
|
286 |
max_lines=1,
|
287 |
interactive=False
|
288 |
)
|
289 |
+
trigger_component = gr.Textbox(vaule="", visible=False) # This component is used for triggering inference funtion.
|
290 |
+
translated_language = gr.Textbox(vaule="", visible=False)
|
291 |
|
292 |
+
ex = gr.Examples(examples=examples, fn=translate_language, inputs=[text], outputs=[language_tips_text, status_text, trigger_component, translated_language], cache_examples=False)
|
293 |
ex.dataset.headers = [""]
|
294 |
|
295 |
|
296 |
+
text.submit(translate_language, inputs=[text], outputs=[language_tips_text, status_text, trigger_component, translated_language])
|
297 |
+
btn.click(translate_language, inputs=[text], outputs=[language_tips_text, status_text, trigger_component, translated_language])
|
298 |
+
trigger_component.change(fn=inference, inputs=[translated_language, styles], outputs=[status_text, gallery])
|
299 |
gr.HTML(
|
300 |
"""
|
301 |
<div class="prompt">
|
|
|
734 |
</div>
|
735 |
''')
|
736 |
|
737 |
+
block.queue(concurrency_count=80).launch()
|