Spaces:
Runtime error
Runtime error
import torch | |
import gradio as gr | |
from PIL import Image | |
import spaces | |
import tqdm | |
from diffusers import StableCascadeDecoderPipeline, StableCascadePriorPipeline | |
device = "cuda" if torch.cuda.is_available() else "cpu" | |
num_images_per_prompt = 1 | |
print(f"Running on: {device}") | |
try: | |
prior = StableCascadePriorPipeline.from_pretrained("Ketengan-Diffusion/SomniumSC-v1.1", torch_dtype=torch.bfloat16).to(device) | |
except OSError: | |
print("Failed to load model from Hugging Face Model Hub. Loading from local path instead.") | |
prior = StableCascadePriorPipeline.from_pretrained("./SomniumSC-v1.1", torch_dtype=torch.bfloat16).to(device) | |
decoder = StableCascadeDecoderPipeline.from_pretrained("stabilityai/stable-cascade", torch_dtype=torch.float16).to(device) | |
deafult_negative = "lowres" | |
prompt_add = "(dark shot:1.17), epic coloring, faded, ((neutral colors)), art, (hdr:1.5), (muted colors:1.2), hyperdetailed, (artstation:1.5), cinematic, warm lights, dramatic light, (intricate details:1.1), complex background, (rutkowski:0.8), (teal and orange:0.4)" | |
css = """ | |
footer { | |
visibility: hidden | |
} | |
#generate_button { | |
color: white; | |
border-color: #007bff; | |
background: #2563eb; | |
} | |
#save_button { | |
color: white; | |
border-color: #028b40; | |
background: #01b97c; | |
width: 200px; | |
} | |
#settings_header { | |
background: rgb(245, 105, 105); | |
} | |
""" | |
def gen(prompt, negative, width, height, use_add, progress=gr.Progress()): | |
if use_add: | |
text = f"{prompt}, {prompt_add}" | |
else: | |
text = f"{prompt}" | |
prior_output = prior( | |
prompt=text, | |
height=height, | |
width=width, | |
negative_prompt=negative, | |
guidance_scale=12.0, | |
num_images_per_prompt=num_images_per_prompt, | |
num_inference_steps=50 | |
) | |
decoder_output = decoder( | |
image_embeddings=prior_output.image_embeddings.half(), | |
prompt=text, | |
negative_prompt=negative, | |
guidance_scale=1.0, | |
output_type="pil", | |
num_inference_steps=10 | |
).images | |
return decoder_output | |
with gr.Blocks(css=css) as demo: | |
gr.Markdown("# SomniumSC-v1.1 ```DEMO```") | |
with gr.Row(): | |
prompt = gr.Textbox(show_label=False, placeholder="Masukkan prompt Anda", max_lines=3, lines=1, interactive=True, scale=20) | |
button = gr.Button(value="Hasilkan", scale=1) | |
with gr.Accordion("Pengaturan Lanjutan", open=False): | |
with gr.Row(): | |
negative = gr.Textbox(show_label=False, value=deafult_negative, placeholder="Enter a negative", max_lines=4, lines=3, interactive=True) | |
with gr.Row(): | |
width = gr.Slider(label="Width", minimum=1024, maximum=2048, step=8, value=1536, interactive=True) | |
height = gr.Slider(label="Height", minimum=1024, maximum=2048, step=8, value=1536, interactive=True) | |
with gr.Row(): | |
use_add = gr.Checkbox(label="Tingkatkan Hasil", value=False, interactive=True) | |
with gr.Row(): | |
gallery = gr.Gallery(show_label=False, rows=1, columns=1, allow_preview=True, preview=True) | |
button.click(gen, inputs=[prompt, negative, width, height, use_add], outputs=gallery) | |
demo.launch(show_api=False) |