Ce guide vous accompagne pas à pas dans l’utilisation d’AUTOMATIC1111 via Google Colab.
Bien que l’exécution locale d’AUTOMATIC1111 soit possible, de nombreux tutoriels existent déjà à ce sujet.
J’ai choisi Google Colab après avoir rencontré des difficultés techniques en local, et je souhaite partager mon expérience pour faciliter votre parcours.
Voilà ce que je vais vous éviter :
loc("mps_add"("(mpsFileLoc): /AppleInternal/Library/BuildRoots/a0876c02-1788-11ed-b9c4-96898e02b808/Library/Caches/com.apple.xbs/Sources/MetalPerformanceShadersGraph/mpsgraph/MetalPerformanceShadersGraph/Core/Files/MPSGraphUtilities.mm":219:0)): error: input types 'tensor<1x4096x640xf16>' and 'tensor<*xf32>' are not broadcast compatible
LLVM ERROR: Failed to infer result type(s).
[1] 8281 abort ./webui.sh
/opt/homebrew/Cellar/[email protected]/3.10.9/Frameworks/Python.framework/Versions/3.10/lib/python3.10/multiprocessing/resource_tracker.py:224: UserWarning: resource_tracker: There appear to be 1 leaked semaphore objects to clean up at shutdown
warnings.warn('resource_tracker: There appear to be %d '
Automatic1111 : Qu’est-ce que c’est ?
Dès que vous commencerez à faire quelques recherches sur Stable Diffusion, vous tomberez rapidement sur des articles parlant de Automatic1111.
Avant de définir ce qu’est Automatic1111, il est bien important de comprendre ce qu’est Stable Diffusion.
Stable Diffusion est un modèle de machine learning qui n’est pas particulièrement convivial pour les utilisateurs novices. Pour l’utiliser efficacement, il est nécessaire d’apprendre à programmer.
C’est pourquoi la grande majorité des utilisateurs optent pour une interface graphique utilisateur (GUI) qui simplifie grandement le processus d’utilisation de Stable Diffusion.
C’est là qu’entre en jeu Automatic1111 : c’est une GUI pour Stable Diffusion. Au lieu de coder pour utiliser SD, vous aurez une belle interface graphique qui vous demandera vos prompts.
Qu’est-ce que Google Colab ?
Google Colab, ou Google Colaboratory, est un service de calcul interactif de Google. C’est un environnement Jupyter Notebook pour exécuter du code, souvent utilisé en data science et pour l’exploration de modèles de deep learning. C’est parfait pour faire fonctionner l’interface utilisateur web de Stable Diffusion.
Trois plans payants sont proposés : Pay As You Go, Colab Pro et Colab Pro+.
Je recommande Colab Pro, offrant 100 unités de calcul par mois, soit environ 50 heures sur un GPU standard, et l’accès à des machines à haute RAM, utiles pour certains modèles et extensions. C’est un très bon deal au regard de la puissance offerte, et de la simplification que ça apporte.
Plus besoin d’une machine de guerre pour faire tourner un modèle.
Avec un plan payant, vous avez accès à un GPU Premium, un processeur A100, idéal pour former rapidement des modèles Dreambooth.
Assurez-vous de fermer le notebook Colab après utilisation pour ne pas consommer inutilement des unités de calcul.
L’inscription à un plan payant est nécessaire pour utiliser le Notebook Colab de Stable Diffusion, l’usage gratuit d’AUTOMATIC1111 étant bloqué.
Guide étape par étape pour faire tourner le notebook Colab
Étape 1 : Prenez un plan payant Google Colab (J’utilise le plan Colab Pro à 11 € par mois)
Étape 2 : Ouvrir ce notebook Colab
Étape 3 : Faites en une copie dans Drive
Étape 4 : Mettre un nom d’utilisateur et un mot de passe. Cela vous sera demandé dans Automatic1111 quand l’instance sera lancée.
Étape 5 : Renseignez Save_In_Google_Drive
. Il y a 3 options possibles :
- Small models, images and settings : C’est l’option recommandée.
Elle sauvegarde dans votre Google Drive les modèles Lora, les embeddings, les paramètres de l’interface utilisateur et toutes les images.
Les éléments suivants seront chargés depuis votre Google Drive :
– Modèles (dossier AI_PICS/models)
– Upscalers (dossier AI_PICS/ESRGAN)
– Modèles Lora (dossier AI_PICS/Lora)
– Embeddings (dossier AI_PICS/embeddings)
– ControlNet (dossier AI_PICS/ControlNet) - Everything : Cette option sauvegarde toute l’interface web AUTOMATIC1111 Stable Diffusion dans votre Google Drive. Elle nécessite plus de maintenance et n’est pas recommandée.
- Nothing : N’utilise pas votre Google Drive. Toutes les données et images seront supprimées après déconnexion.
Vous devez donner la permission d’accéder à Google Drive pour continuer.
Etape 6 : Cochez les modèles que vous souhaitez charger. Actuellement, les modèles 1.4, 1.5, 1.5 inpainting, F222, anything v3, inkpunk diffusion, Mo Di diffusion, 2.1-512, 2.1-768 sont proposés.
Si vous êtes un nouvel utilisateur, vous pouvez sélectionner le modèle v1.5.
Étape 7 : cliquez sur Play
Colab va alors commencer à builder l’environnement, et la console va finir par vous donner une ligne de ce genre :
Étape 8: Ouvrez l’URL publique, vous arrivez à l’interface de login d’Automatic1111.
Renseignez les accès que vous avez définis à l’étape 4
That’s all folks !
IMPORTANT : Quand vous avez terminé, fermez les sessions Colab ! Sinon, vous consommez vos unités de calculs.
Vous êtes maintenant sur l’interface de Stable Diffusion, et vous pouvez commencer à générer vos premières images. Voici un prompt pour commencer, et vous donner une idée de ce qu’il faut lui donner pour avoir une sortie un peu qualitative :
Prompt (toujours en anglais. Aidez vous de ChatGPT ou Deepl)
A stylish photo of a geek man standing in a modern office environment, framed by a large window with a blurred cityscape in the background. He sports a fashionable hairstyle with blond, wavy hair neatly swept to one side. His gaze is direct and friendly, with a hint of a smile playing on his lips, suggesting approachability and charisma. He is dressed in a sharp navy blue suit with a pristine white shirt and a matching dark blue tie. His suit jacket is buttoned, adding to the formality of his attire, and he is making a subtle adjustment to his tie, giving the impression of meticulous attention to detail. The lighting is soft and natural, highlighting his features and lending an air of sophistication to the scene. sharp focus, natural lighting, subsurface scattering, f2, 35mm, film grain
Negative Prompt
animation,doll,anime,painting,cartoon,drawing,illustration,3d,sketch,surreal,(cropped head), (cropped body),out of frame,crossed eyes, bad hands,((disfigured)),((deformed)),strange anatomy,(bad proportions),((extra limbs)),(ugly),((b&w)),weird colors,blurry,((monochrome)),lowres,(low quality:2),jpeg artifacts
Les options que je vous suggère :
Sampling Method : j’ai eu de bons résultats avec DPM++ 2M Karras. Mais il a Euler a et DPM++ 2M SDE Karras qui sont valables. Je vous suggère de faire des essais.
Batch Count & Batch Size : ça va définir le nombre d’images qu’il va générer pour le même prompt. 1 & 4 comme sur la photo signifie qu’il va faire un batch de 4 images. Ce sont les valeurs que je recommande.
Sampling Steps : En général, plus le nombre d’étapes (steps) est élevé, meilleure est la qualité obtenue. Cependant, il ne faut pas fixer le nombre d’étapes au maximum sans réfléchir.
Tout dépend des résultats que vous cherchez à obtenir.
Le paramètre « étapes » dans Stable Diffusion et les modèles de diffusion en général, fait référence à un processus itératif – un cycle répété qui commence par un bruit aléatoire généré à partir du texte. À chaque étape, un peu de bruit est éliminé, améliorant ainsi la qualité de l’image avec le temps. La répétition s’arrête une fois le nombre d’étapes souhaité atteint.
Environ 25 sampling steps sont généralement suffisants pour obtenir des images de haute qualité. Utiliser plus d’étapes peut produire une image légèrement différente, mais pas nécessairement de meilleure qualité. De plus, la nature itérative du processus ralentit la génération ; plus vous utiliserez d’étapes, plus la génération d’une image prendra du temps. Dans la plupart des cas, l’attente supplémentaire n’en vaut pas la peine.
Recommandation : Entre 25 et 40 sampling steps me semblent suffisants : faites des essais. La bonne valeur peut varier selon le prompt utilisé.
Résultat du prompt que je vous ai proposé :
Pas encore foufou, mais ça commence à être intéressant. On va améliorer ça.
Comment améliorer les rendus sur Stable Diffusion
Pour améliorer les rendus, il faut :
- Choisir des modèles spécialisés (réalisme, manga, etc.).
- Utiliser des « Loras », des extensions pour Stable Diffusion indépendantes du modèle choisi. Elles améliorent différents aspects comme les yeux, le réalisme des visages, et peuvent même s’inspirer de vos acteurs favoris.
Commencez par sélectionner un modèle pour des rendus réalistes :
- Dans « Stable Diffusion Checkpoint », en haut à gauche, choisissez « Realistic Vision ».
Dans ce tutoriel, je vous guide pour ajouter une Lora que j’apprécie particulièrement, « epicRealism Helper ». Vous pouvez la télécharger via le lien suivant. ici.
CivitaAI est un site à mettre en favori. Il répertorie tous les modèles et Loras disponibles pour Stable Diffusion, une ressource précieuse.
Il est nécessaire de déposer votre fichier téléchargé sur Google Drive, dans le dossier AI_PICS/Lora, afin qu’Automat1111 puisse y accéder.
Ensuite, rendez-vous dans l’onglet Lora et vous devriez y trouver votre Lora.
Pour activer les Loras, ajoutez-les à votre prompt ainsi : <lora:epiCRealismHelper:1>
. Le chiffre indique la force du Lora : 1 pour le maximum, 0 pour le minimum. Testez en ajustant à 0.5 si nécessaire.
Essayons à nouveau le même prompt qu’avant, avec ce nouveau modèle et Lora !
Résultat :
Comme tout à l’heure, vous pouvez jouer sur les paramètres Sampling Steps, CFG scale, et même le Sampling Method, en testant Euler a, DPM++ 2M SDE Karras etc…
Maintenant que vous possédez les bases, on va tenter d’entrainer notre propre modèle à partir de nos propres photos, et ainsi générer des photos de nous par milliers.
Comment entrainer un modèle Stable Diffusion avec ses propres photos en utilisant Dreambooth