File size: 1,640 Bytes
1cb6bad
8d5c6a5
1cb6bad
 
 
 
 
 
 
 
 
 
 
 
 
 
0473e4c
 
 
1cb6bad
 
 
 
 
 
 
 
 
 
 
 
 
8d5c6a5
1cb6bad
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import gradio as gr
import spaces

from diffusers import StableDiffusionXLPipeline, DDIMScheduler
import torch
import sa_handler

# init models

scheduler = DDIMScheduler(beta_start=0.00085, beta_end=0.012, beta_schedule="scaled_linear", clip_sample=False,
                              set_alpha_to_one=False)
pipeline = StableDiffusionXLPipeline.from_pretrained(
    "stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float16, variant="fp16", use_safetensors=True,
    scheduler=scheduler
).to("cuda")

pipeline.enable_model_cpu_offload() 
pipeline.enable_vae_slicing()

handler = sa_handler.Handler(pipeline)
sa_args = sa_handler.StyleAlignedArgs(share_group_norm=False,
                                      share_layer_norm=False,
                                      share_attention=True,
                                      adain_queries=True,
                                      adain_keys=True,
                                      adain_values=False,
                                     )

handler.register(sa_args, )

# run StyleAligned

@spaces.GPU
def infer(prompts):
    sets_of_prompts = [
      "a toy train. macro photo. 3d game asset",
      "a toy airplane. macro photo. 3d game asset",
      "a toy bicycle. macro photo. 3d game asset",
      "a toy car. macro photo. 3d game asset",
      "a toy boat. macro photo. 3d game asset",
    ]

    images = pipeline(sets_of_prompts,).images
    return images

gr.Interface(
    fn=infer,
    inputs=[
        gr.Textbox(value="Hit submit button to test")
    ],
    outputs=[
        gr.Gallery()
    ],
    title="Style Aligned Image Generation"
).launch()