Spaces:
Sleeping
Sleeping
File size: 4,851 Bytes
29099e4 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 |
# 🚀 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)
```bash
# 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
```bash
pip install -r requirements.txt
```
### Ejecutar localmente
```bash
python app.py
```
La aplicación estará disponible en: `http://localhost:7860`
---
## Opción 3: Usar Hugging Face CLI
### Instalar CLI
```bash
pip install huggingface_hub
```
### Login
```bash
huggingface-cli login
```
### Crear y subir Space
```bash
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
```python
# En app.py, añade cache
@functools.lru_cache(maxsize=100)
def generate_from_latent_index(index):
# ... código ...
```
---
## Recursos Adicionales
- **Documentación de Gradio**: https://gradio.app/docs/
- **Hugging Face Spaces Docs**: https://huggingface.co/docs/hub/spaces
- **Ejemplos de Spaces**: https://huggingface.co/spaces
---
## 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! 🎓✨
|