- Stable Diffusion implementado en C/C++ puro, artículo sobre el modelo de machine learning
- Implementación basada en ggml, con un modo de funcionamiento similar a llama.cpp
- Soporta cuantización de enteros de 4, 5 y 8 bits, además de float de 16 y 32 bits
- Implementación eficiente en memoria y optimizada para inferencia en CPU; requiere alrededor de 2.3 GB al generar imágenes de 512x512 usando txt2img
- Soporte para AVX, AVX2 y AVX512 en arquitectura x86
- Implementa los modos originales txt2img e img2img, e incluye un tokenizador estilo stable-diffusion-webui
- El método de muestreo utilizado es Euler A
- Implementación compatible con las plataformas Linux, Mac OS y Windows
- Mejoras futuras contempladas: más métodos de muestreo, soporte para GPU, inferencia más rápida, menor uso de memoria, soporte para LoRA, soporte para k-quants y reproducibilidad entre plataformas
- Artículo con instrucciones detalladas sobre cómo obtener el código, convertir los pesos, compilar y ejecutar la implementación
- Implementación con soporte para varios formatos de modelo de salida, incluidos punto flotante de 16 bits, punto flotante de 32 bits y varias cuantizaciones enteras
- El artículo ofrece ejemplos de uso de la implementación para los modos txt2img e img2img
- Los requisitos de memoria y disco varían según la precisión utilizada, pero para imágenes de 512x512 el uso de memoria va aproximadamente de 2.0 GB a 2.8 GB
- Implementación basada en varias referencias, incluidas ggml, stable-diffusion, stable-diffusion-webui y k-diffusion
Aún no hay comentarios.