Comment générer des images à partir de texte avec des modèles de diffusion stables
Introduction rapide à la génération de texte en image à l’aide du package de diffuseurs de Hugging Face
Dans cet article, je vais vous montrer comment démarrer avec la génération de texte en image avec des modèles de diffusion stables à l’aide du package de diffuseurs de Hugging Face.
De DALLE à la Diffusion Stable
Il y a quelque temps, j’ai eu accès au modèle DALLE-2 d’OpenAI , qui vous permet de créer de superbes images à partir de texte. J’ai donc commencé à jouer avec et à générer des images assez étonnantes.

Cependant, mes crédits se sont épuisés, alors j’ai décidé de chercher des alternatives, et je suis tombé sur cet article incroyable de Hugging Face,
Diffusion stable avec 🧨 Diffuseurs
utilisant 🧨 Diffusers Stable Diffusion est un modèle de diffusion latente texte-image créé par les chercheurs et ingénieurs…
huggingface.co
qui explique comment exécuter des modèles de diffusion stables à l’aide de leur diffusers
package.
Voyons donc comment générer des images à partir de texte en utilisant diffusers
!
Génération d’images à partir de texte avec le pipeline de diffusion stable
Tout d’abord, les étapes pour générer des images à partir de texte avec le diffusers
package sont :
- Assurez-vous d’avoir accès au GPU
- Exigences d’installation
- Activer les widgets externes sur Google Colab (pour les notebooks Colab)
- Connectez-vous à Hugging Face avec votre jeton d’utilisateur
- Initialiser le
StableDiffusionPipeline
- Déplacer le pipeline vers le GPU
- Exécuter l’inférence avec le module de Pytorch
autocast
Donc, pour ce projet, puisque je suis plus ou moins le cahier colab de Hugging Face , nous supposerons que vous avez accès à un cahier colab avec un GPU activé . Commençons!
1. Assurez-vous d’avoir un accès GPU
!nvidia-smi# Ma sortie

OK super! Maintenant que nous savons que nous avons accès à un GPU, définissons les exigences pour ce projet.
2. Configuration requise pour l’installation
Il y a 5 exigences principales pour ce projet :
diffusers==0.2.4
– qui est le package principal pour exécuter le pipelinetransformers
– Package de Hugging Face avec de nombreux modèles pré-formés pour le texte, l’audio et la vidéoscipy
— Package Python pour le calcul scientifiqueftfy
– Package Python pour la gestion des problèmes Unicodeipywidgets>=7,<8
– package pour créer des widgets sur des ordinateurs portablestorch
– Package Pytorch (pas besoin d’installer si vous êtes en colab)pillow
— Package Python pour traiter les images (pas besoin d’installer si vous êtes en colab)
Pour installer tout ce dont vous avez réellement besoin dans Google Colab, exécutez simplement :
!pip install diffuseurs==0.2.4!pip installer les transformateurs scipy ftfy!pip install "ipywidgets>=7,<8"
3. Activer les widgets externes sur Google Colab (pour les notebooks Colab)
# activer les widgets (pour pouvoir se connecter au visage étreignant)à partir de la sortie d'importation de google.colabsortie.enable_custom_widget_manager()
4. Connectez-vous à Hugging Face avec votre jeton d’utilisateur
# connectez-vous à huggin face (obtenez un jeton d'accès, etc ...)depuis huggingface_hub importer notebook_loginnotebook_login()
Vous devriez voir un widget où vous saisirez votre jeton d’accès depuis Hugging Face . Après l’avoir saisi, vous devriez voir quelque chose comme ceci :
# Production attendueConnexion réussie Votre jeton a été enregistré dans /root/.huggingface/token Authentifié via le magasin git-credential mais ce n'est pas l'assistant défini sur votre machine. Vous devrez peut-être vous authentifier à nouveau lorsque vous pousserez vers le Hugging Face Hub. Exécutez la commande suivante dans votre terminal au cas où vous voudriez définir cet assistant d'identification comme magasin git config --global credential.helper par défaut
5. Initialisez leStableDiffusionPipeline
torche d'importationdepuis les diffuseurs import StableDiffusionPipelinepipe = StableDiffusionPipeline.from_pretrained("CompVis/stable-diffusion-v1-4", revision="fp16", torch_dtype=torch.float16, use_auth_token=True)
Ici, tout comme dans leur cahier colab, nous utilisons le v1-4
modèle dont nous allons télécharger les poids. Une fois cela fait, nous pouvons passer à l’étape suivante. N’hésitez pas à essayer les autres modèles pour comparer !
6. Déplacez le pipeline vers le GPU
pipe = pipe.to("cuda")
autocast
7. Exécutez l’inférence avec le module de Pytorch
à partir de la diffusion automatique de l'importation de la torcheprompt = "photo d'un panda surfant"avec autocast("cuda") : image = pipe(prompt)["sample"][0] image.save(f"panda_surfer.png")image
Sortir

Comme nous pouvons le voir clairement, les résultats sont incroyables. Évidemment, vous trouverez une certaine variabilité dans les résultats que vous obtenez, mais il existe des paramètres que vous pouvez modifier comme guidance_scale
, le nombre d’étapes et la définition de graines aléatoires (pour les sorties déterministes) qui devraient vous aider à obtenir des résultats plus cohérents.
Réflexions finales et recommandations
Sur le cahier officiel de Colab de Hugging Face , (source principale de cet article), ils ont une explication claire et simple sur la diffusion stable, ainsi que des ressources pour approfondir le sujet, je vous recommande donc de le consulter ! Quelques recommandations supplémentaires que je donnerais seraient de consulter ces ressources :
Si vous préférez la forme vidéo, consultez ma vidéo Youtube sur ce sujet ici :
Si vous avez aimé cet article, rejoignez Medium , suivez , abonnez-vous à ma newsletter . Aussi, abonnez-vous à ma chaîne youtube et rejoignez-moi sur Tiktok , Twitter , LinkedIn , Instagram ! Merci et à la prochaine ! 🙂
Références
- https://openai.com/dall-e-2/
- https://huggingface.co/blog/stable_diffusion
- https://colab.research.google.com/github/huggingface/notebooks/blob/main/diffusers/stable_diffusion.ipynb#scrollTo=zHkHsdtnry57
- https://github.com/heejkoo/Awesome-Diffusion-Models
- https://huggingface.co/docs/hub/security-tokens