onnx-web
onnx-web está diseñado para simplificar el proceso de ejecución de Stable Diffusion y otros modelos ONNX para que usted pueda concentrarse en crear arte de alta calidad y alta resolución. Con la eficiencia de la aceleración de hardware en las GPU AMD y Nvidia, y al ofrecer un respaldo de software de CPU confiable, ofrece el conjunto completo de funciones en computadoras de escritorio, portátiles y servidores con múltiples GPU con una experiencia de usuario perfecta.
Puede navegar a través de la interfaz de usuario web fácil de usar, alojada en páginas de Github y accesible desde todos los principales navegadores, incluido su dispositivo móvil. Aquí, tiene la flexibilidad de elegir modelos de difusión y aceleradores para cada canal de imágenes, con fácil acceso a los parámetros de imagen que definen cada modo. Ya sea que esté cargando imágenes o expresando su toque artístico mediante pintura interna y externa, onnx-web proporciona un entorno tan fácil de usar como poderoso. Las imágenes de salida recientes se presentan claramente debajo de los controles, lo que sirve como una referencia visual útil para revisar parámetros anteriores o remezclar sus salidas anteriores.
Sumérgete más en la experiencia onnx-web con su API, compatible tanto con Linux como con Windows. Esta interfaz RESTful integra a la perfección varios canales de la biblioteca de difusores HuggingFace, ofreciendo metadatos valiosos sobre modelos y aceleradores, junto con resultados detallados de sus ejecuciones creativas.
Embárquese en su viaje por el arte generativo con onnx-web y explore sus capacidades a través de nuestro sitio de documentación detallada. Encuentre una guía completa de introducción, una guía de configuración y una guía de usuario que le ayudarán a potenciar sus esfuerzos creativos.
Consulte el sitio de documentación para obtener más información:
- guía de introducción
- guía de configuración
- guía de usuario
Características
Esta es una lista incompleta de características nuevas e interesantes:
- Soporta SDXL y SDXL Turbo
- amplia variedad de programadores: DDIM, DEIS, DPM SDE, Euler Ancestral, LCM, UniPC y más
- aceleración de hardware tanto en AMD como en Nvidia
- probado en CUDA, DirectML y ROCm
- soporte de media precisión para GPU con poca memoria tanto en AMD como en Nvidia
- respaldo de software para sistemas solo con CPU
- aplicación web para generar y ver imágenes
- alojado en páginas de Github, desde su CDN o localmente
- conserva tus imágenes recientes y tu progreso a medida que cambias de pestaña
- poner en cola varias imágenes y volver a intentar errores
- traducciones disponibles para inglés, francés, alemán y español (abra una edición para obtener más información)
- Soporta muchas tuberías
diffusers
- txt2img
- img2img
- inpainting, con dibujo de máscara y subir
- panorama, tanto para SD v1.5 como para SDXL
- ampliación, con aceleración ONNX
- agrega y usa tus propios modelos
- convertir modelos de difusores y puntos de control SD
- descargar modelos de HuggingFace hub, Civitai y fuentes HTTPS
- mezclar en redes adicionales
- Mezcla permanente y rápida.
- soporta pesas LoRA y LyCORIS
- admite conceptos e incrustaciones de inversión textual
- cada capa de las incrustaciones se puede controlar y utilizar individualmente
- ControlNet
- filtros de imagen para detección de bordes y otros métodos
- con aceleración ONNX
- modo de alta resolución
- ejecuta img2img en los resultados de los otros pipelines
- múltiples iteraciones pueden producir imágenes de 8k y más grandes
- indicaciones de varias etapas y de región
- combine perfectamente múltiples mensajes en la misma imagen
- proporcionar indicaciones para diferentes áreas de la imagen y combinarlas
- cambiar el mensaje para el modo de alta resolución y refinar los detalles sin recursividad
- longitud infinita del mensaje
- con ponderación rápida larga
- modo de fusión de imágenes
- combinar imágenes de la historia
- ampliación y corrección
- ampliación con Real ESRGAN, SwinIR y Stable Diffusion
- corrección facial con CodeFormer y GFPGAN
- El servidor API se puede ejecutar de forma remota
- La API REST se puede servir a través de HTTPS o HTTP
- procesamiento en segundo plano para todos los canales de imágenes
- sondeo del estado de la imagen, funciona bien con balanceadores de carga
- Contenedores OCI proporcionados
- para todos los aceleradores de hardware compatibles
- incluye el paquete API y GUI en un solo contenedor
- funciona bien en RunPod, Vast.ai y otros servicios de alojamiento de contenedores GPU
Contenido
- onnx-web
- Características
- Contenido
- Configuración
- Agregar tus propios modelos
- Uso
- Errores conocidos y soluciones.
- Ejecutando los contenedores
- Créditos
Configuración
Hay algunas formas de ejecutar onnx-web:
- multiplataforma:
- clonar este repositorio, crear un entorno virtual y ejecutar
pip install
- Tirando y ejecutando los contenedores OCI.
- en Windows:
- clonar este repositorio y ejecutar uno de los scripts
setup-*.bat
- descargue y ejecute el paquete todo en uno experimental
Sólo necesita ejecutar el servidor y no debería necesitar compilar nada. La GUI del cliente está alojada en Github Pages y se incluye con el paquete todo en uno de Windows.
Los documentos de configuración ampliados se han trasladado a la guía de configuración.
Agregar tus propios modelos
Puede agregar sus propios modelos descargándolos de HuggingFace Hub o Civitai o convirtiéndolos desde archivos locales, sin realizar ningún cambio en el código. También puede descargar y combinar redes adicionales, como LoRA e inversiones textuales, utilizando tokens en el mensaje.
Uso
Errores conocidos y soluciones.
Consulte la sección Errores conocidos de la guía del usuario.
Ejecutando los contenedores
Esto se ha trasladado a la guía de administración del servidor.
Créditos
Parte del código de conversión y canalización se copió o derivó del código en:
-
Amblyopius/Stable-Diffusion-ONNX-FP16
- GPL v3: https://github.com/Amblyopius/Stable-Diffusion-ONNX-FP16/blob/main/LICENSE
- https://github.com/Amblyopius/Stable-Diffusion-ONNX-FP16/blob/main/pipeline_onnx_stable_diffusion_controlnet.py
- https://github.com/Amblyopius/Stable-Diffusion-ONNX-FP16/blob/main/pipeline_onnx_stable_diffusion_instruct_pix2pix.py
-
d8ahazard/sd_dreambooth_extension
- Licencia no comercial: https://github.com/d8ahazard/sd_dreambooth_extension/blob/main/license.md
- https://github.com/d8ahazard/sd_dreambooth_extension/blob/main/dreambooth/sd_to_diff.py
-
huggingface/diffusers
- Apache v2: https://github.com/huggingface/diffusers/blob/main/LICENSE
- https://github.com/huggingface/diffusers/blob/main/scripts/convert_stable_diffusion_checkpoint_to_onnx.py
-
uchuusen/onnx_stable_diffusion_controlnet
- GPL v3: https://github.com/uchuusen/onnx_stable_diffusion_controlnet/blob/main/LICENSE
-
uchuusen/pipeline_onnx_stable_diffusion_instruct_pix2pix
- Apache v2: https://github.com/uchuusen/pipeline_onnx_stable_diffusion_instruct_pix2pix/blob/main/LICENSE
Esas partes tienen sus propias licencias con restricciones adicionales sobre uso comercial, modificación y redistribución. El resto del proyecto se proporciona bajo la licencia MIT y estoy trabajando para aislar estos componentes en una biblioteca.
Hay muchas otras buenas opciones para usar Stable Diffusion con aceleración de hardware, que incluyen:
- https://github.com/Amblyopius/AMD-Stable-Diffusion-ONNX-FP16
- https://github.com/azuritecoin/OnnxDiffusersUI
- https://github.com/ForserX/StableDiffusionUI
- https://github.com/pingzing/stable-diffusion-playground
- https://github.com/quickwick/stable-diffusion-win-amd-ui
Configurar y ejecutar esta configuración en AMD no habría sido posible sin las guías de:
- https://gist.github.com/harishanand95/75f4515e6187a6aa3261af6ac6f61269
- https://gist.github.com/averad/256c507baa3dcc9464203dc14610d674
- https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Install-and-Run-on-AMD-GPUs
- https://www.travelneil.com/stable-diffusion-updates.html