File size: 2,772 Bytes
d8fcee4
 
 
 
 
5b148b6
8ec67ee
d8fcee4
 
b50af58
d8fcee4
 
87a75a2
01c29bd
87a75a2
5b148b6
 
adff792
 
108b1be
 
1663d97
adff792
87a75a2
01c29bd
bad37a2
87a75a2
5b148b6
8d3fd7c
d8fcee4
 
5b148b6
d8fcee4
6334560
 
5b148b6
 
 
d8fcee4
5b148b6
d8fcee4
5b148b6
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
import gradio as gr
import torch
import numpy as np
import modin.pandas as pd
from PIL import Image
from diffusers import DiffusionPipeline, StableDiffusion3Pipeline
from huggingface_hub import hf_hub_download

device = 'cuda' if torch.cuda.is_available() else 'cpu'
PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True
torch.cuda.max_memory_allocated(device=device)
torch.cuda.empty_cache()
pipe = DiffusionPipeline.from_pretrained("circulus/canvers-fusionXL-v1").to(device)
#pipe.enable_xformers_memory_efficient_attention()
torch.cuda.empty_cache()

def genie (Prompt, negative_prompt, height, width, scale, steps, seed):
    torch.cuda.empty_cache()
    torch.cuda.max_memory_allocated(device=device)
    generator = np.random.seed(0) if seed == 0 else torch.manual_seed(seed)
    int_image = pipe(Prompt, negative_prompt=negative_prompt, height=height, width=width, num_inference_steps=steps, guidance_scale=scale, output_type="latent").images
    torch.cuda.empty_cache()
    torch.cuda.max_memory_allocated(device=device)
    refiner = DiffusionPipeline.from_pretrained("stabilityai/stable-diffusion-xl-refiner-1.0").to(device)
    #refiner.enable_xformers_memory_efficient_attention()
    torch.cuda.empty_cache()
    image = refiner(Prompt, negative_prompt=negative_prompt, image=int_image, denoising_start=.99).images[0]
    torch.cuda.empty_cache()
        
    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, 1280, 768, step=128, label='Height'),
                               gr.Slider(512, 1280, 768, step=128, label='Width'),
                               gr.Slider(.5, maximum=15, value=7, step=.25, label='Guidance Scale'), 
                               gr.Slider(10, maximum=50, value=25, step=5, label='Number of Prior Iterations'),
                               gr.Slider(minimum=0, step=1, maximum=9999999999999999, randomize=True, label='Seed: 0 is Random')],
             outputs=gr.Image(label='Generated Image'), 
             title="Manju Dream Booth V2.5 with Fusion XL - GPU", 
             description="<br><br><b/>Warning: This Demo is capable of producing NSFW content.", 
             article = "If You Enjoyed this Demo and would like to Donate, you can send any amount to any of these Wallets. <br><br>SHIB (BEP20): 0xbE8f2f3B71DFEB84E5F7E3aae1909d60658aB891 <br>PayPal: https://www.paypal.me/ManjushriBodhisattva <br>ETH: 0xbE8f2f3B71DFEB84E5F7E3aae1909d60658aB891 <br>DOGE: D9QdVPtcU1EFH8jDC8jhU9uBcSTqUiA8h6<br><br>Code Monkey: <a href=\"https://huggingface.co/Manjushri\">Manjushri</a>").launch(debug=True)