Geek7/dftrztxi
0
1import gradio as gr2from diffusers import DiffusionPipeline3import dask4from dask import delayed5 6# Load model7pipe = DiffusionPipeline.from_pretrained("kandinsky-community/kandinsky-2-1")8 9def generate_image(prompt, num_inference_steps=50):10 """11 Generate an image based on a text prompt using diffusion with optimizations.12 The number of inference steps is reduced for faster generation.13 """14 # Reduce steps for faster processing15 image = pipe(prompt, num_inference_steps=num_inference_steps).images[0]16 return image17 18# Dask-delayed function to utilize multi-core CPU processing19@delayed20def dask_generate(prompt):21 return generate_image(prompt)22 23def parallel_generate(prompt):24 # Execute the generation using Dask to potentially improve processing speed25 image = dask.compute(dask_generate(prompt))[0]26 return image27 28# Gradio interface29iface = gr.Interface(30 fn=parallel_generate,31 inputs=gr.Textbox(label="Prompt", placeholder="Enter your prompt here"),32 outputs=gr.Image(type="pil"),33 title="CPU Optimized Image Generation",34 description="Enter a prompt to generate an image efficiently using CPU optimization."35)36 37# Launch the Gradio app38if __name__ == "__main__":39 iface.launch()