Diffusers documentation
Resumen
Resumen
🤗 Diffusers ofrece una colección de scripts de entrenamiento para que puedas entrenar tus propios modelos de difusión. Puedes encontrar todos nuestros scripts de entrenamiento en diffusers/examples.
Cada script de entrenamiento es:
- Autónomo: el script de entrenamiento no depende de ningún archivo local y todos los paquetes necesarios para ejecutar el script se instalan desde el archivo
requirements.txt. - Fácil de ajustar: los scripts de entrenamiento son un ejemplo de cómo entrenar un modelo de difusión para una tarea específica y no funcionarán tal cual para cada escenario de entrenamiento. Es probable que necesites adaptar el script de entrenamiento a tu caso de uso específico. Para ayudarte con eso, hemos expuesto por completo el código de preprocesamiento de datos y el bucle de entrenamiento para que puedas modificarlo según tus necesidades.
- Fácil de usar para principiantes: los scripts de entrenamiento están diseñados para ser accesibles y fáciles de entender, en lugar de incluir los métodos más avanzados del estado del arte para obtener los mejores resultados más competitivos. Los métodos de entrenamiento que consideramos demasiado complejos se excluyen deliberadamente.
- De un solo propósito: cada script de entrenamiento está diseñado expresamente para una única tarea, con el fin de mantenerlo legible y comprensible.
Nuestra colección actual de scripts de entrenamiento incluye:
| Entrenamiento | Soporte para SDXL | Soporte para LoRA |
|---|---|---|
| generación de imágenes incondicional | ||
| texto a imagen | 👍 | 👍 |
| inversión textual | ||
| DreamBooth | 👍 | 👍 |
| ControlNet | 👍 | |
| InstructPix2Pix | 👍 | |
| Diffusión personalizada | ||
| T2I-Adapters | 👍 | |
| Kandinsky 2.2 | 👍 |
Estos ejemplos se mantienen activamente, así que no dudes en abrir un issue si no funcionan como se espera. Si crees que debería incluirse otro ejemplo de entrenamiento, estamos encantados de que inicies una Feature Request para discutir tu idea de funcionalidad con nosotros y evaluar si cumple nuestros criterios de ser autocontenido, fácil de ajustar, apto para principiantes y de un solo propósito.
Instalación
Asegúrate de poder ejecutar correctamente las últimas versiones de los scripts de ejemplo instalando la biblioteca desde el código fuente en un nuevo entorno virtual:
git clone https://github.com/huggingface/diffusers
cd diffusers
pip install .Luego, navega a la carpeta del script de entrenamiento (por ejemplo, DreamBooth) e instala el archivo requirements.txt. Algunos scripts de entrenamiento tienen un archivo de requisitos específico para SDXL o LoRA. Si usas uno de estos scripts, asegúrate de instalar su archivo de requisitos correspondiente.
cd examples/dreambooth
pip install -r requirements.txt
# to train SDXL with DreamBooth
pip install -r requirements_sdxl.txtPara acelerar el entrenamiento y reducir el uso de memoria, recomendamos:
- usar PyTorch 2.0 o superior para utilizar automáticamente scaled dot product attention durante el entrenamiento (no es necesario realizar ningún cambio en el código de entrenamiento)
- instalar xFormers para habilitar una atención eficiente en memoria