Diffusers documentation
Aperçu
Aperçu
🤗 Diffusers fournit une collection de scripts d'entraînement pour vous permettre d'entraîner vos propres modèles de diffusion. Vous trouverez tous nos scripts d'entraînement dans diffusers/examples.
Chaque script d'entraînement est :
- Autonome : le script d'entraînement ne dépend d'aucun fichier local et tous les paquets nécessaires à son exécution sont installés depuis le fichier
requirements.txt. - Facile à adapter : les scripts d’entraînement illustrent comment entraîner un modèle de diffusion pour une tâche spécifique et ne fonctionneront pas tels quels pour tous les scénarios d’entraînement. Vous devrez probablement adapter le script d’entraînement à votre cas d’usage particulier. Pour vous y aider, nous avons entièrement exposé le code de prétraitement des données et la boucle d’entraînement afin que vous puissiez les modifier pour votre propre usage.
- Accessible aux débutants : les scripts d’entraînement sont conçus pour être accessibles et faciles à comprendre, plutôt que d’intégrer les méthodes les plus récentes de l’état de l’art afin d’obtenir les meilleurs résultats les plus compétitifs. Toute méthode d’entraînement que nous jugeons trop complexe est volontairement exclue.
- À usage unique : chaque script d’entraînement est expressément conçu pour une seule tâche afin de rester lisible et compréhensible.
Notre collection actuelle de scripts d'entraînement comprend :
| Entraînement | Prise en charge de SDXL | Prise en charge de LoRA |
|---|---|---|
| génération d'images non conditionnelle | ||
| texte-vers-image | 👍 | 👍 |
| inversion textuelle | ||
| DreamBooth | 👍 | 👍 |
| ControlNet | 👍 | |
| InstructPix2Pix | 👍 | |
| Diffusion personnalisée | ||
| T2I-Adapters | 👍 | |
| Kandinsky 2.2 | 👍 |
Ces exemples sont activement maintenus, n’hésitez donc pas à ouvrir un ticket s’ils ne fonctionnent pas comme prévu. Si vous pensez qu’un autre exemple d’entraînement devrait être inclus, vous êtes plus que bienvenus pour ouvrir une Feature Request afin de discuter de votre idée de fonctionnalité avec nous et de vérifier qu’elle répond à nos critères d’être autonome, facile à modifier, accessible aux débutants et à usage unique.
Installer
Assurez-vous de pouvoir exécuter avec succès les dernières versions des scripts d'exemple en installant la bibliothèque à partir du code source dans un nouvel environnement virtuel :
git clone https://github.com/huggingface/diffusers
cd diffusers
pip install .Puis accédez au dossier du script d’entraînement (par exemple, DreamBooth) et installez le fichier requirements.txt. Certains scripts d’entraînement disposent d’un fichier de dépendances spécifique pour SDXL ou LoRA. Si vous utilisez l’un de ces scripts, assurez-vous d’installer le fichier de dépendances correspondant.
cd examples/dreambooth
pip install -r requirements.txt
# to train SDXL with DreamBooth
pip install -r requirements_sdxl.txtPour accélérer l’entraînement et réduire l’utilisation de la mémoire, nous recommandons :
- utiliser PyTorch 2.0 ou supérieur pour utiliser automatiquement scaled dot product attention pendant l’entraînement (aucune modification du code d’entraînement n’est nécessaire)
- l'installation de xFormers pour activer une attention efficace en mémoire