File size: 1,794 Bytes
2e721a4
aefd3bd
932a564
 
 
0c1adc7
 
 
aefd3bd
fb04a60
f553d63
 
f2d86fb
 
 
fb04a60
340f8fa
 
dd360f6
932a564
95f2997
932a564
 
 
 
f04735b
 
932a564
0c1adc7
932a564
 
 
 
c24c440
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
import spaces 
import gradio as gr
import torch
import modin.pandas as pd
import numpy as np
from diffusers import DiffusionPipeline, DPMSolverSinglestepScheduler, ControlNetModel, StableDiffusionXLControlNetPipeline, AutoencoderKL
import requests 
import cv2 

pipe = DiffusionPipeline.from_pretrained("mann-e/Mann-E_Dreams", torch_dtype=torch.float16).to("cuda")
pipe.scheduler = DPMSolverSinglestepScheduler.from_config(pipe.scheduler.config, use_karras_sigmas=True)

pipe.enable_xformers_memory_efficient_attention()
pipe.enable_vae_slicing()

torch.cuda.empty_cache()

@spaces.GPU
def genie (prompt, negative_prompt, width, height, steps, seed):
    generator = np.random.seed(0) if seed == 0 else torch.manual_seed(seed)
    int_image = pipe(prompt=prompt, negative_prompt=negative_prompt, width=width, height=height, generator=generator, num_inference_steps=steps, guidance_scale=3.0).images[0]
    return int_image
    
gr.Interface(fn=genie, inputs=[gr.Textbox(label='What you want the AI to generate. 75 Token Limit.'),
    gr.Textbox(label='What you DO NOT want the AI to generate. 75 Token Limit.'),
    gr.Slider(576, maximum=1280, value=768, step=16, label='Width (can go up to 1280, but for square images maximum is 1024x1024)'), 
    gr.Slider(576, maximum=1280, value=768, step=16, label='Height (can go up to 1280, but for square images maximum is 1024x1024)'), 
    gr.Slider(1, maximum=8, value=6, step=1, label='Number of Iterations'), 
    gr.Slider(minimum=0, step=1, maximum=999999999999999999, randomize=True, label="Seed"),
    ],
    outputs='image', 
    title="Mann-E Dreams", 
    description="Mann-E Dreams <br><br><b>WARNING: This model is capable of producing NSFW (Softcore) images.</b>", 
    article = "").launch(debug=True, max_threads=80, show_error=True)