Comment exécuter une diffusion stable localement avec une interface graphique sous Windows

Comment exécuter une diffusion stable localement avec une interface graphique sous Windows

Vous pouvez installer Stable Diffusion localement sur votre PC, mais le processus typique implique beaucoup de travail en ligne de commande à installer et à utiliser. Heureusement pour nous, la communauté Stable Diffusion a résolu ce problème. Voici comment installer une version de Stable Diffusion qui s’exécute localement avec une interface graphique !

Qu’est-ce que la diffusion stable ?

Stable Diffusion est un modèle d’IA qui peut générer des images à partir d’indices de texte ou modifier des images existantes avec un indice de texte, comme dans MidJourney ou DALL-E 2. Il a été publié pour la première fois en août 2022 par Stability.ai. Il comprend des milliers de mots différents et peut être utilisé pour créer presque toutes les images que votre imagination peut imaginer dans presque tous les styles.

Cependant, il existe deux différences importantes qui distinguent Stable Diffusion de la plupart des autres générateurs d’images AI populaires :

  • Il peut être exécuté localement sur votre PC
  • Ceci est un projet open source

Le dernier point ici est vraiment important. Traditionnellement, Stable Diffusion est installé et exécuté via une interface de ligne de commande. Cela fonctionne, mais peut être maladroit, non intuitif et présente un obstacle important à l’entrée pour les personnes qui seraient autrement intéressées. Mais comme il s’agit d’un projet open source, la communauté a rapidement créé une interface utilisateur et a commencé à ajouter ses propres ajouts, notamment des optimisations pour minimiser l’utilisation de la mémoire vidéo (VRAM) et une mise à l’échelle et un masquage intégrés.

De quoi avez-vous besoin pour exécuter cette version de Stable Diffusion ?

Cette version de Stable Diffusion est un fork du référentiel principal (repository) créé et maintenu par Stability.ai . Il dispose d’une interface utilisateur graphique (GUI) qui le rend plus facile à utiliser que la diffusion stable régulière qui n’a qu’une interface de ligne de commande et un programme d’installation qui effectue automatiquement la plupart de la configuration.

Avertissement. Comme toujours, soyez prudent avec les fourches de logiciels tiers que vous trouvez sur GitHub. Nous l’utilisons depuis un certain temps maintenant sans problème, comme des milliers d’autres, nous avons donc tendance à dire que c’est sûr. Heureusement, le code et les changements ici sont petits par rapport à certaines ramifications de projets open source.

Ce fork contient également diverses optimisations qui devraient lui permettre de fonctionner sur des PC avec moins de RAM, une mise à l’échelle intégrée et des fonctionnalités faciales utilisant GFPGAN, ESRGAN, RealESRGAN et CodeFormer, et le masquage. Le masquage est un gros problème – il vous permet d’appliquer de manière sélective la génération d’images AI à certaines parties d’une image sans déformer d’autres parties, un processus communément appelé inpainting.

Comment installer Stable Diffusion avec GUI

Le processus d’installation a été grandement simplifié, mais vous devez encore effectuer quelques étapes manuelles avant de pouvoir utiliser le programme d’installation.

Installez d’abord Python

La première chose à faire est d’ installer la version de Python 3.10.6 recommandée par l’auteur du référentiel. Suivez ce lien, faites défiler la page et cliquez sur « Windows Installer (64-bit) ».

Cliquez sur l’exécutable que vous avez téléchargé et suivez les instructions. Si vous avez déjà installé Python (et vous l’avez probablement fait), cliquez simplement sur Mettre à jour. Sinon, suivez les invites recommandées.

Noter. Assurez-vous d’ajouter Python 3.10.6 à votre PATH si vous le pouvez.

Installez Git et téléchargez le référentiel GitHub

Vous devez télécharger et installer Git sur Windows avant de pouvoir exécuter le programme d’installation de Stable Diffusion. Téléchargez simplement l’exécutable Git 64 bits , exécutez-le et utilisez les paramètres recommandés, sauf si vous avez quelque chose de spécifique en tête.

Ensuite, vous devez télécharger les fichiers depuis le référentiel GitHub . Cliquez sur le bouton vert « Code », puis cliquez sur « Télécharger ZIP » en bas du menu.

Ouvrez le fichier ZIP dans l’Explorateur de fichiers ou votre programme de compression préféré, puis extrayez le contenu vers n’importe quel emplacement. N’oubliez pas que vous devrez accéder à ce dossier pour exécuter Stable Diffusion. Dans cet exemple, ils sont extraits dans le répertoire C:\, mais ce n’est pas obligatoire.

Faites glisser le dossier "stable-diffusion-webui-master" où vous voulez.

Noter. Assurez-vous de ne pas faire glisser accidentellement « stable-diffusion-webui-master » vers un dossier autre que l’espace vide – si vous le faites, il se retrouvera dans ce dossier et non dans le dossier parent que vous vouliez.

Télécharger tous les points de contrôle

Pour ce faire, vous aurez besoin de plusieurs points de contrôle. Les premiers et les plus importants sont les points de contrôle de diffusion stables . Vous devez créer un compte pour télécharger des points de contrôle, mais cela ne prend pas grand-chose pour un compte – tout ce dont ils ont besoin est un nom et une adresse e-mail et vous avez terminé.

Noter. Le téléchargement des points de contrôle prend plusieurs gigaoctets. Ne vous attendez pas à ce que cela se fasse instantanément.

Copiez et collez « sd-v1-4.ckpt » dans le dossier « stable-diffusion-webui-master » de la section précédente, puis faites un clic droit sur « sd-v1-4.ckpt » et cliquez sur « Renommer ». Tapez « model.ckpt » dans le champ de texte et appuyez sur Entrée. Assurez-vous que c’est « model.ckpt » – sinon cela ne fonctionnera pas.

Noter. La fonction de renommage est une icône dans Windows 11.

Vous devez également télécharger les points de contrôle GFPGAN . L’auteur du référentiel que nous utilisons a appelé les points d’ arrêt GFPGAN v1.3 , mais vous pouvez utiliser la v1.4 si vous souhaitez l’essayer. Faites défiler la page et cliquez sur « Modèle version 1.3 ».

Placez ce fichier « GFPGANv1.3.pth » dans le dossier « stable-diffusion-webui-master » comme vous l’avez fait avec le fichier « sd-v1-4.ckpt », mais ne le renommez pas. Le dossier « stable-diffusion-webui-master » doit maintenant contenir les fichiers suivants :

Voici à quoi devrait ressembler le dossier après avoir renommé le modèle Stable Diffusion et ajouté le modèle GFPGAN.

Vous pouvez également télécharger autant de points de contrôle ESRGAN que vous le souhaitez. Ils viennent généralement sous forme de fichiers ZIP. Une fois téléchargé, ouvrez le fichier ZIP puis extrayez le fichier « .pth » dans le dossier « ESRGAN ». Voici un exemple:

Place pour les modèles ESRGAN.

Les modèles ESRGAN ont tendance à fournir des fonctionnalités plus spécifiques, alors choisissez la paire que vous aimez.

Il ne vous reste plus qu’à double-cliquer sur le fichier « webui-user.bat » qui se trouve dans le dossier principal « stable-diffusion-webui-master ». Une fenêtre de console apparaîtra et commencera à télécharger tous les autres fichiers importants, à créer un environnement Python et à configurer l’interface utilisateur Web. Il ressemblera à ceci:

Noter. Attendez-vous à ce que le premier lancement de cette application prenne au moins quelques minutes. Vous devez télécharger un tas de tout sur Internet. S’il semble se bloquer pendant une durée déraisonnablement longue à un moment donné, essayez simplement de sélectionner une fenêtre de console et d’appuyer sur la touche Entrée.

Le client WebUI télécharge et installe toutes les ressources.

Lorsque cela est fait, la console affichera :

Running on local URL: http://127.0.0.1:7860

To create a public link, set `share=True` in `launch()`

Comment générer des images en utilisant la diffusion stable avec l’interface graphique

D’accord, vous avez installé la variante Web de Stable Diffusion et votre console vous a dit qu’elle « fonctionnait à l’URL locale : http://127.0.0.1:7860 ».

Remarque : qu’est-ce que cela signifie exactement, que se passe-t-il ? 127.0.0.1 est l’adresse localhost – l’adresse IP que votre ordinateur se donne. Cette version de Stable Diffusion crée un serveur sur votre PC local accessible via sa propre adresse IP, mais uniquement si vous vous connectez sur le bon port : 7860.

Ouvrez un navigateur, tapez « 127.0.0.1:7860 » ou « localhost:7860 » dans la barre d’adresse et appuyez sur Entrée. Vous verrez ceci dans l’onglet txt2img :

La première page du client WebUI dans Google Chrome.

Si vous avez déjà utilisé Stable Diffusion, ces paramètres vous seront familiers, mais voici un bref aperçu de la signification des options les plus importantes :

  • Indice : une description de ce que vous voulez créer.
  • Bouton de défilement : applique un style artistique aléatoire à votre info-bulle.
  • Étapes d’échantillonnage : le nombre de fois où l’image sera affinée avant d’obtenir la sortie. Généralement, plus c’est mieux, mais il y a des rendements décroissants.
  • Méthode d’échantillonnage : Les mathématiques sous-jacentes qui déterminent comment un échantillon est traité. Vous pouvez utiliser n’importe lequel d’entre eux, mais euler_a et PLMS semblent être les options les plus populaires. Vous pouvez en savoir plus sur le PLMS dans cet article.
  • Restaurer les visages : utilise GFPGAN pour essayer de corriger les visages étranges ou déformés.
  • Nombre de lots : Le nombre d’images à générer.
  • Taille du lot : nombre de « lots ». Laissez cette valeur à 1 sauf si vous disposez d’une énorme quantité de mémoire vidéo.
  • Échelle CFG : avec quelle attention Stable Diffusion suivra vos instructions. Des nombres plus grands signifient qu’il le suit de très près, tandis que des nombres plus petits donnent une plus grande liberté de création.
  • Largeur : La largeur de l’image que vous souhaitez créer.
  • Hauteur : La largeur de l’image que vous souhaitez créer.
  • Graine : le nombre qui fournit l’entrée initiale pour le générateur de nombres aléatoires. Laissez -1 pour générer aléatoirement une nouvelle graine.

Créons cinq images basées sur l’invite : « vache de montagne dans une forêt magique, photographie sur film 35 mm, netteté » et voyons ce que nous obtenons en utilisant un échantillonneur PLMS, 50 étapes d’échantillonnage et une échelle CFG de 5.

Astuce : Vous pouvez toujours cliquer sur le bouton « Abandonner » pour arrêter la génération si votre travail prend trop de temps.

La fenêtre de sortie ressemblera à ceci :

Conclusion pour un indice sur les vaches de montagne.  Cinq vaches de montagne, deux noires et blanches.

Noter. Vos images seront différentes.

L’image du milieu en haut est celle que nous utiliserons pour le masquage un peu plus tard. Il n’y a vraiment aucune raison pour ce choix particulier autre que la préférence personnelle. Prenez n’importe quelle image que vous aimez.

Charmante vache de montagne dans la forêt.

Sélectionnez-le et cliquez sur Envoyer à Inpaint.

Comment masquer les images que vous créez pour inpaint

L’inpainting est une fonctionnalité fantastique. Normalement, la diffusion stable est utilisée pour créer des images entières à partir d’un indice, mais l’inpainting vous permet de générer (ou de régénérer) de manière sélective des parties d’une image. Il y a deux options critiques ici : inpaint est masqué, inpaint n’est pas masqué.

Inpaint avec un masque utilisera l’indice pour créer une image dans la zone sélectionnée, tandis que inpaint sans masque fera exactement le contraire – seule la zone masquée sera enregistrée.

Tout d’abord, nous allons parler un peu du masquage Inpaint. Déplacez votre souris sur l’image tout en maintenant le bouton gauche de la souris enfoncé et vous remarquerez qu’un calque blanc apparaît au-dessus de votre image. Dessinez la forme de la zone que vous souhaitez remplacer et assurez-vous de la remplir complètement. Vous ne faites pas le tour de la zone, vous masquez toute la zone.

Conseil : Si vous ajoutez simplement quelque chose à une image existante, il peut être utile d’essayer d’aligner la zone masquée avec la forme approximative que vous essayez de créer. Masquer une forme triangulaire quand vous le souhaitez, comme un cercle, est contre-productif.

Prenons, par exemple, notre vache des montagnes et mettons-y une toque de chef. Masquez une zone grossièrement en forme de toque de chef et assurez-vous que la taille du lot est définie sur une valeur supérieure à 1. Vous en aurez probablement besoin de plusieurs pour obtenir le résultat parfait.

De plus, vous devez sélectionner « Caché du bruit » et non « Remplir », « Original » ou « Rien de caché ». Il a tendance à donner les meilleurs résultats lorsque vous souhaitez créer un objet entièrement nouveau dans la scène.

Remarque : Vous remarquerez que le bord gauche du chapeau a enlevé une partie de sa corne. Cela était dû au fait que le paramètre « Flou du masque » était trop élevé. Si vous voyez ce genre de chose dans vos images, essayez de réduire la valeur « Flou du masque ».

Vache de montagne dans un chapeau de chef.
Indice : toque de chef. Paramètres : Inpaint Masked, Latent Diffusion, CFG 9.5, Noise Reduction Level 0.75, Sample Steps = 50, Sample Method = Euler_A.

D’accord, peut-être qu’une toque de chef n’est pas le meilleur choix pour une vache de montagne. Votre vache des montagnes ressemble plus aux vibrations du début du XXe siècle, alors donnons-lui un chapeau melon.

Vache de montagne dans un chapeau melon.
Astuce : Paramètres du chapeau Bwel : Inpaint Masked, Latent Diffusion, CFG 9.5, Noise Reduction Level 0.75, Sampling steps = 50, Sampling method = Euler_A

Comment positivement pimpant.

Bien sûr, vous pouvez également faire exactement le contraire avec Inpaint Not Masked. C’est conceptuellement similaire, sauf que les zones que vous définissez sont à l’envers. Au lieu de mettre en surbrillance la zone que vous souhaitez modifier, vous mettez en surbrillance les zones que vous souhaitez conserver. Ceci est souvent utile lorsque vous souhaitez déplacer un petit objet vers un arrière-plan différent.

Comment corriger l’erreur « CUDA Out Of Memory »

Plus l’image que vous créez est grande, plus la mémoire vidéo requise est importante. La première chose que vous devriez essayer est de créer des images plus petites. Stable Diffusion produit de bonnes images, bien que très différentes, à 256×256.

Si vous avez envie de créer de grandes images sur un ordinateur qui n’a pas de problèmes avec les images 512×512, ou si vous rencontrez diverses erreurs « Mémoire insuffisante », certaines modifications de configuration devraient vous aider.

Ouvrez « webui-user.bat » dans le Bloc-notes ou tout autre éditeur de texte. Faites un clic droit sur « webui-user.bat », cliquez sur « Modifier » et sélectionnez « Bloc-notes ». Définissez la ligne qui lit set COMMANDLINE_ARGS=. C’est là que vous allez mettre les commandes pour optimiser la Diffusion Stable.

Si vous voulez simplement prendre des images volumineuses ou si vous n’avez pas assez de RAM sur votre GPU de la série GTX 10XX, essayez-le d’ --opt-split-attentionabord. Il ressemblera à ceci:

Cliquez ensuite sur Fichier > Enregistrer. Vous pouvez également appuyer sur Ctrl+S sur votre clavier.

Si vous obtenez toujours des erreurs de mémoire, essayez --medvramde les ajouter à la liste des arguments de la ligne de commande (COMMANDLINE_ARGS).

Vous pouvez ajouter --always-batch-cond-uncondpour essayer de résoudre des problèmes de mémoire supplémentaires si les commandes précédentes n’ont pas aidé. Il existe également une alternative --medvram qui peut réduire davantage l’utilisation de la VRAM --lowvram, mais nous ne pouvons pas confirmer si cela fonctionnera réellement.

L’ajout d’une interface utilisateur est une avancée importante pour rendre ces outils basés sur l’IA accessibles à tous. Les possibilités sont presque infinies, et même un rapide coup d’œil sur les communautés en ligne consacrées à l’art de l’intelligence artificielle vous montrera à quel point cette technologie est puissante, même si elle n’en est qu’à ses balbutiements. Bien sûr, si vous n’avez pas de PC de jeu ou si vous ne voulez pas vous soucier de la personnalisation, vous pouvez toujours utiliser l’un des générateurs d’art AI en ligne . N’oubliez pas que vous ne pouvez pas supposer que vos entrées sont privées.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *