AI Toolkit de Ostris: Difusión estable con FLUX.1 Kit de herramientas de formación de modelos
Últimos recursos sobre IAPublicado hace 5 meses Círculo de intercambio de inteligencia artificial 1.7K 00
Introducción general
AI Toolkit de Ostris es un conjunto de herramientas de IA de código abierto centrado en los modelos Stable Diffusion y FLUX.1 para tareas de entrenamiento y generación de imágenes. Creado y mantenido por el desarrollador Ostris y alojado en GitHub, el kit de herramientas tiene como objetivo proporcionar una plataforma flexible para que investigadores y desarrolladores ajusten y experimenten con modelos. Contiene una serie de scripts de IA que admiten funciones como la extracción de LoRA, la generación de imágenes por lotes y el entrenamiento específico de capas. El proyecto se encuentra actualmente en fase de desarrollo y es posible que algunas de las funciones no sean lo suficientemente estables, pero su gran capacidad de personalización lo hace adecuado para usuarios avanzados en el campo del aprendizaje profundo. El conjunto de herramientas es compatible con sistemas Linux y Windows, y se requiere una GPU Nvidia con al menos 24 GB de memoria de vídeo para ejecutar el entrenamiento del modelo FLUX.1.

Lista de funciones
- formación de modelos:: Admite el ajuste fino de los modelos Stable Diffusion y FLUX.1 para el entrenamiento de los modelos LoRA y LoKr.
- Generación de imágenesGeneración de imágenes por lotes a partir de perfiles o mensajes de texto.
- Extracción y optimización de LoRA: Proporcionar herramientas de extracción LoRA y LoCON para optimizar la extracción de características del modelo.
- Entrenamiento específico por capasCapas de la red neuronal: se pueden seleccionar capas específicas de la red neuronal para el entrenamiento y los pesos se pueden ajustar con flexibilidad.
- Interfaz de usuarioInterfaz de usuario: Proporciona la interfaz de usuario de AI Toolkit y Gradio para simplificar la gestión de tareas y las operaciones de formación de modelos.
- Tratamiento del conjunto de datos: Ajusta automáticamente la resolución de las imágenes y las agrupa por cubos, admitiendo una amplia gama de formatos de imagen.
- Formación en la nube: Soporte para ejecutar tareas de entrenamiento en las plataformas RunPod y Modal.
Utilizar la ayuda
Proceso de instalación
Instalación del sistema Linux
- almacén de clonesEjecute el siguiente comando en el terminal para descargar el código:
git clone https://github.com/ostris/ai-toolkit.git
cd ai-toolkit
- Actualización de submódulos: Asegúrese de que todas las bibliotecas dependientes están completas:
git submodule update --init --recursive
- Creación de un entorno virtualUtilice Python 3.10 o posterior:
python3 -m venv venv
source venv/bin/activate
- Instalación de dependenciasInstala PyTorch primero, luego las otras dependencias:
pip3 install torch
pip3 install -r requirements.txt
Instalación del sistema Windows
- almacén de clonesEjecutar en el símbolo del sistema:
git clone https://github.com/ostris/ai-toolkit.git
cd ai-toolkit
- Actualización de submódulos:
git submodule update --init --recursive
- Creación de un entorno virtual:
python -m venv venv
.\venv\Scripts\activate
- Instalación de dependenciasInstale la versión de PyTorch compatible con CUDA 12.4 y, a continuación, instale las demás dependencias:
pip install torch==2.5.1 torchvision==0.20.1 --index-url https://download.pytorch.org/whl/cu124
pip install -r requirements.txt
Instalación de la interfaz de usuario
- Instalación de Node.jsAsegúrese de que Node.js 18 o posterior está instalado en su sistema.
- Construir la interfaz de usuario: Entra en el directorio ui e instala las dependencias:
cd ui
npm install
npm run build
npm run update_db
- Ejecutar la interfaz de usuarioPantalla de inicio:
npm run start
- Acceso a la IUEscriba en su navegador
http://localhost:8675
.
Funciones principales
Entrenamiento del modelo FLUX.1
- Preparar el entornoAsegúrese de que la GPU tiene al menos 24 GB de memoria de vídeo, si se utiliza para la salida de pantalla, configúrelo en el archivo de configuración.
low_vram: true
para cuantificar el modelo en la CPU. - Configuración de FLUX.1-dev:
- Conéctate a Hugging Face y visitablack-forest-labs/FLUX.1-devy acepta la licencia.
- En el directorio raíz del proyecto, cree el archivo
.env
añada el campoHF_TOKEN=你的读取密钥
.
- Configurar FLUX.1-schnell:
- Edite el archivo de configuración (por ejemplo
train_lora_flux_schnell_24gb.yaml
), añade:model: name_or_path: "black-forest-labs/FLUX.1-schnell" assistant_lora_path: "ostris/FLUX.1-schnell-training-adapter" is_flux: true quantize: true sample: guidance_scale: 1 sample_steps: 4
- Preparación del conjunto de datosCrear en el directorio raíz
dataset
en la carpeta.jpg
y.jpeg
tal vez.png
imagen y la correspondiente.txt
Describe el expediente. - Editar archivo de configuración: Reproducción
config/examples/train_lora_flux_24gb.yaml
hastaconfig
y cámbiele el nombre amy_config.yml
Modificacionesfolder_path
es la ruta del conjunto de datos. - entrenamiento de running:: Implementación:
python run.py config/my_config.yml
Los resultados del entrenamiento se guardan en la carpeta de salida especificada y pueden pausarse con Ctrl+C y reanudarse desde el punto de control más reciente.
Formación con Gradio UI
- Conectarse a Hugging Face: Correr
huggingface-cli login
Las entradas tienenwrite
La llave del privilegio. - Iniciar interfaz de usuario:: Implementación:
python flux_train_ui.py
- Operación UI: Cargue imágenes, rellene descripciones, establezca parámetros y haga clic en formación en la interfaz, y después podrá publicar el modelo LoRA una vez finalizado.
Entrenamiento en la nube (RunPod)
- Creación de una instancia de RunPodUso de plantillas
runpod/pytorch:2.2.0-py3.10-cuda12.1.1-devel-ubuntu22.04
Elige A40 (48 GB de memoria de vídeo). - Juego de herramientas de instalaciónConéctese a Jupyter Notebook y ejecute el comando de instalación de Linux en el terminal.
- Cargar conjuntos de datosCrear en el directorio raíz
dataset
carpeta, arrastre las imágenes y los archivos de descripción. - Configurar y ejecutarModifica el archivo de configuración del
folder_path
Aplicaciónpython run.py config/my_config.yml
.
Preparación del conjunto de datos
- Requisitos de formato: Apoyo
.jpg
y.jpeg
y.png
el archivo de descripción es.txt
Los nombres de los archivos deben ser coherentes (p. ej.image1.jpg
contrapartidasimage1.txt
). - Descripción:
.txt
Escriba la descripción en el[trigger]
tal y como se define en el archivo de configuracióntrigger_word
Sustitución. - ajuste automáticoLa herramienta reduce y agrupa automáticamente las imágenes en función de la resolución configurada.
Entrenamiento específico por capas
- Editar archivo de configuraciónEn
network
Parcialmente añadido:
network:
type: "lora"
linear: 128
linear_alpha: 128
network_kwargs:
only_if_contains:
- "transformer.single_transformer_blocks.7.proj_out"
- "transformer.single_transformer_blocks.20.proj_out"
- entrenamiento de running: Se inicia con un archivo de configuración modificado, entrenando sólo la capa especificada.
advertencia
- Interrupción de la formaciónEvita pulsar Ctrl+C mientras guardas los puntos de control para evitar corromper el archivo.
- Seguridad de la interfaz de usuarioActualmente, la interfaz de usuario sólo se ha probado en Linux, que es menos seguro y no se recomienda exponerlo a la red pública.
- Obtener ayudaPuede unirse a la comunidad de Discord de Ostris para hacer preguntas y evitar los mensajes privados directos a los desarrolladores.
© declaración de copyright
El artículo está protegido por derechos de autor y no debe reproducirse sin autorización.
Puestos relacionados
Sin comentarios...