File size: 7,565 Bytes
8a53057
78ff2f5
 
e0c4be3
8a53057
 
e0c4be3
8a53057
 
e0c4be3
78ff2f5
8a53057
 
78ff2f5
e0c4be3
78ff2f5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
e0c4be3
88080e5
e0c4be3
88080e5
e0c4be3
88080e5
e0c4be3
88080e5
 
 
e0c4be3
88080e5
 
e0c4be3
 
88080e5
e0c4be3
88080e5
 
 
e0c4be3
88080e5
 
e0c4be3
88080e5
 
 
e0c4be3
88080e5
e0c4be3
88080e5
e0c4be3
e592ce2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
e0c4be3
88080e5
e0c4be3
88080e5
e0c4be3
88080e5
e0c4be3
88080e5
 
 
 
 
 
 
e0c4be3
88080e5
8d8ad99
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
88080e5
 
8d8ad99
 
 
 
 
88080e5
 
 
 
8d8ad99
88080e5
 
 
 
8d8ad99
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
88080e5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
e0c4be3
 
 
88080e5
 
 
 
 
e0c4be3
88080e5
e0c4be3
88080e5
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
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
---
title: NTIA Space - Optimizado para H200
emoji: 🚀
colorFrom: indigo
colorTo: red
sdk: gradio
sdk_version: 5.38.2
app_file: app.py
pinned: false
license: mit
short_description: Modelos libres de IA optimizados para ZeroGPU H200
---

# 🚀 NTIA Space - Optimizado para ZeroGPU H200

Este es el repositorio del Space de Hugging Face para NTIA, que proporciona acceso a modelos libres de IA para generación de texto, imágenes y videos **optimizado para ZeroGPU H200** del plan Pro.

## ⚡ Optimizaciones para H200

### **🚀 Rendimiento Optimizado:**
-**Mixed Precision (FP16)** para máxima velocidad
-**XFormers Memory Efficient Attention** habilitado
-**Attention Slicing** para mejor gestión de memoria
-**VAE Slicing** para modelos grandes
-**CUDA Optimizations** (cudnn.benchmark, tf32)

### **🎯 Velocidad H200:**
-**Hasta 10x más rápido** que CPU
-**Generación en segundos** en lugar de minutos
-**Optimizado para modelos grandes** (FLUX, SDXL)
-**Batch processing** para múltiples imágenes

## 🚀 Despliegue Rápido

### Script de Push Automático

Para hacer commits y push rápidos, usa el script `push.ps1`:

```powershell
# Commit con mensaje personalizado
.\push.ps1 "tu mensaje de commit"

# Commit con mensaje por defecto "update"
.\push.ps1
```

### Comandos Manuales

```powershell
# Agregar todos los cambios
git add .

# Commit con mensaje
git commit -m "tu mensaje"

# Push a Hugging Face
git push
```

## 🔧 Configuración

### Variables de Entorno

Para usar modelos gated como **FLUX.1-dev** y **FLUX.1-schnell**, necesitas configurar:

#### 1. Obtener Token de Hugging Face
1. Ve a [Hugging Face Settings](https://huggingface.co/settings/tokens)
2. Crea un nuevo token con permisos de **read**
3. Copia el token generado

#### 2. Configurar Token en el Space
1. Ve a tu Space: https://huggingface.co/spaces/Ntdeseb/ntia
2. Haz clic en **Settings** (⚙️)
3. En la sección **Variables and secrets**
4. Agrega una nueva variable:
   - **Name**: `HF_TOKEN`
   - **Value**: `hf_tu_token_aqui`
   - **Type**: `Secret`5. Guarda los cambios
6. Reinicia el Space

#### 3. Verificar Acceso a Modelos FLUX
1. Ve a [FLUX.1-dev](https://huggingface.co/black-forest-labs/FLUX.1-dev)
2. Haz clic en **Access** para solicitar acceso
3. Acepta los términos de licencia
4. Repite para [FLUX.1-schnell](https://huggingface.co/black-forest-labs/FLUX.1-schnell)

### Dependencias

Ver `requirements.txt` para la lista completa de dependencias.

## 📋 Modelos Disponibles

### Texto
- DialoGPT (Medium, Large, Small)
- GPT-2 (Base, Medium, Large)
- GPT-Neo (125M, 1.3B)
- OPT (125M, 350M)
- BLOOM (560M, 1B1)
- Traductores (ES-EN, EN-ES)

### Imágenes
- Stable Diffusion (v1.4, v1.5, v2.1, SDXL)
- SDXL Turbo (ultra rápido)
- SD Turbo (ultra rápido)
- FLUX.1-dev y FLUX.1-schnell (alta calidad)
- Modelos especializados (Waifu, Realistic Vision, etc.)

### 🎨 Gráficos Vectoriales (NUEVO)
- **SVGDreamer**: Generación de SVG con múltiples estilos
- **Modelos Microsoft**: Especializados para diferentes tipos de gráficos
  - IconGenerator: Iconos vectoriales
  - LogoMaker: Logos corporativos
  - VectorArt: Arte vectorial general
  - IllustrationGen: Ilustraciones editoriales
  - PatternMaker: Patrones vectoriales
  - DiagramGen: Diagramas técnicos
  - ChartMaker: Gráficos de datos
  - FlowchartGen: Diagramas de flujo
  - MindMapGen: Mapas mentales
  - InfographicGen: Infografías
  - PosterMaker: Pósters vectoriales
  - BannerGen: Banners web
  - CardMaker: Tarjetas de presentación
  - BadgeGen: Insignias y premios
  - StickerMaker: Stickers vectoriales
  - EmojiGen: Emojis personalizados
  - IconSetGen: Conjuntos de iconos
  - UIElementGen: Elementos de interfaz

### Videos
- AnimateDiff Lightning (ultra rápido)
- Zeroscope (v2 576w, v2 XL)
- Text-to-Video MS 1.7B (rápido)
- Wan2.1 T2V 14B (alta calidad)
- ModelScope (experimental)

## 🎨 Uso

1. Accede al Space en: https://huggingface.co/spaces/Ntdeseb/ntia
2. Selecciona el tipo de generación (texto, imagen, video, vector)
3. Elige el modelo deseado
4. Ingresa tu prompt
5. ¡Genera contenido!

## 🎨 Uso de Gráficos Vectoriales

### Características Principales
- **Formato SVG**: Gráficos escalables sin pérdida de calidad
- **Múltiples estilos**: iconography, pixel_art, sketch, painting
- **Generación multi-partícula**: Hasta 8 variantes simultáneas
- **Optimizado para ZeroGPU**: Uso eficiente de cuota H200

### Cómo Usar SVGDreamer
1. Ve a la pestaña **"🎨 Gráficos Vectoriales"**
2. Selecciona **"jree423/svgdreamer"** como modelo
3. Escribe tu prompt (ej: "a majestic eagle soaring through clouds")
4. Elige el estilo deseado:
   - **iconography**: Iconos limpios y minimalistas
   - **pixel_art**: Estilo retro con píxeles visibles
   - **sketch**: Dibujo a mano alzada
   - **painting**: Estilo pictórico con pinceladas
5. Ajusta los parámetros:
   - **Partículas**: 1-8 (más = más variantes)
   - **Iteraciones**: 100-1000 (más = mejor calidad)
   - **Guidance scale**: 1.0-15.0 (controla adherencia)
   - **Dimensiones**: 64x64 a 512x512 píxeles
6. Haz clic en **"🎨 Generar Vector"**

### Ejemplos de Prompts
- **Naturaleza**: "ocean waves crashing on rocks"
- **Personajes**: "a friendly robot character"
- **Arte abstracto**: "geometric patterns in bright colors"
- **Elementos corporativos**: "modern company logo with geometric shapes"

### Modelos Especializados
- **IconGenerator**: Para iconos de apps y símbolos
- **LogoMaker**: Para logos corporativos y de marca
- **VectorArt**: Para arte vectorial general
- **IllustrationGen**: Para ilustraciones editoriales
- **PatternMaker**: Para patrones decorativos
- **DiagramGen**: Para diagramas técnicos
- **ChartMaker**: Para gráficos de datos
- **FlowchartGen**: Para diagramas de flujo
- **MindMapGen**: Para mapas mentales
- **InfographicGen**: Para infografías
- **PosterMaker**: Para pósters vectoriales
- **BannerGen**: Para banners web
- **CardMaker**: Para tarjetas de presentación
- **BadgeGen**: Para insignias y premios
- **StickerMaker**: Para stickers vectoriales
- **EmojiGen**: Para emojis personalizados
- **IconSetGen**: Para conjuntos de iconos
- **UIElementGen**: Para elementos de interfaz

### Optimización de Cuota
- **Rápido**: 1 partícula, 100 iteraciones
- **Balanceado**: 4 partículas, 500 iteraciones
- **Alta calidad**: 8 partículas, 1000 iteraciones

## 🔄 Actualizaciones

Para actualizar el Space:

1. Haz tus cambios en el código
2. Usa el script de push: `.\push.ps1 "descripción de cambios"`
3. El Space se actualizará automáticamente en Hugging Face

## 🐛 Solución de Problemas

### FLUX Models
- Los modelos FLUX requieren `sentencepiece` (ya incluido en requirements.txt)
- Configuración optimizada con parámetros recomendados
- Seed aleatorio para generar imágenes diferentes

### Errores Comunes
- **"Cannot instantiate tokenizer"**: Verifica que `sentencepiece` esté instalado
- **"enable_model_cpu_offload requires accelerator"**: Normal en entornos sin GPU
- **"Value not in list of choices"**: Verifica que el modelo esté en la lista de MODELS

## 📝 Logs

El Space incluye logs detallados para debugging:
- Carga de modelos
- Parámetros de generación
- Errores y fallbacks
- Estado de conexión

## 🤝 Contribuciones

1. Fork el repositorio
2. Crea una rama para tu feature
3. Haz tus cambios
4. Usa `.\push.ps1 "descripción"` para commit
5. Crea un Pull Request

## 📄 Licencia

Este proyecto está bajo la licencia MIT.