Recherche de site Web

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 avec la 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 utilisateur 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'invites de texte ou modifier des images existantes avec une invite de texte, un peu comme 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 évoquer dans presque tous les styles.

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

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

Le dernier point est vraiment la question importante ici. Traditionnellement, Stable Diffusion est installé et exécuté via une interface de ligne de commande. Cela fonctionne, mais cela peut être maladroit, peu intuitif, et c'est 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 pour celui-ci et a commencé à ajouter ses propres améliorations, y compris des optimisations pour minimiser l'utilisation de la RAM vidéo (VRAM) et intégrer la mise à l'échelle et le masquage.

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

Cette version de Stable Diffusion est un fork - une ramification - du référentiel principal (repo) créé et maintenu par Stability.ai. Il dispose d'une interface utilisateur graphique (GUI) - ce qui le rend plus facile à utiliser que le Stable Diffusion régulier, qui n'a qu'une interface de ligne de commande - et un programme d'installation qui gérera automatiquement la majeure partie de la configuration.

Ce fork contient également diverses optimisations qui devraient lui permettre de fonctionner sur des PC avec moins de RAM, des capacités de mise à l'échelle et faciales intégrées 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'image AI à certaines parties de l'image sans déformer d'autres parties, un processus généralement appelé inpainting.

  • Un minimum de 10 Go d'espace libre sur votre disque dur
  • Un GPU NVIDIA avec 6 Go de RAM (bien que vous puissiez faire fonctionner 4 Go)
  • Un PC exécutant Windows 11, Windows 10, Windows 8.1 ou Windows 8
  • Le référentiel WebUI GitHub, par AUTOMATIC1111
  • Python 3.10.6 (les versions les plus récentes et la plupart des anciennes devraient convenir également)
  • Les points de contrôle officiels de Stable Diffusion (surveillez les points de contrôle de la v1.5 !)
  • Le GFPGAN v1.4 Points de contrôle
  • Tous les modèles ESRGAN supplémentaires que vous pourriez souhaiter. Vous pouvez en utiliser autant ou moins que vous le souhaitez.

Comment installer une diffusion stable avec une interface graphique

Le processus d'installation a été considérablement simplifié, mais il reste encore quelques étapes à effectuer manuellement 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. Dirigez-vous vers ce lien, faites défiler vers le bas de la page et cliquez sur Windows Installer (64 bits).

Cliquez sur l'exécutable que vous avez téléchargé et suivez les invites. Si Python est déjà installé (et c'est certainement le cas), cliquez simplement sur Mettre à niveau. Sinon, suivez les invites recommandées.

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

Vous devez télécharger et installer Git sous 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 à partir du 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 d'archivage de fichiers préféré, puis extrayez le contenu où vous le souhaitez. Gardez simplement à l'esprit que ce dossier est l'endroit où vous devrez vous rendre pour exécuter Stable Diffusion. Cet exemple les a extraits dans le répertoire C:\, mais ce n'est pas essentiel.

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

Il y a quelques points de contrôle dont vous avez besoin pour que cela fonctionne. Les premiers et les plus importants sont les points de contrôle de diffusion stable. Vous devez créer un compte pour télécharger les points de contrôle, mais il n'y a pas grand chose à faire pour le compte - tout ce dont ils ont besoin est un nom et une adresse e-mail, et vous êtes prêt à partir.

Copiez et collez sd-v1-4.ckpt dans le dossier C:\stable-diffusion-webui-master\models\Stable-diffusion, puis cliquez avec le bouton droit sur sd-v1-4.ckpt et appuyez sur renommer . Tapez model.ckpt dans le champ de texte et appuyez sur Entrée. Assurez-vous qu'il s'agit de model.ckpt - cela ne fonctionnera pas autrement.

Vous devez également télécharger les points de contrôle GFPGAN. L'auteur du dépôt que nous utilisons a demandé des points de contrôle GFPGAN v1.4. Faites défiler la page, puis cliquez sur Modèle V1.4.

Placez ce fichier, GFPGANv1.4.pth, dans le dossier stable-diffusion-webui-master, mais ne le renommez pas . Le dossier stable-diffusion-webui-master devrait maintenant contenir ces fichiers :

Vous pouvez également télécharger autant de points de contrôle ESRGAN que vous le souhaitez. Ils sont généralement emballés sous forme de fichiers ZIP. Après en avoir téléchargé un, ouvrez le fichier ZIP, puis extrayez le fichier « .pth » dans le dossier « models/ESRGAN ». Voici un exemple:

Les modèles ESRGAN ont tendance à fournir des fonctionnalités plus spécifiques, alors choisissez-en quelques-unes qui vous plaisent.

Maintenant, il vous suffit de 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 à récupérer tous les autres fichiers importants, à créer un environnement Python et à configurer une interface utilisateur Web. Il ressemblera à ceci:

Quand c'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 à l'aide d'une diffusion stable avec une interface graphique

Très bien, vous avez installé la variante WebUI de Stable Diffusion, et votre console vous indique qu'elle fonctionne sur l'URL locale : http://127.0.0.1:7860.

Ouvrez votre navigateur, entrez 127.0.0.1:7860 ou localhost:7860 dans la barre d'adresse et appuyez sur Entrée. Vous verrez ceci sur l'onglet txt2img :

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 :

  • Invite : la description de ce que vous souhaitez créer.
  • Bouton Palette du peintre : applique un style artistique aléatoire à votre invite.
  • Étapes d'échantillonnage : le nombre de fois où l'image sera affinée avant que vous ne receviez un résultat. Plus, c'est généralement mieux, mais les rendements diminuent.
  • Méthode d'échantillonnage : les mathématiques sous-jacentes qui régissent la manière dont l'échantillonnage est géré. 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 : le nombre de lots. Gardez ceci à 1 sauf si vous avez une énorme quantité de VRAM.
  • Échelle CFG : avec quelle attention Stable Diffusion suivra l'invite que vous lui donnez. Des nombres plus grands signifient qu'il le suit très attentivement, tandis que des nombres plus faibles lui donnent une plus grande liberté de création.
  • Largeur : la largeur de l'image que vous souhaitez générer.
  • Hauteur : la largeur de l'image que vous souhaitez générer.
  • Seed : Le nombre qui fournit une entrée initiale pour un générateur de nombres aléatoires. Laissez-le à -1 pour générer aléatoirement une nouvelle graine.

Générons cinq images basées sur l'invite : une vache des hautes terres dans une forêt magique, photographie de film 35 mm, nette et voyons ce que nous obtenons en utilisant l'échantillonneur PLMS, 50 étapes d'échantillonnage et une échelle CFG de 5.

La fenêtre de sortie ressemblera à ceci :

L'image en haut au milieu est celle que nous utiliserons pour essayer de masquer un peu plus tard. Il n'y a pas vraiment de raison à ce choix spécifique autre que la préférence personnelle. Prenez n'importe quelle image que vous aimez.

Sélectionnez-le, puis cliquez sur Envoyer à Inpaint.

Comment masquer les images que vous créez pour peindre

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

L'inpaint masqué utilisera l'invite pour générer des images dans la zone que vous mettez en surbrillance, tandis que l'inpaint non masqué fera exactement le contraire - seule la zone que vous masquez sera conservée.

Nous allons d'abord parler un peu d'Inpaint masqué. Faites glisser votre souris sur l'image en maintenant le clic gauche 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 entièrement. Vous n'encerclez pas une région, vous masquez toute la région.

Prenons l'exemple de notre vache des hautes terres et donnons-lui une toque de chef. Masquez une région ayant approximativement la forme d'un chapeau de chef et assurez-vous de régler Taille du lot sur plus de 1. Vous aurez probablement besoin de plusieurs pour obtenir un résultat idéal (plutôt).

De plus, vous devez sélectionner Latent Noise plutôt que Fill, Original ou Latent Nothing. Il a tendance à produire les meilleurs résultats lorsque vous souhaitez générer un objet complètement nouveau dans une scène.

D'accord - peut-être qu'un chapeau de chef n'est pas le bon choix pour votre vache des hautes terres. Votre vache des hautes terres est plus dans les vibrations du début du XXe siècle, alors donnons-lui un chapeau melon.

Comment positivement pimpant.

Bien sûr, vous pouvez également faire exactement le contraire avec Inpaint Not Masked. Il est conceptuellement similaire, sauf que les régions que vous définissez sont inversées. Au lieu de marquer la région que vous souhaitez modifier, vous marquez les régions que vous souhaitez conserver. Il est souvent utile lorsque vous souhaitez déplacer un petit objet sur un arrière-plan différent.

Comment réparer 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 générer des images plus petites. La diffusion stable produit de bonnes images, bien que très différentes, à 256 × 256.

Si vous avez envie de créer des images plus grandes 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 la configuration devraient vous aider.

Ouvrez webui-user.bat dans le Bloc-notes ou tout autre éditeur de texte brut de votre choix. Faites un clic droit sur webui-user.bat, cliquez sur Modifier, puis sélectionnez Bloc-notes. Identifiez la ligne qui lit set COMMANDLINE_ARGS=. C'est là que vous allez placer les commandes pour optimiser le fonctionnement de Stable Diffusion.

Si vous voulez simplement faire de grandes images ou si vous manquez de RAM sur un GPU de la série GTX 10XX, essayez d'abord --opt-split-attention . Cela ressemblera à ceci :

Cliquez ensuite sur Fichier > Enregistrer. Alternativement, vous pouvez appuyer sur Ctrl+S sur votre clavier.

Si vous rencontrez toujours des erreurs de mémoire, essayez d'ajouter --medvram à la liste des arguments de ligne de commande (COMMANDLINE_ARGS).

Vous pouvez ajouter --always-batch-cond-uncond pour 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 pourrait réduire encore plus l'utilisation de la VRAM, --lowvram, mais nous ne pouvons pas attester si cela fonctionnera réellement ou non. .

L'ajout d'une interface utilisateur est une étape cruciale pour rendre ces types d'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 dédiées à l'art de l'IA vous montrera à quel point la technologie est puissante, même à ses débuts. Bien sûr, si vous n'avez pas d'ordinateur de jeu ou si vous ne voulez pas vous soucier de la configuration, 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.