Spaces:
Build error
Build error
File size: 2,592 Bytes
ca4f7e4 ad14b11 ca4f7e4 2b7c6f5 ad14b11 8db9b24 ad14b11 a8b9dfb 2188f5e ca4f7e4 2188f5e 7e75aa2 ad14b11 2188f5e e9ba573 2188f5e e9ba573 2b7c6f5 e9ba573 2b7c6f5 cdcffe0 ca4f7e4 17ab53b 8e4e8b9 ad14b11 ca4f7e4 2188f5e 26fbd8a e9ba573 2188f5e cdcffe0 17ab53b 0ee3f65 ca4f7e4 |
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 |
import gradio as gr
from optimum.intel.openvino import OVStableDiffusionPipeline
from diffusers.training_utils import set_seed
from diffusers import LMSDiscreteScheduler, StableDiffusionPipeline
import time
# scheduler = DDPMScheduler(beta_start=0.00085, beta_end=0.012,
# beta_schedule="scaled_linear", num_train_timesteps=1000)
pipe_torch_fp32 = StableDiffusionPipeline.from_pretrained("svjack/Stable-Diffusion-Pokemon-en")
pipe_fp32 = OVStableDiffusionPipeline.from_pretrained("OpenVINO/stable-diffusion-pokemons-fp32", compile=False)# scheduler=scheduler)
pipe_fp32.reshape(batch_size=1, height=512, width=512, num_images_per_prompt=1)
pipe_fp32.compile()
pipe_int8 = OVStableDiffusionPipeline.from_pretrained("OpenVINO/stable-diffusion-pokemons-quantized-aggressive", compile=False)
pipe_int8.reshape(batch_size=1, height=512, width=512, num_images_per_prompt=1)
pipe_int8.compile()
pipe_tome_int8 = OVStableDiffusionPipeline.from_pretrained("OpenVINO/stable-diffusion-pokemons-tome-quantized-aggressive", compile=False)
pipe_tome_int8.reshape(batch_size=1, height=512, width=512, num_images_per_prompt=1)
pipe_tome_int8.compile()
pipes = {
"Torch fp32": pipe_torch_fp32,
"OpenVINO fp32": pipe_fp32,
"OpenVINO 8-bit quantized": pipe_int8,
"OpenVINO merged and quantized": pipe_tome_int8
}
def generate(prompt, option, seed):
pipe = pipes[option]
set_seed(int(seed))
start_time = time.time()
output = pipe(prompt, num_inference_steps=50, output_type="pil", height=512, width=512)
elapsed_time = time.time() - start_time
return (output.images[0], "{:10.4f}".format(elapsed_time))
examples = ["cartoon bird",
"a drawing of a green pokemon with red eyes",
"plant pokemon in jungle"]
model_options = [option for option in pipes.keys()]
gr.Interface(
fn=generate,
inputs=[gr.inputs.Textbox(placeholder="cartoon bird", label="Prompt", lines=1),
gr.inputs.Dropdown(choices=model_options, default=model_options[-1], label="Model version"),
gr.inputs.Textbox(placeholder="42", label="Seed", lines=1)
],
outputs=[gr.outputs.Image(type="pil", label="Generated Image"), gr.outputs.Textbox(label="Inference time")],
title="OpenVINO-optimized Stable Diffusion",
description="This is the Optimum-based demo for NNCF-optimized Stable Diffusion pipeline trained on 'lambdalabs/pokemon-blip-captions' dataset and running with OpenVINO.\n"
"The pipeline is run using 8 vCPUs (4 cores) only.",
theme="huggingface",
).launch() |