zc-huhu's picture
placeholder
d2733eb
raw
history blame
3.37 kB
import gradio as gr
import os
# assets loading
example_path = os.path.join(os.path.dirname(__file__), 'data')
garm_list = os.listdir(os.path.join(example_path,"garment"))
garm_list_path = [os.path.join(example_path, "garment", garm) for garm in garm_list]
person_list = os.listdir(os.path.join(example_path,"person"))
person_list_path = [os.path.join(example_path, "person", person) for person in person_list]
def run_turbo(person_img, garm_img, category):
pass
with gr.Blocks() as Huhu_Turbo:
with gr.Row():
with gr.Column(elem_id = "col-garment"):
gr.HTML("""
<div style="display: flex; justify-content: center; align-items: center; text-align: center; font-size: 20px;">
<div>
Upload your garment image 🧥
</div>
</div>
""")
with gr.Column(elem_id = "col-person"):
gr.HTML("""
<div style="display: flex; justify-content: center; align-items: center; text-align: center; font-size: 20px;">
<div>
Select a model image 🧍
</div>
</div>
""")
with gr.Column(elem_id = "col-result"):
gr.HTML("""
<div style="display: flex; justify-content: center; align-items: center; text-align: center; font-size: 20px;">
<div>
“RUN” to get results 🪄
</div>
</div>
""")
with gr.Row():
with gr.Column(elem_id = "col-garment"):
garm_img = gr.Image(label="Garment image", sources='upload', type="numpy")
category = gr.Dropdown(label="Garment type", choices=['Top', 'Bottom', 'Fullbody'], value="Top")
example = gr.Examples(
inputs=garm_img,
examples_per_page=6,
examples=garm_list_path
)
with gr.Column(elem_id = "col-person"):
person_img = gr.Image(label="Person image", sources='upload', type="numpy")
example = gr.Examples(
inputs=person_img,
examples_per_page=6,
examples=person_list_path
)
with gr.Column(elem_id = "col-result"):
result_img = gr.Image(label="Result", show_share_button=False)
with gr.Row():
result_info = gr.Text(label="Generation time")
generate_button = gr.Button(value="“RUN”", elem_id="button")
generate_button.click(fn=run_turbo, inputs=[person_img, garm_img, category], outputs=[result_img, result_info], api_name=False, concurrency_limit=30)
with gr.Column(elem_id = "col-showcase"):
gr.HTML("""
<div style="display: flex; justify-content: center; align-items: center; text-align: center; font-size: 20px;">
<div> </div>
<br>
<div>
Huhu-turbo try-on examples in pairs of garment and person images
</div>
</div>
""")
show_case = gr.Examples(
examples=[
["data/examples/garment_example.png", "data/examples/person_example.png", "data/examples/result_example.png"],
],
inputs=[person_img, garm_img, result_img],
label=None
)
Huhu_Turbo.queue(api_open=False).launch(show_api=False)