import gradio as gr import spaces import torch import os import subprocess import shlex from src.demo.model import DesignEdit os.makedirs('models', exist_ok=True) subprocess.run(shlex.split('wget https://huggingface.co/Adapter/DragonDiffusion/resolve/main/model/efficient_sam_vits.pt -O models/efficient_sam_vits.pt')) from src.demo.demo import * import shlex import cv2 pretrained_model_path = "stabilityai/stable-diffusion-xl-base-1.0" model = DesignEdit(pretrained_model_path=pretrained_model_path) DESCRIPTION_1 = """<div style="text-align: center; font-size: 80px;"> <strong class="title is-1"> <span style="color: green;">🌿D</span> <span style="color: orange;">e</span> <span style="color: rgb(63, 185, 63);">s</span> <span style="color: green;">i</span> <span style="color: rgb(200, 85, 23);">g</span> <span style="color: green;">n</span> <span style="color: orange;">E</span> <span style="color: crimson;">d</span> <span style="color: darkorange;">i</span> <span style="color: green;">t🌿</span> </strong> </div> """ DESCRIPTION_2 = """ <div style="text-align: center;font-size: 24px;"> <h1> Multi-Layered Latent Decomposition and Fusion for Unified & Accurate Image Editing</h1></div>""" DESCRIPTION_3 = """ <div style="text-align: center; font-size: 24px;"> <p> Gradio demo for <a href="https://design-edit.github.io/">DesignEdit</a></p> </div> """ with gr.Blocks(css='style.css') as demo: gr.HTML(DESCRIPTION_1) gr.HTML(DESCRIPTION_2) gr.HTML(DESCRIPTION_3) with gr.Tabs(): with gr.TabItem('1️⃣ Object Removal'): create_demo_remove(model.run_remove) with gr.TabItem('2️⃣ Zooming Out'): create_demo_zooming(model.run_zooming) with gr.TabItem('3️⃣ Camera Panning'): create_demo_panning(model.run_panning) with gr.TabItem('4️⃣ Object Moving, Resizing and Flipping'): create_demo_moving(model.run_moving) with gr.TabItem('5️⃣ 🚩 Multi-Layered Editing 🚩'): create_demo_layer(model.run_layer) with gr.TabItem('🔧 Mask Preparation: Draw or Sketch'): create_demo_mask_box(model.run_mask) demo.queue(max_size=20) demo.launch(max_threads=3, server_name="0.0.0.0")