File size: 2,462 Bytes
f4ff201 3fec1fb f4ff201 90c02c2 3a58a34 90c02c2 f01e148 90c02c2 f01e148 bf4b161 00f9af8 bf4b161 f4ff201 efcd5d5 70e3d12 f4ff201 3fec1fb 70e3d12 3fec1fb 70e3d12 3fec1fb 70e3d12 548031b 3fec1fb 0a14984 3fec1fb 5305898 70e3d12 548031b 70e3d12 548031b 3fec1fb 548031b b00a80c |
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 56 57 |
import torch
from diffusers import StableDiffusionPipeline
import gradio as gr
#model_base = "SG161222/Realistic_Vision_V5.1_noVAE" #realistic people
model_base = "Justin-Choo/epiCRealism-Natural_Sin_RC1_VAE" #realistic people
#model_base = "Lykon/DreamShaper" #unrealistic people
#model_base = "runwayml/stable-diffusion-v1-5" #base
#model_base = "Krebzonide/LazyMixPlus" #nsfw people
#lora_model_path = "Krebzonide/LoRA-CH-0" #mecjh - Corey H, traind on epiCRealism
lora_model_path = "Krebzonide/LoRA-CH-1" #mecjh - Corey H, traind on epiCRealism
#lora_model_path = "Krebzonide/LoRA-EM1" #gfemti - Emily M, trained on sd-V1-5
#lora_model_path = "Krebzonide/LoRA-YX1" #uwspyx - Professor Xing, trained on Realistic_Vision
pipe = StableDiffusionPipeline.from_pretrained(model_base, torch_dtype=torch.float16, use_safetensors=True)
pipe.unet.load_attn_procs(lora_model_path)
pipe.to("cuda")
css = """
.btn-green {
background-image: linear-gradient(to bottom right, #6dd178, #00a613) !important;
border-color: #22c55e !important;
color: #166534 !important;
}
.btn-green:hover {
background-image: linear-gradient(to bottom right, #6dd178, #6dd178) !important;
}
"""
def generate(prompt, neg_prompt, samp_steps, guide_scale, lora_scale, progress=gr.Progress(track_tqdm=True)):
images = pipe(
prompt,
negative_prompt=neg_prompt,
num_inference_steps=samp_steps,
guidance_scale=guide_scale,
cross_attention_kwargs={"scale": lora_scale},
num_images_per_prompt=4
).images
return [(img, f"Image {i+1}") for i, img in enumerate(images)]
with gr.Blocks(css=css) as demo:
with gr.Column():
prompt = gr.Textbox(label="Prompt")
negative_prompt = gr.Textbox(label="Negative Prompt", value="lowres, bad anatomy, bad hands, cropped, worst quality, disfigured, deformed, extra limbs, asian, filter, render")
submit_btn = gr.Button("Generate", elem_classes="btn-green")
gallery = gr.Gallery(label="Generated images", height=700)
with gr.Row():
samp_steps = gr.Slider(1, 100, value=25, step=1, label="Sampling steps")
guide_scale = gr.Slider(1, 10, value=6, step=0.5, label="Guidance scale")
lora_scale = gr.Slider(0, 1, value=0.5, step=0.01, label="LoRA power")
submit_btn.click(generate, [prompt, negative_prompt, samp_steps, guide_scale, lora_scale], [gallery], queue=True)
demo.queue(1)
demo.launch(debug=True) |