ИзображенияSherstnev
Visage-Image
компактная text-to-image модель для лиц
2 мин чтения
Visage-Image — небольшая text-to-image модель от Sherstnev для генерации лиц в разрешении 256px. Внутри single-stream rectified-flow DiT на 236.8M параметров, VAE на 128.4M и замороженный текстовый энкодер на первых 8 слоях Qwen3-0.6B. Код и веса открыты под Apache-2.0.
⚙ Ключевые особенности
- 🎨 Генерация лиц 256px: модель не задумана как универсальный text-to-image.
- ⚙ Single-stream rectified-flow DiT: текст и изображение идут одной последовательностью с общими весами.
- 🔎 VAE на 128.4M с ViT-декодером: латент 16×16×96, без KL, с DINOv2-выравниванием.
- 🧑💻 PyPI-пакет
visage-imageи ноды ComfyUI для загрузки, энкодинга, сэмплинга и декодинга. - 🚀 Обучение на одной RTX 5090 32 GB заняло около 23 GPU-часов.
🧑💻 Пример
from visage import load_dit, load_text_encoder, load_vae, sample
from torchvision.utils import save_image
prompt = 'a young woman with long red hair and freckles'
text, mask = load_text_encoder()([prompt] * 4)
latents = sample(load_dit(), text, mask, seed=0)
images = load_vae().decode(latents).float()
save_image((images + 1) / 2, 'visage.png', nrow=4, padding=0)
Подробнее
VAE: PSNR 38.69 против 38.67 у FLUX.2 (ничья), iFID 17.96 против 21.99, но rFID хуже — 1.77 против 0.93.DiT: held-out FID 22.04, attribute benchmark 77.0% на шаге 222k.
Обучение: VAE ~10.5 ч, DiT ~12.5 ч; всего ~23 GPU-часов на RTX 5090 32 GB.
Ограничения: только лица 256px; VAE не держит 512px; поза, взгляд и эмоции следуют промпту менее надёжно.
Имена публичных людей не воспроизводятся: каждый seed даёт другого человека.
Комментарии
Без регистрации: достаточно имени.