File size: 2,897 Bytes
07d5247
058e9d8
 
6d70521
058e9d8
01807fb
07d5247
058e9d8
54a9b28
01807fb
 
058e9d8
07d5247
b32943f
3f4749b
a2749d1
3f4749b
 
a2749d1
3f4749b
a2749d1
058e9d8
 
a2749d1
b32943f
 
 
 
 
d5fa67e
b32943f
 
 
b5e804e
b32943f
d5fa67e
a2749d1
26d38a8
 
058e9d8
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
import gradio as gr
import torch
import numpy as np
import modin.pandas as pd
from PIL import Image
from diffusers import DiffusionPipeline, StableDiffusionLatentUpscalePipeline

device = "cuda" if torch.cuda.is_available() else "cpu"
pipe = DiffusionPipeline.from_pretrained("dreamlike-art/dreamlike-photoreal-2.0", torch_dtype=torch.float16, safety_checker=None)
upscaler = StableDiffusionLatentUpscalePipeline.from_pretrained("stabilityai/sd-x2-latent-upscaler", torch_dtype=torch.float16)
upscaler = upscaler.to(device)
pipe = pipe.to(device)

def genie (Prompt, negative_prompt, height, width, scale, steps, seed, upscale, upscale_prompt, upscale_neg, upscale_scale, upscale_steps):
    generator = torch.Generator(device=device).manual_seed(seed)
    if upscale == "Yes":
        low_res_latents = pipe(Prompt, negative_prompt=negative_prompt, height=height, width=width, num_inference_steps=steps, guidance_scale=scale, generator=generator, output_type="latent").images
        image = upscaler(prompt=upscale_prompt, negative_prompt=upscale_neg, image=low_res_latents, num_inference_steps=upscale_steps, guidance_scale=upscale_scale, generator=generator).images[0]
    else:
        image = pipe(Prompt, negative_prompt=negative_prompt, height=height, width=width, num_inference_steps=steps, guidance_scale=scale, generator=generator).images[0]
    return image
    
gr.Interface(fn=genie, inputs=[gr.Textbox(label='What you want the AI to generate. 77 Token Limit.'), 
                               gr.Textbox(label='What you Do Not want the AI to generate. 77 Token Limit'),
                               gr.Slider(512, 1024, 768, step=128, label='Height'),
                               gr.Slider(512, 1024, 768, step=128, label='Width'),
                               gr.Slider(1, maximum=15, value=10, step=.25), 
                               gr.Slider(25, maximum=100, value=50, step=25), 
                               gr.Slider(minimum=1, step=1, maximum=9999999999999999, randomize=True), 
                               gr.Radio(["Yes", "No"], label='Upscale?'),
                               gr.Textbox(label='Upscaler Prompt: Optional'),
                               gr.Textbox(label='Upscaler Negative Prompt: Both Optional And Experimental'),
                               gr.Slider(minimum=0, maximum=15, value=0, step=1, label='Upscale Guidance Scale'),
                               gr.Slider(minimum=5, maximum=25, value=5, step=5, label='Upscaler Iterations')
             
                              ],
             outputs=gr.Image(label='Generated Image'), 
             title="PhotoReal V2 with SD x2 Upscaler - GPU", 
             description="<br><br><b/>Warning: This Demo is capable of producing NSFW content.", 
             article = "Code Monkey: <a href=\"https://huggingface.co/Manjushri\">Manjushri</a>").launch(debug=True, max_threads=True)