Maintenant, certains d'entre nous n'ont pas de GPU haut de gamme. C'est bien. Nous pouvons exécuter Stable Diffusion sur nos CPU.
Ceci est une implémentation incroyablement basique de Stable Diffusion, ne vous attendez pas à des fonctionnalités de pointe.
Si vous avez un GPU compatible avec 2-4 Go de VRAM ou plus, essayez le guide Voldy.
Pour la plupart des usages, il peut être plus pratique d'utiliser un service web ou un collab pour Stable Diffusion.
Mais il y a quelque chose de spécial à pouvoir générer sur votre propre humble CPU.
Tous les crédits vont à bes-dev et rpyth
- Fonctionnalités
Txt2img/img2img
Prompts négatifs
Mise en file d'attente des prompts
Upscaling
Support de Waifu Diffusion
- Exigences minimales :
Windows/Linux
Python 3.8.+ (inclus dans Miniconda)
CPU compatible avec OpenVINO (la plupart des CPU)
8 Go de RAM (à peine suffisant, 16 Go+ recommandé)
- Quelle est la vitesse ?
Ce n'est peut-être pas aussi rapide qu'un GPU dédié en raison des goulots d'étranglement de la vitesse de la mémoire, mais ce n'est pas non plus lent.
Pour tout CPU des 10 dernières années, y compris ceux des ordinateurs portables, cela ne devrait pas prendre beaucoup plus de quelques minutes par résultat 512x.
Le framework openVINO est incroyablement optimisé et rapide, surtout pour les CPU Intel, et tirera le maximum de potentiel de votre matériel.
Guide
Étape 1. Installez Git si vous ne l'avez pas déjà.
-Lors de l'installation, assurez-vous de sélectionner l'intégration de l'Explorateur Windows > Git Bash.
Étape 2. (W10) Appuyez sur la touche Windows + I pour ouvrir votre panneau de configuration et recherchez « Mode développeur », en l'activant on.
Étape 3. Téléchargez Miniconda ICI. Téléchargez Miniconda 3.
-Installez Miniconda à l'emplacement par défaut. Installez pour tous les utilisateurs.
Étape 4. Clonez le dépôt.
-Cliquez avec le bouton droit dans l'emplacement souhaité et sélectionnez 'Git Bash ici'.
-Entrez git clone https://github.com/bes-dev/stable_diffusion.openvino.
Alternativement, vous pouvez le télécharger en tant que .zip Ici et extraire.
Étape 5. Ouvrez l'invite de commande Anaconda (miniconda3).
Naviguez vers le /stable-diffusion-v1-4-openvino où que vous l'ayez téléchargé en utilisant « cd » pour changer de dossier.
(Ou tapez simplement « cd » suivi d'un espace, puis faites glisser le dossier dans l'invite Anaconda.)
Étape 6. Entrez les commandes suivantes dans Miniconda pour configurer votre environnement :
conda create --name vin python=3.9 pip
conda activate vin
conda install pip
pip install -r requirements.txt
pip install Pillow pyyaml sv-ttk
Attendez patiemment pendant que les ressources nécessaires sont installées, cela peut prendre un certain temps.
Étape 7. Téléchargez les scripts pyGUI.
Extrayez et copiez tous les fichiers dans votre dossier principal /stable-diffusion-v1-4-openvino et cliquez sur remplacer pour tout conflit de fichiers.
Étape 8. Téléchargez le scaler RealESRGAN (version linux).
Dézippez et placez le dossier à l'intérieur /stable-diffusion-v1-4-openvino.
Et c'est fait
Utilisation
1. Ouvrez l'invite Miniconda et naviguez vers /stable-diffusion-v1-4-openvino comme précédemment.
2. Tapez conda activate vin (Vous devrez faire cela chaque fois que vous exécutez le script).
3. Tapez python pygui.py.
CONFIGURATION INITIAL
Allez dans Paramètres -> Configurer dans l'interface graphique.
-Cliquez sur [?] pour ouvrir l'explorateur de fichiers et liez l'exécutable RealESRGAN en cliquant sur 'ouvrir'.
-Liez votre fichier demo.py du dossier openvino de la même manière.
-Ajoutez le chemin vers votre exécutable Python, cela devrait être C:\ProgramData\Miniconda3\python.exe.
-Cliquez sur enregistrer.
Génération
- Allez dans Queue -> Ajouter un élément pour entrer un nouveau prompt.
- Ou Queue -> Restaurer un élément pour charger votre dernier prompt entré.
Prompt : Mots-clés décrivant ce que vous voulez, soyez descriptif pour de meilleurs résultats.
Unprompt : Mots-clés décrivant ce que vous ne voulez pas dans votre image.
Sortie : Chemin de sortie et nom de votre sortie .png.
Image : Img2Img, sélectionnez un fichier image pour créer des variantes de celle-ci.
Étapes : Combien d'itérations doivent être effectuées pour la sortie. Plus = mieux. 35-55 est le point idéal. >75 est excessif.
Seed : Seed pour la sortie, aléatoire par défaut.
Upscale : Choisissez comment vous souhaitez que votre image soit mise à l'échelle.
Config : Enregistrez les informations sur votre sortie.
Liens/Notes
- Si vous obtenez des erreurs de version Python avec 3.10 et que vous ne voulez pas avoir d'installations conflictuelles, essayez la version portable Winpython 3.9.
- Vous pouvez mettre en file d'attente Plusieurs prompts différents à exécuter les uns après les autres.
Cela peut être très pratique car vous n'avez pas besoin d'attendre qu'une sortie se termine pour entrer un nouveau prompt.
- Si vous ne sélectionnez pas de dossier de sortie, ils seront sortis dans /appdata/local/tmp. Cliquez sur 'enregistrer sous' pour ne pas les perdre.
- Si vos sorties sont ou deviennent anormalement lentes (10-15+ minutes),
il est probable que votre limite de RAM ait été dépassée et que SD utilise la partition d'échange sur votre disque comme RAM de fortune. (Problème courant avec 8 Go).
Fermez tous les autres programmes et libérez plus de mémoire.
- Stable Diffusion openVINO Github
- Page Stable Diffusion openVINO
- Page Litechan
- Scaler Progrock (compatible avec openVINO)
–VITESSE PAR RÉSULTAT–
(Intel(R) Core(TM) i5-8279U) 7.4 s/it 3.59 min
(AMD Ryzen Threadripper 1900X) 5.34 s/it 2.58 min
(Intel(R) Xeon(R) Gold 6154 CPU) 1 s/it 33 s