gan-interactive-dem / DEPLOYMENT_GUIDE.md
Manuela Larrea
Initial commit: GAN Interactive Demo
29099e4

A newer version of the Gradio SDK is available: 5.49.1

Upgrade

🚀 Guía de Deployment en Hugging Face Spaces

Opción 1: Deployment Automático (Recomendado)

Paso 1: Crear cuenta en Hugging Face

  1. Ve a https://huggingface.co/join
  2. Crea una cuenta gratuita
  3. Verifica tu email

Paso 2: Crear un nuevo Space

  1. Ve a https://huggingface.co/new-space

  2. Configura tu Space:

    • Owner: Tu usuario
    • Space name: gan-interactive-demo (o el nombre que prefieras)
    • License: MIT
    • Select the Space SDK: Gradio
    • Space hardware: CPU basic (gratuito)
    • Visibility: Public
  3. Haz clic en "Create Space"

Paso 3: Subir archivos

Hay dos formas de subir los archivos:

Método A: Interfaz Web (Más fácil)

  1. En tu Space recién creado, haz clic en "Files" → "Add file" → "Upload files"
  2. Arrastra y suelta estos archivos:
    • app.py
    • requirements.txt
    • README.md
    • Carpeta models/ completa (con generator.h5, discriminator.h5, etc.)

Método B: Git (Más profesional)

# Clonar el repositorio del Space
git clone https://huggingface.co/spaces/TU_USUARIO/gan-interactive-demo
cd gan-interactive-demo

# Copiar archivos
cp /home/ubuntu/gan_interactive_demo/app.py .
cp /home/ubuntu/gan_interactive_demo/requirements.txt .
cp /home/ubuntu/gan_interactive_demo/README.md .
cp -r /home/ubuntu/gan_interactive_demo/models .

# Commit y push
git add .
git commit -m "Initial commit: GAN Interactive Demo"
git push

Paso 4: Esperar el build

  • Hugging Face Spaces automáticamente detectará los archivos
  • Instalará las dependencias de requirements.txt
  • Lanzará la aplicación app.py
  • El proceso toma ~2-3 minutos

Paso 5: ¡Listo!

Tu aplicación estará disponible en: https://huggingface.co/spaces/TU_USUARIO/gan-interactive-demo


Opción 2: Deployment Local para Pruebas

Requisitos

pip install -r requirements.txt

Ejecutar localmente

python app.py

La aplicación estará disponible en: http://localhost:7860


Opción 3: Usar Hugging Face CLI

Instalar CLI

pip install huggingface_hub

Login

huggingface-cli login

Crear y subir Space

cd /home/ubuntu/gan_interactive_demo

# Crear Space
huggingface-cli repo create gan-interactive-demo --type space --space_sdk gradio

# Subir archivos
huggingface-cli upload gan-interactive-demo . --repo-type space

Troubleshooting

Error: "No module named 'tensorflow'"

  • Asegúrate de que requirements.txt esté en el directorio raíz
  • Verifica que incluya tensorflow==2.15.0

Error: "Cannot load model"

  • Verifica que la carpeta models/ esté subida correctamente
  • Asegúrate de que contenga:
    • generator.h5
    • discriminator.h5
    • latent_vectors.npy
    • generated_images.npy

La aplicación es muy lenta

  • Considera usar un Space con GPU (requiere suscripción)
  • O reduce el número de vectores latentes pre-calculados en el código

Error de memoria

  • Reduce BATCH_SIZE en el código de entrenamiento
  • Usa menos vectores latentes para visualización (de 1000 a 500)

Configuración Avanzada

Usar GPU en Hugging Face Spaces

  1. Ve a Settings de tu Space
  2. Cambia "Space hardware" a "T4 small" o superior
  3. Nota: Requiere suscripción PRO ($9/mes)

Personalizar la interfaz

Edita app.py y modifica:

  • custom_css: Para cambiar estilos
  • theme=gr.themes.Soft(): Prueba otros temas como Base(), Glass(), Monochrome()
  • Añade más tabs con with gr.Tab("Nombre"):

Optimizar rendimiento

# En app.py, añade cache
@functools.lru_cache(maxsize=100)
def generate_from_latent_index(index):
    # ... código ...

Recursos Adicionales


Compartir con tus Estudiantes

Una vez desplegado, simplemente comparte el URL:

https://huggingface.co/spaces/TU_USUARIO/gan-interactive-demo

Tus estudiantes podrán:

  • ✅ Acceder sin necesidad de cuenta
  • ✅ Usar la aplicación sin instalar nada
  • ✅ Experimentar con la GAN en tiempo real
  • ✅ Ver el código fuente (si el Space es público)

Para la Clase

Antes de la clase:

  1. Despliega la aplicación
  2. Prueba que funcione correctamente
  3. Ten el URL listo para compartir

Durante la clase:

  1. Proyecta la aplicación
  2. Demuestra cada tab interactivamente
  3. Deja que los estudiantes experimenten desde sus dispositivos
  4. Usa la visualización del espacio latente como "momento wow"

Después de la clase:

  • Los estudiantes pueden seguir experimentando
  • Pueden clonar el Space para su proyecto final
  • Pueden modificar el código para sus propias GANs

¡Buena suerte con tu clase! 🎓✨