logo
pub

Ajustando tu propio Flux Dev LoRA con Flux AI

Resumen: Ajustando Flux AI con LoRA

¿Quieres crear modelos de imagen personalizados? Puedes hacerlo usando LoRA de Flux AI. Es súper potente para representar texto con precisión, composiciones complejas y anatomía realista. Aquí te cuento cómo puedes ajustar con tus propias imágenes. Puedes seguirlo aquí.

Pasos para Ajustar tu LoRA de Flux Dev

Paso 1: Prepara tus Imágenes de Entrenamiento

Reúne unas cuantas imágenes (5-6 si los temas son simples, más si son complejos).

  • Directrices:
    • Las imágenes deben centrarse en el tema.
    • JPEG o PNG está bien. Las dimensiones y los nombres de archivo no importan.
    • No uses imágenes de otras personas sin su permiso.
  • Comprime tus imágenes:
    zip -r data.zip data
    
  • Sube tu archivo zip a un lugar que se pueda acceder públicamente, como S3 o GitHub Pages.

Paso 2: Configura tu Token de API de Replicate

Consigue tu token de API de replicate.com/account y configúralo en tu entorno:

export REPLICATE_API_TOKEN=tu_token

Paso 3: Crea un Modelo en Replicate

Visita replicate.com/create para configurar tu modelo. Puedes hacerlo público o privado.

Paso 4: Comienza el Entrenamiento

Usa Python para iniciar el proceso de entrenamiento. Primero, instala el paquete de Python de Replicate:

pip install replicate

Luego, crea tu trabajo de entrenamiento:

import replicate

training = replicate.trainings.create(
    version="ostris/flux-dev-lora-trainer",
    input={
        "input_images": "https://tu-url-de-subida/data.zip",
    },
    destination="tu-usuario/tu-modelo"
)
print(training)

Opciones de Ajuste

  • Rostros: Agrega esta línea para centrarte en rostros:
    "use_face_detection_instead": True,
    
  • Estilo: Ajusta las tasas de aprendizaje para los estilos:
    "lora_lr": 2e-4,
    "caption_prefix": 'Al estilo de XYZ,',
    

Monitorea Tu Entrenamiento

Verifica el progreso de tu entrenamiento en replicate.com/trainings o de manera programática:

training.reload()
print(training.status)

Ejecutando Tu Modelo Entrenado

Después del entrenamiento, puedes correr el modelo a través del sitio web de Replicate o usando la API:

output = replicate.run(
    "tu-usuario/tu-modelo:versión",
    input={"prompt": "una foto de XYZ montando un unicornio arcoíris"},
)

Cómo Funciona el Ajuste

Tus imágenes pasan por un preprocesamiento:

  • SwinIR: Aumenta la escala de las imágenes.
  • BLIP: Crea descripciones textuales.
  • CLIPSeg: Elimina regiones no importantes.

Puedes revisar más en el README del modelo SDXL.

Uso Avanzado: Integración con Diffusers

Carga los pesos entrenados en Diffusers:

from diffusers import DiffusionPipeline
pipe = DiffusionPipeline.from_pretrained('stabilityai/stable-diffusion-xl-base-1.0')
pipe.unet.load_state_dict(torch.load("ruta-a-los-pesos-unet.pth"))
# Ahora puedes generar imágenes
pipe(prompt="Una foto de <s0>").images[0].save("output.png")

Preguntas Frecuentes

¿Puedo usar LoRA para múltiples conceptos?

Sí, LoRA puede manejar múltiples conceptos, lo que la hace versátil.

¿LoRA es mejor para estilos o rostros?

LoRA destaca en estilos, pero puede tener problemas con rostros.

¿Cuántas imágenes necesito?

Se recomiendan un mínimo de 10 imágenes.

¿Dónde puedo subir mi LoRA entrenada?

Puedes subirla a un repositorio de Hugging Face.