generadorLetras / README.md
jruaechalar's picture
Upload README.md with huggingface_hub
b371b91 verified
metadata
title: Generador de Letras con Difusión
emoji: 🔤
colorFrom: blue
colorTo: green
sdk: gradio
app_file: app.py
pinned: false
license: mit
tags:
  - diffusion
  - letters
  - alphabet
  - image-generation
  - pytorch

Generador de Letras con Modelo de Difusión

Este modelo utiliza un UNet condicionado por clase para generar letras del abecedario (A-Z) en imágenes de 512x512 píxeles en escala de grises.

Características del Modelo

  • 26 clases: Una para cada letra del abecedario (A-Z)
  • Resolución: 512x512 píxeles
  • Canales: 1 canal (escala de grises)
  • Arquitectura: UNet2D con condicionamiento por clase
  • Parámetros: 63,153,745 parámetros totales

Uso del Modelo

from diffusers import DDPMScheduler
import torch

# Cargar el modelo
model = LetterConditionedUnet(num_classes=26, class_emb_size=8)
model.load_state_dict(torch.load("pytorch_model.bin"))

# Crear scheduler
scheduler = DDPMScheduler.from_pretrained("./", subfolder="scheduler")

# Generar una letra (ejemplo: letra 'A' = clase 0)
device = "cuda" if torch.cuda.is_available() else "cpu"
model = model.to(device)

# Ruido inicial
x = torch.randn(1, 1, 512, 512, device=device)
labels = torch.tensor([0], device=device)  # 0 = 'A', 1 = 'B', etc.

# Proceso de denoising
for t in scheduler.timesteps:
    with torch.no_grad():
        residual = model(x, t, labels)
        x = scheduler.step(residual, t, x).prev_sample

# La imagen generada está en x

Entrenamiento

El modelo fue entrenado en el dataset jruaechalar/letrasPlantilla que contiene imágenes de letras del abecedario con sus respectivas etiquetas.

Licencia

MIT License