File size: 1,485 Bytes
7b6ec09
9740894
7b6ec09
9676363
c41faf2
7b6ec09
 
 
 
 
 
 
 
 
 
c41faf2
7b6ec09
 
c41faf2
 
7b6ec09
 
 
c41faf2
 
 
 
 
 
 
7b6ec09
c41faf2
 
 
 
 
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
import gradio as gr
import torch
import modin.pandas as pd
import numpy as np
from diffusers import DiffusionPipeline

device = "cuda" if torch.cuda.is_available() else "cpu"

if torch.cuda.is_available():
    torch.cuda.max_memory_allocated(device=device)
    torch.cuda.empty_cache()
    pipe = DiffusionPipeline.from_pretrained("stabilityai/sdxl-turbo", torch_dtype=torch.float16, variant="fp16", use_safetensors=True)
    pipe.enable_xformers_memory_efficient_attention()
    pipe = pipe.to(device)
    torch.cuda.empty_cache()
else:
    pipe = DiffusionPipeline.from_pretrained("stabilityai/sdxl-turbo", use_safetensors=True)
    pipe = pipe.to(device)

def genie(prompt, steps, seed):
    generator = np.random.seed(0) if seed == 0 else torch.manual_seed(seed)
    int_image = pipe(prompt=prompt, generator=generator, num_inference_steps=steps, guidance_scale=0.0).images[0]
    return int_image

gr.Interface(
    fn=genie,
    inputs=[
        gr.Textbox(label="What you want the AI to generate. 77 Token Limit."),
        gr.Slider(1, maximum=5, value=2, step=1, label="Number of Iterations"),
        gr.Slider(minimum=0, step=1, maximum=999999999999999999, randomize=True),
    ],
    outputs="image",
    title="Stable Diffusion Turbo CPU or GPU",
    description="SDXL Turbo CPU or GPU. Currently running on CPU. <br><br><b>WARNING: This model is capable of producing NSFW (Softcore) images.</b>",
    article="Created by [Your Name]."
).launch(debug=True, max_threads=80)