- Article sur Stable Diffusion implémenté en pur C/C++ et sur le modèle de machine learning
- Implémentation basée sur ggml, avec un mode de fonctionnement similaire à llama.cpp
- Prise en charge des flottants 16 bits et 32 bits, ainsi que de la quantification entière en 4 bits, 5 bits et 8 bits
- Implémentation économe en mémoire et optimisée pour l’inférence sur CPU, nécessitant environ 2,3 Go pour générer une image 512x512 avec
txt2img
- Prise en charge de AVX, AVX2 et AVX512 pour l’architecture x86
- Implémentation des modes
txt2img et img2img d’origine, avec un tokenizer de style stable-diffusion-webui inclus
- La méthode d’échantillonnage utilisée est Euler A
- Implémentation compatible avec les plateformes Linux, Mac OS et Windows
- Améliorations prévues : davantage de méthodes d’échantillonnage, prise en charge du GPU, inférence plus rapide, réduction de l’usage mémoire, prise en charge de LoRA, prise en charge de k-quants et reproductibilité multiplateforme
- Article fournissant des instructions détaillées sur l’obtention du code, la conversion des poids, la compilation et l’exécution de l’implémentation
- Implémentation prenant en charge divers formats de modèles en sortie, dont les flottants 16 bits, les flottants 32 bits et différentes quantifications entières
- Article proposant des exemples d’utilisation de l’implémentation pour les modes
txt2img et img2img
- Les besoins en mémoire et en espace disque varient selon la précision utilisée, mais pour une image 512x512, la mémoire requise se situe entre environ 2,0 Go et 2,8 Go
- Implémentation basée sur plusieurs références, dont ggml, stable-diffusion, stable-diffusion-webui et k-diffusion
Aucun commentaire pour le moment.