chore: auto-commit (95 archivos)

- cmd/fn/doctor.go
- cmd/fn/main.go
- cpp/apps/primitives_gallery/playground/tables/CMakeLists.txt
- cpp/apps/primitives_gallery/playground/tables/data_table.cpp
- cpp/apps/primitives_gallery/playground/tables/data_table_logic.cpp
- cpp/apps/primitives_gallery/playground/tables/data_table_logic.h
- cpp/apps/primitives_gallery/playground/tables/self_test.cpp
- cpp/apps/primitives_gallery/playground/tables/tql.cpp
- cpp/apps/primitives_gallery/playground/tables/viz.cpp
- cpp/apps/primitives_gallery/playground/tables/viz.h
- ...

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-13 00:50:34 +02:00
parent a2bbf23374
commit e3c8979e8d
189 changed files with 18964 additions and 330 deletions
@@ -0,0 +1,55 @@
"""diffusers_load_lora — carga un adaptador LoRA en un pipeline diffusers."""
from __future__ import annotations
import sys
import os
from typing import Any
sys.path.insert(0, os.path.dirname(__file__))
from lora_ref import LoraRef
def diffusers_load_lora(pipe: Any, lora: LoraRef) -> Any:
"""Carga un adaptador LoRA en un pipeline diffusers y ajusta su peso de fusion.
Usa pipe.load_lora_weights(lora.path) para cargar los pesos del adaptador.
Si lora.weight != 1.0, aplica set_adapters(['default'], adapter_weights=[w])
para escalar la contribucion del LoRA. Modifica el pipe in-place y retorna
el mismo objeto para composicion.
Args:
pipe: Pipeline diffusers cargado. Debe soportar load_lora_weights
(StableDiffusionPipeline, StableDiffusionXLPipeline, etc.).
lora: Referencia al adaptador LoRA. lora.path apunta al archivo
.safetensors o directorio del adaptador. lora.weight controla
la intensidad de fusion (1.0 = peso completo, 0.0 = sin efecto).
Returns:
El mismo pipe con el LoRA cargado y el peso de fusion aplicado.
Raises:
ImportError: Si diffusers no esta instalado.
OSError: Si lora.path no existe o el formato del archivo es invalido.
"""
try:
import diffusers # noqa: F401 — verificar disponibilidad
except ImportError as exc:
raise ImportError(
"diffusers_load_lora requiere diffusers. "
"Instalar con: pip install diffusers"
) from exc
pipe.load_lora_weights(lora.path)
if lora.weight != 1.0:
# set_adapters acepta lista de nombres y lista de pesos.
# El nombre "default" es el que diffusers asigna al primer LoRA cargado.
if hasattr(pipe, "set_adapters"):
pipe.set_adapters(["default"], adapter_weights=[lora.weight])
elif hasattr(pipe, "fuse_lora"):
# Fallback para versiones antiguas de diffusers
pipe.fuse_lora(lora_scale=lora.weight)
return pipe