CoolFace
Apppublic

developermimicpc/test

sourceHugging Faceupdated 2y agoView on Hugging Face
0likes
app.py142 linesDownload Raw Back to root
1import gradio as gr2import numpy as np3import random4#import spaces #[uncomment to use ZeroGPU]5from diffusers import DiffusionPipeline6import torch7 8device = "cuda" if torch.cuda.is_available() else "cpu"9model_repo_id = "stabilityai/sdxl-turbo" #Replace to the model you would like to use10 11if torch.cuda.is_available():12    torch_dtype = torch.float1613else:14    torch_dtype = torch.float3215 16pipe = DiffusionPipeline.from_pretrained(model_repo_id, torch_dtype=torch_dtype)17pipe = pipe.to(device)18 19MAX_SEED = np.iinfo(np.int32).max20MAX_IMAGE_SIZE = 102421 22#@spaces.GPU #[uncomment to use ZeroGPU]23def infer(prompt, negative_prompt, seed, randomize_seed, width, height, guidance_scale, num_inference_steps, progress=gr.Progress(track_tqdm=True)):24 25    if randomize_seed:26        seed = random.randint(0, MAX_SEED)27        28    generator = torch.Generator().manual_seed(seed)29    30    image = pipe(31        prompt = prompt, 32        negative_prompt = negative_prompt,33        guidance_scale = guidance_scale, 34        num_inference_steps = num_inference_steps, 35        width = width, 36        height = height,37        generator = generator38    ).images[0] 39    40    return image, seed41 42examples = [43    "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k",44    "An astronaut riding a green horse",45    "A delicious ceviche cheesecake slice",46]47 48css="""49#col-container {50    margin: 0 auto;51    max-width: 640px;52}53"""54 55with gr.Blocks(css=css) as demo:56    57    with gr.Column(elem_id="col-container"):58        gr.Markdown(f"""59        # Text-to-Image Gradio Template60        """)61        62        with gr.Row():63            64            prompt = gr.Text(65                label="Prompt",66                show_label=False,67                max_lines=1,68                placeholder="Enter your prompt",69                container=False,70            )71            72            run_button = gr.Button("Run", scale=0)73        74        result = gr.Image(label="Result", show_label=False)75 76        with gr.Accordion("Advanced Settings", open=False):77            78            negative_prompt = gr.Text(79                label="Negative prompt",80                max_lines=1,81                placeholder="Enter a negative prompt",82                visible=False,83            )84            85            seed = gr.Slider(86                label="Seed",87                minimum=0,88                maximum=MAX_SEED,89                step=1,90                value=0,91            )92            93            randomize_seed = gr.Checkbox(label="Randomize seed", value=True)94            95            with gr.Row():96                97                width = gr.Slider(98                    label="Width",99                    minimum=256,100                    maximum=MAX_IMAGE_SIZE,101                    step=32,102                    value=1024, #Replace with defaults that work for your model103                )104                105                height = gr.Slider(106                    label="Height",107                    minimum=256,108                    maximum=MAX_IMAGE_SIZE,109                    step=32,110                    value=1024, #Replace with defaults that work for your model111                )112            113            with gr.Row():114                115                guidance_scale = gr.Slider(116                    label="Guidance scale",117                    minimum=0.0,118                    maximum=10.0,119                    step=0.1,120                    value=0.0, #Replace with defaults that work for your model121                )122                123                num_inference_steps = gr.Slider(124                    label="Number of inference steps",125                    minimum=1,126                    maximum=50,127                    step=1,128                    value=2, #Replace with defaults that work for your model129                )130        131        gr.Examples(132            examples = examples,133            inputs = [prompt]134        )135    gr.on(136        triggers=[run_button.click, prompt.submit],137        fn = infer,138        inputs = [prompt, negative_prompt, seed, randomize_seed, width, height, guidance_scale, num_inference_steps],139        outputs = [result, seed]140    )141 142demo.queue().launch()