Shakker-Labs/FLUX.1-dev-ControlNet-Depth
Shakker-Labs
Texto a imagen
ControlNet de profundidad para FLUX.1-dev, entrenado conjuntamente por InstantX Team y Shakker Labs para generar imágenes condicionadas por mapas de profundidad. El modelo usa Depth-Anything-V2 para extraer los mapas de profundidad y está pensado para controlar la estructura espacial de la imagen generada manteniendo la capacidad de generación de FLUX.1-dev.
Como usar
Instalación y uso básico con Diffusers:
pip install -U diffusers transformers accelerate
import torch
from diffusers import DiffusionPipeline
# switch to "mps" for apple devices
pipe = DiffusionPipeline.from_pretrained("Shakker-Labs/FLUX.1-dev-ControlNet-Depth", dtype=torch.bfloat16, device_map="cuda")
prompt = "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k"
image = pipe(prompt).images[0]
Ejemplo de inferencia con FLUX.1-dev como modelo base y una imagen de control de profundidad:
import torch
from diffusers.utils import load_image
from diffusers import FluxControlNetPipeline, FluxControlNetModel
base_model = "black-forest-labs/FLUX.1-dev"
controlnet_model = "Shakker-Labs/FLUX.1-dev-ControlNet-Depth"
controlnet = FluxControlNetModel.from_pretrained(controlnet_model, torch_dtype=torch.bfloat16)
pipe = FluxControlNetPipeline.from_pretrained(
base_model, controlnet=controlnet, torch_dtype=torch.bfloat16
)
pipe.to("cuda")
control_image = load_image("https://huggingface.co/Shakker-Labs/FLUX.1-dev-ControlNet-Depth/resolve/main/assets/cond1.png")
prompt = "an old man with white hair"
image = pipe(prompt,
control_image=control_image,
controlnet_conditioning_scale=0.5,
width=control_image.size[0],
height=control_image.size[1],
num_inference_steps=24,
guidance_scale=3.5,
).images[0]
Funcionalidades
- Modelo de texto a imagen con ControlNet de profundidad para FLUX.1-dev.
- Arquitectura compuesta por 4 FluxTransformerBlock y 1 FluxSingleTransformerBlock.
- Entrenado con datos de imágenes reales y generadas durante 70.000 pasos en 16 GPU A800.
- Resolución de entrenamiento de 1024 y tamaño de lote efectivo de 64.
- Tasa de aprendizaje de 5e-6.
- Escala recomendada de controlnet_conditioning_scale entre 0.3 y 0.7.
- Distribuido en formato Safetensors y compatible con Diffusers.
Casos de uso
- Generación de imágenes a partir de texto con control explícito de profundidad.
- Mantener la composición, perspectiva y estructura espacial de una escena durante la generación.
- Usar mapas de profundidad como condición para transformar bocetos, renders o imágenes base en nuevas imágenes generadas.
- Flujos locales con Diffusers, Draw Things o DiffusionBee para creación visual controlada.