Guide de bout en bout pour la diffusion stable – De Noob à Expert
Je me suis intéressé à l'utilisation de la SD pour générer des images destinées à des applications militaires. La plupart des ressources proviennent des forums NSFW de 4chan, car les anons utilisent SD pour créer du hentai. Fait intéressant, le SD WebUI canonique a des fonctionnalités intégrées avec des tableaux d'images anime/hentai... L'un des premiers cas d'utilisation de SD juste après DALL-E générait des anime girls, donc le passage au hentai n'est pas surprenant.
Quoi qu’il en soit, les techniques de ces cinglés sont applicables à une variété d’applications, plus particulièrement les LoRA, qui sont comme des ajusteurs de modèles. L'idée est de travailler avec des LoRA spécifiques (par exemple, des véhicules militaires, des avions, des armes, etc.) pour générer des données d'images synthétiques pour l'entraînement des modèles de vision. La formation de nouvelles LoRA utiles présente également un intérêt. Les éléments ultérieurs peuvent inclure l'inpainting pour la perturbation.
Avis de non-responsabilité et sources
Every link here may contain NSFW content, as most of the cutting-edge work on SD and LoRAs is with porn or hentai. So, please be wary when you are working with these resources. ALSO, Rentry.org pages are the main resources linked to in this guide. If any of the rentry pages do not work, change the .org to .co and the link should work. Otherwise, use the Wayback machine.
-TP
Jouez avec !
Que pouvez-vous réellement faire avec SD ? Huggingface et quelques autres ont des applications dans le navigateur pour vous. Jouez avec eux pour voir la puissance ! Ce que nous allons faire dans ce guide, c'est obtenir l'interface Web complète et extensible pour nous permettre de faire tout ce que nous voulons.
- Huggingface Texte à Image SD Playground
- Application Dreamstudio Texte en image SD
- Application Dezgo Texte en image SD
- Huggingface Image à Image SD Playground
- Terrain de jeu de peinture Huggingface
Table des matières
- Bases de l'interface utilisateur Web
- Configurer l'utilisation du GPU local
- Configuration Linux
- Aller plus loin
- Invite
- Modèle NovelAI
- LoRA
- Jouer avec des modèles
- Les VAE
- Rassemblez tout cela
- Le processus général de DD
- Enregistrement des invites
- Paramètres txt2img
- Régénération d'une image générée précédemment
- Dépannage des erreurs
- Être à l'aise
- Essai
- Interface utilisateur Web avancée
- Modification rapide
- Xformers
- Img2Img
- Peinture
- Suppléments
- Réseaux de contrôle
- Créer de nouvelles choses (WIP)
- Fusion de points de contrôle
- LoRA de formation
- Formation de nouveaux modèles
- Configuration de Google Colab (WIP)
- À mi-parcours
- Paramètres MJ
- Invites avancées MJ
- DreamStudio (WIP)
- Horde stable (WIP)
- DreamBooth (en cours)
- Diffusion vidéo (WIP)
Bases de l'interface utilisateur Web
C'est un peu intimidant de se lancer dans ce domaine... mais 4channers a fait du bon travail en rendant cela accessible. Vous trouverez ci-dessous les étapes que j'ai suivies, dans les termes les plus simples. Votre intention est de faire fonctionner l'interface Web de diffusion stable (construite avec Gradio) localement afin que vous puissiez commencer à demander et à créer des images.
Configurer l'utilisation du GPU local
Nous effectuerons la configuration de Google Colab Pro plus tard, afin que nous puissions exécuter SD sur n'importe quel appareil où nous le souhaitons ; mais pour commencer, commençons par configurer WebUI sur un PC. Vous avez besoin de 16 Go de RAM, d’un GPU avec 2 Go de VRAM, de Windows 7+ et de 20+ Go d’espace disque.
- Terminez le guide de configuration de démarrage
- J'ai suivi cela jusqu'à l'étape 7, après quoi cela passe au hentai.
- L'étape 3 prend 15 à 45 minutes en moyenne, car les modèles font plus de 5 Go chacun.
- L'étape 7 peut prendre plus d'une demi-heure et peut sembler « bloquée » dans la CLI
- À l'étape 3, j'ai téléchargé SD1.5, pas les versions 2.x, car la version 1.5 produit de bien meilleurs résultats.
- CivitAI possède tous les modèles SD ; c'est comme HuggingFace mais pour SD spécifiquement
- Vérifiez que la WebUI fonctionne
- Copiez l'URL générée par la CLI une fois terminée, par exemple
127.0.0.1:7860
(n'utilisez PAS Ctrl + C car cette commande peut fermer la CLI) - Collez dans le navigateur et voilà ; essayez une invite et vous partez pour les courses
- Les images seront automatiquement enregistrées une fois générées dans
stable-diffusion-webuioutputstxt2img-images
- N'oubliez pas que pour mettre à jour, ouvrez simplement une CLI dans le dossier stable-diffusion-webui et entrez la commande
git pull
Configuration Linux
Ignorez cela complètement si vous avez Windows. J'ai également réussi à le faire fonctionner sous Linux, même si c'est un peu plus compliqué. J'ai commencé par suivre ce guide, mais il est plutôt mal écrit, voici donc les étapes que j'ai suivies pour le faire fonctionner sous Linux. J'utilisais Linux Mint 20, qui est une distribution Ubuntu 20.
- Commencez par cloner le dépôt webui :
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
- Obtenez un modèle SD (par exemple, SD 1.5, comme dans la section précédente)
- Placez le fichier ckpt du modèle dans
stable-diffusion-webui/models/Stable-diffusion
- Téléchargez Python (si vous ne l'avez pas déjà) :
sudo apt install python3 python3-pip python3-virtualenv wget git
- Et la WebUI est très particulière, nous devons donc installer Conda, un gestionnaire d'environnement virtuel, pour travailler à l'intérieur de :
wget https://repo.anaconda.com/miniconda/Minconda3-latest-Linux-x86_64.sh
chmod +x Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
- Créez maintenant l'environnement :
conda create --name sdwebui python=3.10.6
- Activer l'environnement :
conda activate sdwebui
- Accédez à votre dossier WebUI et tapez
./webui.sh
- Il devrait s'exécuter un peu jusqu'à ce que vous obteniez une erreur indiquant que vous ne pouvez pas accéder à CUDA/votre GPU... c'est bien, car c'est notre prochaine étape
- Commencez par effacer tous les pilotes Nvidia existants :
sudo apt update
sudo apt purge *nvidia*
- Maintenant, en suivant en quelque sorte quelques extraits de ce guide, découvrez le GPU de votre machine Linux (le moyen le plus simple de le faire est d'ouvrir l'application Driver Manager et votre GPU sera répertorié ; mais il existe une douzaine de façons, il suffit de le rechercher sur Google)
- Allez sur cette page et cliquez sur "Latest New Feature Branch" sous Linux x86_64 (pour moi, c'était 530.xx.xx)
- Cliquez sur l'onglet « Produits pris en charge » et Ctrl + F pour trouver votre GPU ; s'il est répertorié, continuez, sinon revenez en arrière et essayez « Dernière version de la branche de production » ; notez le numéro, par exemple 530
- Dans un terminal, tapez :
sudo add-apt-repository ppa:graphics-drivers/ppa
- Mettre à jour avec
sudo apt-get update
- Lancez l'application Driver Manager et vous devriez en voir une liste ; ne sélectionnez PAS celui recommandé (par exemple, nvidia-driver-530-open), sélectionnez celui exact précédemment (par exemple, nvidia-driver-530) et appliquez les modifications ; OU, installez-le dans le terminal avec
sudo apt-get install nvidia-driver-530
- À CE POINT, vous devriez obtenir une fenêtre contextuelle via votre CLI à propos du démarrage sécurisé, vous demandant un mot de passe à 8 chiffres : définissez-le et notez-le.
- Redémarrez votre PC et avant votre cryptage/connexion utilisateur, vous devriez voir un écran de type BIOS (j'écris ceci de mémoire) avec une option pour saisir une clé MOK ; cliquez dessus et entrez votre mot de passe, puis soumettez et démarrez ; quelques infos ici
- Connectez-vous comme d'habitude et tapez la commande
nvidia-smi
; en cas de succès, il devrait imprimer un tableau ; sinon, il dira quelque chose comme "Impossible de se connecter au GPU ; veuillez vous assurer que le pilote le plus récent est installé". - Maintenant, installez CUDA (la dernière commande ici devrait imprimer des informations sur votre nouvelle installation CUDA) ; de ce guide :
sudo apt update
sudo apt install apt-transport-https ca-certificates gnupg
sudo apt install nvidia-cuda-toolkit
nvcc-version
- Revenez maintenant en arrière et effectuez les étapes 7 à 9 ; si vous obtenez cette "ERREUR : Impossible d'activer python venv, abandon...", passez à l'étape suivante (sinon, vous partez pour les courses et copierez l'adresse IP de la CLI comme d'habitude et pourrez commencer à jouer avec SD)
- Ce problème Github a un dépannage pour ce problème venv... pour moi, ce qui a fonctionné était en cours d'exécution
python3 -c 'import venv'
python3 -m venv venv/
Et puis allez dans le dossier /stable-diffusion-webui
et exécutez :
rm -rf venv/
python3 -m venv venv/
Après cela, cela a fonctionné pour moi.
Aller plus loin
- Renseignez-vous sur les techniques d'incitation, car il y a beaucoup de choses à savoir (par exemple, invite positive ou invite négative, étapes d'échantillonnage, méthode d'échantillonnage, etc.)
- Guide du manuel d'invites OpenArt
- Guide d'invite SD définitif
- Un guide d'incitation succinct
- Conseils d'invite 4chan (NSFW)
- Collection d'invites et d'images
- Guide d'invite étape par étape pour Anime Girl
- Renseignez-vous sur les connaissances SD en général :
- Publication sur la diffusion stable séminale
- CompVis / Stability AI Github (accueil des modèles SD originaux)
- Compendium de diffusion stable (bonne ressource extérieure)
- Hub de liens de diffusion stables (incroyable ressource 4chan)
- Mine d'or à diffusion stable
- SD Goldmine simplifiée
- Aléatoire/Divers. Liens SD
- FAQ (NSFW)
- Une autre FAQ
- Rejoignez le Discord de diffusion stable
- Tenez-vous au courant de l’actualité de Stable Diffsion
- Saviez-vous qu'à partir de mars 2023, un modèle de diffusion texte vers vidéo de 1,7 milliard de paramètres est disponible ?
- Jouez dans le WebUI, jouez avec différents modèles, paramètres, etc.
Invite
L'ordre des mots dans une invite a un effet : les mots précédents sont prioritaires. La structure générale d'une bonne invite, à partir d'ici :
Et un autre bon guide dit que l'invite doit suivre cette structure :