Spaces:
Runtime error
Runtime error
| import os | |
| import torch | |
| import gradio as gr | |
| from diffusers import OnnxStableDiffusionPipeline | |
| MODEL_ID = "SimianLuo/LCM_Dreamshaper_v7" | |
| ONNX_PATH = os.getenv("ONNX_PATH", "./onnx-model") | |
| pipe = OnnxStableDiffusionPipeline.from_pretrained( | |
| ONNX_PATH, | |
| provider="CUDAExecutionProvider" if torch.cuda.is_available() else "CPUExecutionProvider", | |
| ) | |
| def generate(prompt, negative_prompt, steps, guidance_scale, width, height, seed): | |
| generator = torch.Generator(device="cuda" if torch.cuda.is_available() else "cpu") | |
| if seed >= 0: | |
| generator = generator.manual_seed(seed) | |
| image = pipe( | |
| prompt=prompt, | |
| negative_prompt=negative_prompt or None, | |
| num_inference_steps=steps, | |
| guidance_scale=guidance_scale, | |
| width=width, | |
| height=height, | |
| generator=generator, | |
| ).images[0] | |
| return image | |
| demo = gr.Blocks() | |
| with demo: | |
| gr.Markdown("# LCM DreamShaper v7 ONNX") | |
| with gr.Row(): | |
| prompt = gr.Textbox(label="Prompt", value="a cinematic portrait of a futuristic astronaut") | |
| negative_prompt = gr.Textbox(label="Negative prompt", value="blurry, low quality") | |
| with gr.Row(): | |
| steps = gr.Slider(1, 8, value=4, step=1, label="Steps") | |
| guidance_scale = gr.Slider(0, 10, value=1.5, step=0.1, label="Guidance scale") | |
| with gr.Row(): | |
| width = gr.Slider(256, 1024, value=512, step=64, label="Width") | |
| height = gr.Slider(256, 1024, value=512, step=64, label="Height") | |
| seed = gr.Number(value=42, precision=0, label="Seed") | |
| btn = gr.Button("Generate") | |
| out = gr.Image(label="Result") | |
| btn.click( | |
| fn=generate, | |
| inputs=[prompt, negative_prompt, steps, guidance_scale, width, height, seed], | |
| outputs=out, | |
| ) | |
| demo.launch() | |