Comment installer Stable Diffusion 1.5 & 2.1 en local sur un Mac (Apple Silicon M1)
Dans ce guide nous allons voir comment installer Stable Diffusion, ainsi que les modèles 1.5 et 2.1, sur un Mac possédant la puce Silicon M1. Le tout dans un environnement local. Vous n'avez pas besoin de connaissances techniques spécifiques, il vous suffit de suivre notre guide !
Actuellement, la plupart des fonctionnalités de l'interface web fonctionnent correctement sous macOS, les exceptions les plus notables étant l'interrogateur CLIP et la formation. Bien que la formation semble fonctionner, elle est incroyablement lente et consomme une quantité excessive de mémoire. L'interrogateur CLIP peut être utilisé, mais il ne fonctionne pas correctement avec l'accélération GPU utilisée par macOS, de sorte que la configuration par défaut l'exécute entièrement via le CPU (ce qui est lent).
La plupart des échantillonneurs fonctionnent, à l'exception de l'échantillonneur PLMS qui utilise le modèle Stable Diffusion 2.0. Les images générées avec l'accélération GPU sur macOS devraient normalement correspondre ou presque aux images générées sur le CPU avec les mêmes paramètres et la même graine.
Installation automatique
Nouvelle installation :
- Si Homebrew n'est pas installé, ouvrez l'app Terminal sur votre mac, et entrez
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Gardez la fenêtre du terminal ouverte et suivez les instructions sous "Next steps" pour ajouter Homebrew à votre PATH. - Ouvrez une nouvelle fenêtre de terminal et lancez
brew install cmake protobuf rust python@3.10 git wget
et attendez la fin des chargements.
- Clonez le dépôt de l'interface web en exécutant
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
- Placez les modèles/checkpoints de Stable Diffusion que vous souhaitez utiliser dans
stable-diffusion-webui/models/Stable-diffusion
. Si vous n'en avez pas, voir Télécharger les modèles de Stable Diffusion ci-dessous.
Télécharger les modèles de Stable Diffusion
Si vous n'avez pas de modèles à utiliser, les modèles de Stable Diffusion peuvent être téléchargés à partir de Hugging Face ou de Civitai. Pour les télécharger sur Hugging Face, cliquez sur un modèle, puis sur l'en-tête Fichiers et versions
. Recherchez les fichiers portant l'extension ".ckpt" ou ".safetensors", puis cliquez sur la flèche vers le bas à droite de la taille du fichier pour le télécharger.
Les modèles officiels de Stable Diffusion les plus répandus sont les suivants :
- Stable DIffusion 1.4 (sd-v1-4.ckpt)
- Stable Diffusion 1.5 (v1-5-pruned-emaonly.ckpt)
- Stable Diffusion 1.5 Inpainting (sd-v1-5-inpainting.ckpt)
Stable Diffusion 2.0 et 2.1 nécessitent un modèle et un fichier de configuration, et la largeur et la hauteur de l'image doivent être réglées à 768 ou plus lors de la génération des images (pour voir comment utiliser la version 2.1, voir la section de notre guide plus bas) :
Installer un modèle
Pour notre exemple je choisis le modèle runwayml/stable-diffusion-v1-5
sur Hugging Face. Téléchargez le fichier avec ema
et une extension en .ckpt
ou .safetensors
. J'ai aussi téléchargé Deliberate sur Civitai, mais vous pouvez vous contentez de la version v1.5.
Placez ensuite les modèles que vous avez téléchargez dans le dossier stable-diffusion-webui/models/Stable-diffusion
.
Suite de l'installation automatique
Maintenant que vous avez des modèles, vous pouvez continuer l'installation.
Cd stable-diffusion-webui
et ensuite./webui.sh
pour lancer l'interface web. Un environnement virtuel Python sera créé et activé à l'aide de venv et toutes les dépendances manquantes seront automatiquement téléchargées et installées.- Pour relancer le processus de l'interface web plus tard, exécutez à nouveau
./webui.sh
. Notez qu'il n'y a pas de mise à jour automatique de l'interface web ; pour mettre à jour, exécutezgit pull
avant d'exécuter./webui.sh
.
L'installation peut prendre quelques minutes. Vous verrez apparaître Running on local URL:
une fois l'installation terminée. L'URL se trouvant devant, est l'adresse que vous devez coller dans votre navigateur pour accéder à Stable Diffusion.
Utilisation de Stable Diffusion
Entrez l'URL dans votre navigateur et vous pouvez désormais utiliser Stable Diffusion. Si vous avez plusieurs modèles, choisissez en haut à gauche celui à utiliser. Attention, ce n'est pas instantané.
Générer une image avec Stable Diffusion en local
Faisons un test. Utilisez ce prompt : !1970s teenager disorded and messy bedroom, posters on the wall, vinyl records on the floor, old guitar in the corner, day outside of the window courtains, hippy movement, hyperdetailed analog atmospheric natural lighting, sharp focus, concept art trending on artstation by Stephen Darbishire and greg rutkowski and Kilian Eng, cozy atmospheric and cinematic lighting, hyperdetailed, photorealistic, neat and tidy, magical, ambient light, sharp focus
.
Avec ces réglages :
- Seed: Cliquez sur le logo vert
- Dimensions: 512x512
- Sampler: DPM++2M
- Sampling Steps: 30
- CFG Scale: 5
- Model: v1-5
Puis cliquez sur Generate.
Une fois la génération terminée vous pourrez voir le résultat :
Pour d'autres idées de prompt vous pouvez en trouver ici :
Dépannage
L'interface Web ne démarre pas :
Si vous rencontrez des erreurs lorsque vous essayez de démarrer l'interface Web avec ./webui.sh
, essayez de supprimer les dépôts et les dossiers venv de votre dossier stable-diffusion-webui
, puis mettez à jour l'interface Web avec git pull
avant d'exécuter à nouveau ./webui.sh
.
Mauvaise performance :
Actuellement, l'accélération GPU sur macOS utilise beaucoup de mémoire. Si les performances sont médiocres (s'il faut plus d'une minute pour générer une image 512x512 avec 20 pas avec n'importe quel échantillonneur), essayez d'abord de démarrer avec l'option de ligne de commande --opt-split-attention-v1
(c.-à-d. ./webui.sh --opt-split-attention-v1
) et voyez si cela aide. Si cela ne change pas grand-chose, ouvrez l'application Activity Monitor située dans /Applications/Utilitaires
et vérifiez le graphique de la mémoire sous l'onglet Mémoire. Si la pression de la mémoire est affichée en rouge lorsqu'une image est générée, fermez le processus de l'interface Web et ajoutez l'option de ligne de commande --medvram
(c.-à-d. ./webui.sh --opt-split-attention-v1 --medvram
). Si les performances sont toujours médiocres et que la pression mémoire est toujours rouge avec cette option, essayez plutôt --lowvram
(i.e. ./webui.sh --opt-split-attention-v1 --lowvram
). Si la génération d'une image 512x512 avec 20 pas prend toujours plus de quelques minutes avec n'importe quel échantillonneur, il se peut que vous deviez désactiver l'accélération GPU. Ouvrez webui-user.sh
dans Xcode et remplacez #export COMMANDLINE_ARGS=""
par export COMMANDLINE_ARGS="--skip-torch-cuda-test --no-half --use-cpu all"
.
Installer le modèle Stable Diffusion 2.1
Si vous souhaitez utiliser le modèle 2.1 de Stable Diffusion, suivez ces instructions. Rendez vous sur la page du modèle sur Hugging Face :
Et téléchargez v2-1_768-ema-pruned.ckpt. Ensuite téléchargez le fichier .yaml associé ici : https://mega.nz/folder/V55i1CaK#FzP2G5b5aaFTaKtYi5ch6A/file/cg4GlRSL. Ce fichier va aider Stable Diffusion à charger de la bonne façon le modèle 2.1.
Configurer Stable Diffusion 2.1
Placez ensuite les modèles et les fichiers .yaml que vous avez téléchargez dans le dossier stable-diffusion-webui/models/Stable-diffusion
. Renommez le fichier .yaml pour qu'il porte le même nom que votre modèle.
Si Stable Diffusion est toujours ouvert, vous pouvez faire Control+C dans le terminal pour terminer la tâche. Puis relancer avec ./webui.sh --no-half
. Une fois Stable Diffusion de nouveau lancé, retournez sur l'URL et changez le modèle pour la version 2.1.
--no-half
à la fin de la commandeUtiliser Stable Diffusion 2.1
Je fais une génération de test avec le prompt a digital painting of a robot with flowers, cyberpunk art by Mike Winkelmann, cgsociety, panfuturism, made of flowers, dystopian art, vaporwave
.
La génération sera beaucoup plus longue qu'avec le modèle 1.5, il faudra être patient. Mais après plusieurs minutes, voilà le résultat final :
Conclusion
Et voila, vous savez désormais comment installer et utiliser Stable Diffusion 1.5 & 2.1 en local sur un Mac avec processeur M1. Un guide sera bientôt disponible sur notre site pour apprendre à utiliser Stable Diffusion plus en détail.
À voir aussi :