ntia / README.md
Ntdeseb's picture
Agregar funcionalidad de gráficos vectoriales SVG con SVGDreamer y modelos Microsoft
8d8ad99

A newer version of the Gradio SDK is available: 5.44.1

Upgrade
metadata
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:

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

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

Comandos Manuales

# 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
  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
  2. Haz clic en Access para solicitar acceso
  3. Acepta los términos de licencia
  4. Repite para 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.