| import torch |
| from diffusers import StableDiffusionPipeline |
| from diffusers import AutoPipelineForText2Image |
| import gradio as gr |
|
|
| img_generator1 = AutoPipelineForText2Image.from_pretrained("kandinsky-community/kandinsky-2-2-decoder", torch_dtype=torch.float16) |
| img_generator1.to("cuda" if torch.cuda.is_available() else "cpu") |
|
|
| |
| img_generator2 = StableDiffusionPipeline.from_pretrained("CompVis/stable-diffusion-v1-4",torch_dtype=torch.float16 if device == "cuda" else torch.float32) |
| img_generator2.to("cuda" if torch.cuda.is_available() else "cpu") |
|
|
|
|
| |
| def text_to_image(prompt, model_name): |
| if model_name == 'kandinsky-2-2-decoder': |
| return img_generator1(prompt=prompt).images[0] |
| else: |
| return img_generator2(prompt=prompt).images[0] |
|
|
| |
| gr.Interface( |
| fn=text_to_image, |
| inputs= [gr.Textbox(label="Entrez une description (prompt)"), |
| gr.Dropdown(choices =['kandinsky-2-2-decoder', 'stable-diffusion-v1-4'], label = 'Model Name')], |
| outputs=gr.Image(type="pil", label="Image générée"), |
| title="Générateur d'Images à partir de Texte", |
| description="Entrez un texte pour générer une image" |
| ).launch() |