
Un projet de scripts Python simples et efficaces pour générer des images avec Stable Diffusion, spécifiquement optimisé pour les GPU AMD sous Windows grâce à DirectML.
Ce projet permet aux utilisateurs de cartes graphiques AMD de profiter de la génération d'images sans matériel NVIDIA, en proposant des scripts pour différentes versions de Stable Diffusion.
- 🚀 Compatible AMD : Utilise DirectML pour exploiter votre GPU AMD.
- 🐍 Simple Python : Des scripts uniques, faciles à comprendre et à modifier.
- 🎨 Multi-Modèles : Inclus des scripts pour Stable Diffusion 1.5 et 2.1.
- 💾 Optimisé pour les faibles VRAM : Fonctionne sur des cartes avec 6 Go de VRAM ou plus.
- 🖼️ Facile à Personnaliser : Modifiez les prompts, la taille, et d'autres paramètres en quelques secondes.
- Windows 10 ou 11
- Python 3.9 ou plus récent
- Un GPU AMD avec les pilotes Adrenalin à jour
- Git (pour cloner le dépôt)
Suivez ces étapes pour configurer l'environnement et installer les dépendances.
-
Cloner ce dépôt
git clone https://github.com/laurentvv/amd-ai-image-generator.git cd amd-ai-image-generator -
Créer un environnement virtuel (fortement recommandé)
python -m venv .venv .\.venv\Scripts\activate
-
Installer les dépendances Vous pouvez installer les dépendances manuellement ou utiliser le fichier
requirements.txtinclus.Avec
requirements.txt(recommandé) :pip install -r requirements.txt
Ou manuellement :
pip install optimum[onnxruntime] onnxruntime-directml diffusers transformers accelerate
Choisissez le script correspondant au modèle que vous souhaitez utiliser.
Idéal pour des générations rapides et des styles artistiques variés.
python generate_sd15.py- Modèle utilisé :
CompVis/stable-diffusion-v1-4 - Résolution par défaut : 512x512
- Fichier de sortie :
output_sd15.png
Parfait pour des images plus réalistes et plus détaillées.
python generate_sd21.py- Modèle utilisé :
RedbeardNZ/stable-diffusion-2-1-base(miroir communautaire) - Résolution par défaut : 768x768
- Fichier de sortie :
output_sd21.png
Note : La première exécution de chaque script téléchargera et convertira son modèle respectif. Soyez patient, les prochaines fois seront beaucoup plus rapides.
Vous pouvez facilement modifier l'un ou l'autre des scripts pour changer la sortie.
prompt: La description de l'image que vous voulez générer.negative_prompt: Ce que vous voulez éviter dans l'image.width&height: La résolution (respectez 512x512 pour SD 1.5 et 768x768 pour SD 2.1 pour de meilleurs résultats).num_inference_steps: Nombre d'étapes de génération (entre 20 et 50 est un bon point de départ).guidance_scale: À quel point le modèle doit suivre le prompt (entre 7 et 10 est courant).
- Les
TracerWarninget[W:onnxruntime:...]dans la console sont des messages normaux et n'indiquent pas d'erreur. - Les messages
Some nodes were not assigned to the preferred execution providerssignifient que le système optimise intelligemment en envoyant les calculs lourds au GPU AMD et les petites tâches au CPU.
Ce projet est rendu possible grâce au travail incroyable de la communauté open-source :
- Hugging Face Diffusers
- Optimum
- Stability AI
- RedbeardNZ (pour le miroir du modèle SD 2.1)
- laurentvv (pour le projet original)
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.