chywang's picture
Update app.py
67fd9ac
import gradio as gr
from diffusers import StableDiffusionPipeline, DPMSolverMultistepScheduler
import torch
from PIL import Image
model_id = "alibaba-pai/pai-diffusion-artist-xlarge-zh"
pipe = StableDiffusionPipeline.from_pretrained(model_id)
pipe.scheduler = DPMSolverMultistepScheduler.from_config(pipe.scheduler.config)
pipe = pipe.to("cpu")
def infer_text2img(prompt, guide, steps):
image = pipe([prompt], guidance_scale=guide, num_inference_steps=steps).images[0]
return image
with gr.Blocks() as demo:
examples = [
["草地上的帐篷,背景是山脉"],
["卧室里有一张床和一张桌子"],
["雾蒙蒙的日出在湖面上"],
]
with gr.Row():
with gr.Column(scale=1, ):
image_out = gr.Image(label = '输出(output)')
with gr.Column(scale=1, ):
prompt = gr.Textbox(label = '提示词(prompt)')
submit_btn = gr.Button("生成图像(Generate)")
with gr.Row(scale=0.5 ):
guide = gr.Slider(2, 15, value = 7, label = '文本引导强度(guidance scale)')
steps = gr.Slider(10, 50, value = 20, step = 1, label = '迭代次数(inference steps)')
ex = gr.Examples(examples, fn=infer_text2img, inputs=[prompt, guide, steps], outputs=image_out)
submit_btn.click(fn = infer_text2img, inputs = [prompt, guide, steps], outputs = image_out)
demo.queue(concurrency_count=1, max_size=8).launch()