HelloSun's picture
Update app.py
d155057 verified
raw
history blame
2.46 kB
import gradio as gr
import numpy as np
import random
from diffusers import DiffusionPipeline
from optimum.intel.openvino import OVStableDiffusionPipeline
import torch
model_id = "helenai/Linaqruf-anything-v3.0-ov"
negative_prompt = "score_6,score_5,score_4,source_furry,pathway,walkway,face mask,heterochromia,tattoos,muscular,deformed iris,deformed pupils,long body,long neck,text,error,print,signature,logo,watermark,deformed,distorted,disfigured,bad anatomy,wrong anatomy,ugly,disgusting,cropped,crooked teeth,multiple views,bad proportions,gross proportions,cloned face,worst quality,low quality,normal quality,bad quality,lowres,poorly drawn,semi-realistic,3d,render,cg,cgi,imperfect,partial,unfinished,incomplete,monochrome,grayscale,sepia,fat,wrinkle,fat leg,fat ass,loli,blurry,hazy,sagging breasts,loli,child,longbody,lowres,bad anatomy,bad hands,missing fingers,extra digit,fewer digits,worst quality,low quality,normal quality,watermark,artist name,signature,"
pipe = OVStableDiffusionPipeline.from_pretrained(model_id, compile=False)
pipe.reshape( batch_size=1, height=256, width=256, num_images_per_prompt=1)
pipe.compile()
def infer(prompt, negative_prompt):
image = pipe(
prompt = prompt,
negative_prompt = negative_prompt,
width = 256,
height = 256,
).images[0]
return image
examples = [
"A cute kitten, Japanese cartoon style.",
"A sweet family, dad stands next to mom, mom holds baby girl.",
"A delicious ceviche cheesecake slice",
]
css="""
#col-container {
margin: 0 auto;
max-width: 520px;
}
"""
power_device = "CPU"
with gr.Blocks(css=css) as demo:
with gr.Column(elem_id="col-container"):
gr.Markdown(f"""
# Text-to-Image Gradio Template
Currently running on {power_device}.
""")
with gr.Row():
prompt = gr.Text(
label="Prompt",
show_label=False,
max_lines=1,
placeholder="Enter your prompt",
container=False,
)
run_button = gr.Button("Run", scale=0)
result = gr.Image(label="Result", show_label=False)
gr.Examples(
examples = examples,
inputs = [prompt]
)
run_button.click(
fn = infer,
inputs = [prompt, negative_prompt],
outputs = [result]
)
demo.queue().launch()