Generation d'image avec la library Diffusers¶
Dans ce notebook, nous allons apprendre à utiliser les modèles de diffusion à l'aide la library diffusers de Hugging Face. Les modèles de diffusion étant très couteux en terme de temps de calcul, nous nous contenterons d'un petit exemple sur un modèle assez léger.
Implémentation¶
Nous utilisons le modèle small-stable-diffusion de OFA-Sys (OFA-Sys/small-stable-diffusion-v0).
from diffusers import DiffusionPipeline
diffuser = DiffusionPipeline.from_pretrained("OFA-Sys/small-stable-diffusion-v0") #"stabilityai/sdxl-turbo"
vae/diffusion_pytorch_model.safetensors not found Loading pipeline components...: 29%|██▊ | 2/7 [00:01<00:03, 1.48it/s]The config attributes {'predict_epsilon': True} were passed to DPMSolverMultistepScheduler, but are not expected and will be ignored. Please verify your scheduler_config.json configuration file. Loading pipeline components...: 100%|██████████| 7/7 [00:01<00:00, 4.05it/s]
La génération peut prendre quelques minutes selon votre ordinateur.
outputAutre=diffuser("A car in the winter")
100%|██████████| 50/50 [03:01<00:00, 3.63s/it]
import matplotlib.pyplot as plt
print(outputAutre.images[0])
plt.imshow(outputAutre.images[0])
plt.axis("off")
plt.show()
<PIL.Image.Image image mode=RGB size=512x512 at 0x733D54E7F210>
Vous savez maintenant comment générer des images avec la library Diffusers de Hugging Face.
Pour aller plus loin : Si vous souhaitez en apprendre plus sur les utilisations possibles des modèles de diffusion, je vous conseille le cours gratuit "Prompt Engineering for Vision Models" sur deeplearning.ai. Vous pourrez y apprendre comment remplacer un objet sur une image en utilisant SAM et un modèle de diffusion.