ABDALLALSWAITI/FLUX.1-dev-ControlNet-Union-Pro-2.0-fp8

ABDALLALSWAITI
Texto a imagen

Versión cuantizada en FP8 del modelo Shakker-Labs/FLUX.1-dev-ControlNet-Union-Pro-2.0 para generación de imágenes con FLUX.1-dev y ControlNet. No es un fine-tune nuevo: es una cuantización directa desde BFloat16 a FP8 E4M3 con PyTorch para reducir memoria y acelerar inferencia, preservando la funcionalidad del modelo original.

Como usar

import torch
from diffusers.utils import load_image
from diffusers import FluxControlNetPipeline, FluxControlNetModel

base_model = 'black-forest-labs/FLUX.1-dev'
controlnet_model_union_fp8 = 'ABDALLALSWAITI/FLUX.1-dev-ControlNet-Union-Pro-2.0-fp8'

# Load using FP8 data type
controlnet = FluxControlNetModel.from_pretrained(controlnet_model_union_fp8, torch_dtype=torch.float8_e4m3fn)
pipe = FluxControlNetPipeline.from_pretrained(base_model, controlnet=controlnet, torch_dtype=torch.bfloat16)
pipe.to("cuda")

# replace with other conds
control_image = load_image("./conds/canny.png")
width, height = control_image.size

prompt = "A young girl stands gracefully at the edge of a serene beach..."

image = pipe(
    prompt,
    control_image=control_image,
    width=width,
    height=height,
    controlnet_conditioning_scale=0.7,
    control_guidance_end=0.8,
    num_inference_steps=30,
    guidance_scale=3.5,
    generator=torch.Generator(device="cuda").manual_seed(42),
).images[0]

Parámetros recomendados: canny y soft edge usan escala 0.7 y fin de guía 0.8; depth usa escala 0.8 y fin 0.8; pose usa escala 0.9 y fin 0.65; gray usa escala 0.9 y fin 0.8. Se recomienda usar prompts detallados y, en algunos casos, múltiples condiciones.

Funcionalidades

Generación texto-a-imagen condicionada con ControlNet sobre FLUX.1-dev.
Cuantización FP8 E4M3 mediante `torch.float8_e4m3fn`.
Tamaño aproximado 50% menor que la versión BFloat16/FP16 original.
Soporta modos de control canny, soft edge, depth, pose y gray.
Puede combinarse con otros ControlNets y con múltiples condiciones.
ControlNet con 6 bloques dobles, 0 bloques simples y sin mode embedding.
Mejoras declaradas frente a la versión Union-Pro anterior en canny y pose, con mejor control y estética.
Licencia no comercial `flux-1-dev-non-commercial-license`.
No está desplegado en proveedores de inferencia de Hugging Face en la página indicada.

Casos de uso

Generar imágenes con FLUX.1-dev manteniendo control estructural mediante mapas canny, profundidad, pose, soft edge o escala de grises.
Reducir consumo de VRAM frente a la versión BFloat16 del ControlNet original.
Probar inferencia más rápida en hardware compatible con FP8.
Usar varios ControlNets o varias imágenes de condición en flujos de generación avanzada.
Crear imágenes guiadas por pose humana, bordes o profundidad con mejor control visual que un prompt aislado.