Blog & Astuces

Comment utiliser Stable Diffusion, l’IA qui génère des photos et des dessins ?

Comment utiliser Stable Diffusion, l’IA qui génère des photos et des dessins ?

Tuto

Stable Diffusion est une IA de création et de génération d’images open-source, qui est proposée gratuitement sur Github. L’IA a été développée par la startup Stability.AI.

Cette IA permet de générer des photos ou des dessins en lui donnant une simple phrase en entrée (également appelée prompt). Par exemple, vous pouvez lui demander (en anglais) de générer l’image d’un chat qui porte un chapeau (comme sur l’image de Une de ce tutoriel, qui a été générée par cette IA).

Il est donc possible de télécharger et d’utiliser cette IA sur votre ordinateur en local, de manière gratuite. Il y a cependant quelques pré-requis :

  • Disposer d’une carte graphique Nvidia avec un minimum de 6 Go de VRAM (certaines personnes réussissent à priori à utiliser l'IA avec moins de VRAM via les scripts optimisés). Certains utilisateurs ont cependant réussi à lancer l'IA avec une carte graphique AMD.
  • Disposer de 16 Go de RAM (recommandé)

Ce tutoriel a été testé sur un Linux, mais il peut également être suivi sur Windows (mais non testé).

Première étape : installation de Miniconda et Git

La première étape consiste en l’installation de Miniconda. Pour installer Miniconda pour Linux, lancez les commandes suivantes :

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
chmod +x Miniconda3-latest-Linux-x86_64.sh
./Miniconda3-latest-Linux-x86_64.sh

Puis suivez les instructions, vous devrez valider la licence du logiciel (entrez yes). Puis appuyez sur Entrer lorsque l’on demande où vous souhaitez installer Miniconda.

Pour installer Miniconda sous Windows, rendez-vous à l’adresse suivante : https://docs.conda.io/en/latest/miniconda.html

Sélectionnez le lien pour Windows, un fichier .exe sera téléchargé. Lancez-le pour installer Miniconda. Suivez les instructions de l’installateur, et cochez la case "Add Miniconda3 to my PATH environment variable".

Miniconda Windows

Assurez-vous que Git soit installé. Sur Linux, vous pouvez utiliser la commande suivante (exemple pour Ubuntu/Debian) :

sudo apt install git

Pour Windows, rendez-vous ici pour télécharger l'installateur de Git : https://gitforwindows.org/

Suivez les étapes de l'installateur.

Dans tous les cas, que ce soit sur Windows ou Linux, ouvrez un terminal (ou la ligne de commande Windows) et lancez la commande suivante :

conda init

Puis fermez la fenêtre du terminal (ou de la ligne de commande Windows).

Deuxième étape : télécharger le modèle de Stable Diffusion

Pour cette étape, nous allons télécharger le modèle de Machine Learning de l’IA. Pour cela, inscrivez vous sur le site : https://huggingface.co

Une fois inscrit, rendez-vous ici : https://huggingface.co/CompVis/stable-diffusion#model-access

Cliquez sur le lien « stable-diffusion-v-1-4-original » :

Screenshot 1

Sur la page qui s'ouvre, cochez la case à droite de I have read the License and agree with its terms puis cliquez sur Access repository.

Screenshot

Puis sélectionnez « sd-v1-4.ckpt ». Un fichier de 4 Go environ sera téléchargé. Nous l’utiliserons plus tard.

Screenshot 2

Troisième étape : configuration de Stable Diffusion

Rendez-vous sur le dépôt Github de l’IA : https://github.com/CompVis/stable-diffusion

Cliquez sur Code > Download ZIP (vous pouvez aussi utiliser la commande git clone si vous le souhaitez).

Screenshot 3

Une archive ZIP sera téléchargée. Extrayez-la avec un logiciel d’extraction (7-Zip, Winrar, etc.).

Maintenant, rendez-vous sur ce dépôt Github : https://github.com/basujindal/stable-diffusion

Effectuez la même action que précédemment, mais au lieu d’extraire tout le contenu de l’archive Zip, copiez uniquement le dossier « optimizedSD » contenu dans l’archive vers le dossier précédemment extrait (celui du premier dépôt Github). Il contient des scripts pré-conçus et optimisés (utilise moins de mémoire vidéo VRAM) pour lancer la génération d’image.

Screenshot

Maintenant, ouvrez un terminal (ou la ligne de commande Windows) et rendez-vous dans le dossier du premier dépôt Github :

cd /chemin/vers/le/dossier

Lancez ensuite les commandes suivantes :

conda env create -f environment.yaml
conda activate ldm

Ensuite, vous devrez déplacer le fichier .ckpt (celui de plusieurs Go téléchargé lors de l'étape 2) dans le sous-dossier models/ldm/stable-diffusion-v1/ (vous devez créer le dossier stable-diffusion-v1) situé dans le dossier du premier dépôt Github, et le renommer model.ckpt.

Screenshot model cpkt

Quatrième étape : génération d’une image

Restez dans le dossier du premier dépôt Github. Lancez la commande suivante pour générer l’image d’un chat avec un chapeau :

python optimizedSD/optimized_txt2img.py --prompt "a photograph of a cat wearing a hat"

Patientez ensuite quelques instants (la génération met environ 1 minute et 10 secondes sur une carte graphique Nvidia RTX 3070).

Les images générées se trouvent dans le sous-dossier outputs/txt2img-samples.

Si vous fermez le terminal (ou la ligne de commande Windows), la prochaine fois que vous souhaiterez utiliser l’IA, vous devrez activer l’environnement Conda avec la commande suivante :

conda activate ldm

Exemple d’images générées par la commande (en plus de celle de Une de ce tuto) :

Chat IA

Chat IA 2

Note supplémentaire : sous Linux, l'environnement Conda base sera utilisé par défaut à chaque ouverture de bash. Pour complétement désactiver Conda par défaut, lancer la commande suivante :

conda config --set auto_activate_base false

Commentaires