someone-in-the-world's picture
Lower default guidance scale from 2.5 to 1.2
0d920e8
Raw
History Blame Contribute Delete
3.08 kB
import os
# cudaMallocAsync bypasses NVML memory queries that fail on MIG GPU instances
os.environ.setdefault("PYTORCH_CUDA_ALLOC_CONF", "backend:cudaMallocAsync")
import gradio as gr
from examples_ui import EXAMPLE_CARDS_HTML, SUGGESTION_CHIPS_HTML, load_example_data
from inference import MAX_SEED, infer
with open("static/app.css") as _f:
css = _f.read()
with open("static/gallery.js") as _f:
gallery_js = _f.read()
with open("static/wire_outputs.js") as _f:
wire_outputs_js = _f.read()
with open("static/run_preprocess.js") as _f:
run_preprocess_js = _f.read()
with open("static/mode_toggle.js") as _f:
mode_toggle_js = _f.read()
with open("templates/app.html") as _f:
app_html = _f.read().format(
example_cards_html=EXAMPLE_CARDS_HTML,
suggestion_chips_html=SUGGESTION_CHIPS_HTML,
)
with gr.Blocks() as demo:
hidden_images_b64 = gr.Textbox(value="[]", elem_id="hidden-images-b64", elem_classes="hidden-input", container=False)
prompt = gr.Textbox(value="", elem_id="prompt-gradio-input", elem_classes="hidden-input", container=False)
seed = gr.Slider(minimum=0, maximum=MAX_SEED, step=1, value=0, elem_id="gradio-seed", elem_classes="hidden-input", container=False)
randomize_seed = gr.Checkbox(value=True, elem_id="gradio-randomize", elem_classes="hidden-input", container=False)
guidance_scale = gr.Slider(minimum=1.0, maximum=10.0, step=0.1, value=1.2, elem_id="gradio-guidance", elem_classes="hidden-input", container=False)
steps = gr.Slider(minimum=1, maximum=50, step=1, value=3, elem_id="gradio-steps", elem_classes="hidden-input", container=False)
mode = gr.Textbox(value="fast", elem_id="gradio-mode", elem_classes="hidden-input", container=False)
gpu_duration = gr.Slider(minimum=10, maximum=120, step=5, value=30, elem_id="gradio-gpu-duration", elem_classes="hidden-input", container=False)
result = gr.Image(elem_id="gradio-result", elem_classes="hidden-input", container=False, format="png")
example_idx = gr.Textbox(value="", elem_id="example-idx-input", elem_classes="hidden-input", container=False)
example_result = gr.Textbox(value="", elem_id="example-result-data", elem_classes="hidden-input", container=False)
example_load_btn = gr.Button("Load Example", elem_id="example-load-btn")
gr.HTML(app_html)
run_btn = gr.Button("Run", elem_id="gradio-run-btn")
demo.load(fn=None, js=gallery_js)
demo.load(fn=None, js=wire_outputs_js)
demo.load(fn=None, js=mode_toggle_js)
run_btn.click(
fn=infer,
inputs=[hidden_images_b64, prompt, seed, randomize_seed, guidance_scale, steps, mode, gpu_duration],
outputs=[result, seed],
js=run_preprocess_js,
)
example_load_btn.click(
fn=load_example_data,
inputs=[example_idx],
outputs=[example_result],
queue=False,
)
if __name__ == "__main__":
demo.queue(max_size=30).launch(
css=css,
mcp_server=True,
ssr_mode=False,
show_error=True,
allowed_paths=["examples"],
)