onnx-web
onnx-web est conçu pour simplifier le processus d'exécution de Stable Diffusion et d'autres modèles ONNX afin que vous puissiez vous concentrer sur la création d'art de haute qualité et haute résolution. Grâce à l'efficacité de l'accélération matérielle sur les GPU AMD et Nvidia et à une solution de repli logicielle fiable pour le processeur, il offre l'ensemble des fonctionnalités sur les ordinateurs de bureau, les ordinateurs portables et les serveurs multi-GPU avec une expérience utilisateur transparente.
Vous pouvez naviguer dans l'interface utilisateur Web conviviale, hébergée sur les pages Github et accessible sur tous les principaux navigateurs, y compris votre appareil mobile préféré. Ici, vous avez la possibilité de choisir des modèles de diffusion et des accélérateurs pour chaque pipeline d'images, avec un accès facile aux paramètres d'image qui définissent chaque mode. Que vous téléchargiez des images ou exprimiez votre touche artistique par le biais de l'inpainting et de l'outpainting, onnx-web offre un environnement aussi convivial que puissant. Les images de sortie récentes sont soigneusement présentées sous les commandes, servant de référence visuelle pratique pour revoir les paramètres précédents ou remixer vos sorties précédentes.
Plongez plus profondément dans l'expérience onnx-web avec son API, compatible avec Linux et Windows. Cette interface RESTful intègre de manière transparente divers pipelines de la bibliothèque de diffuseurs HuggingFace, offrant des métadonnées précieuses sur les modèles et les accélérateurs, ainsi que des sorties détaillées de vos exécutions créatives.
Embarquez pour votre voyage artistique génératif avec onnx-web et explorez ses capacités grâce à notre site de documentation détaillée. Trouvez un guide de démarrage complet, un guide de configuration et un guide de l'utilisateur qui vous attendent pour dynamiser vos efforts créatifs !
Veuillez consulter le site de documentation pour plus d'informations :
- guide de démarrage
- guide de configuration
- guide d'utilisation
Caractéristiques
Ceci est une liste incomplète de fonctionnalités nouvelles et intéressantes :
- prend en charge SDXL et SDXL Turbo
- grande variété de planificateurs : DDIM, DEIS, DPM SDE, Euler Ancestral, LCM, UniPC, etc.
- accélération matérielle sur AMD et Nvidia
- testé sur CUDA, DirectML et ROCm
- prise en charge de demi-précision pour les GPU à faible mémoire sur AMD et Nvidia
- solution logicielle de secours pour les systèmes à processeur uniquement
- application Web pour générer et visualiser des images
- hébergé sur les pages Github, depuis votre CDN ou localement
- conserve vos images récentes et votre progression lorsque vous changez d'onglet
- mettre plusieurs images en file d'attente et réessayer les erreurs
- traductions disponibles pour l'anglais, le français, l'allemand et l'espagnol (veuillez ouvrir un numéro pour en savoir plus)
- prend en charge de nombreux pipelines
diffusers
- txt2img
- img2img
- inpainting, avec dessin de masque et téléchargement
- panorama, pour SD v1.5 et SDXL
- mise à l'échelle, avec l'accélération ONNX
- ajoutez et utilisez vos propres modèles
- convertir des modèles à partir de diffuseurs et de points de contrôle SD
- télécharger des modèles à partir du hub HuggingFace, de Civitai et des sources HTTPS
- se fondre dans des réseaux supplémentaires
- mélange permanent et rapide
- prend en charge les poids LoRA et LyCORIS
- prend en charge les concepts et les intégrations d'inversion textuelle
- chaque couche des intégrations peut être contrôlée et utilisée individuellement
- ContrôleNet
- filtres d'image pour la détection des contours et d'autres méthodes
- avec accélération ONNX
- mode haute résolution
- exécute img2img sur les résultats des autres pipelines
- plusieurs itérations peuvent produire des images 8k et plus
- invites multi-étapes et régionales
- combinez de manière transparente plusieurs invites dans la même image
- fournir des invites pour différentes zones de l'image et les mélanger
- modifiez l'invite pour le mode haute résolution et affinez les détails sans récursion
- longueur d'invite infinie
- avec une longue pondération rapide
- mode de fusion d'images
- combiner des images de l'histoire
- mise à l'échelle et correction
- mise à l'échelle avec Real ESRGAN, SwinIR et Stable Diffusion
- correction du visage avec CodeFormer et GFPGAN
- Le serveur API peut être exécuté à distance
- L'API REST peut être servie via HTTPS ou HTTP
- traitement en arrière-plan pour tous les pipelines d'images
- interroger l'état de l'image, fonctionne bien avec les équilibreurs de charge
- Conteneurs OCI fournis
- pour tous les accélérateurs matériels pris en charge
- inclut à la fois l'API et l'interface graphique dans un seul conteneur
- fonctionne bien sur RunPod, Vast.ai et d'autres services d'hébergement de conteneurs GPU
Contenu
- onnx-web
- Caractéristiques
- Contenu
- Installation
- Ajouter vos propres modèles
- Usage
- Erreurs connues et solutions
- Exécution des conteneurs
- Crédits
Installation
Il existe plusieurs façons d'exécuter onnx-web :
- multiplateforme :
- clonez ce référentiel, créez un environnement virtuel et exécutez
pip install
- extraire et exécuter les conteneurs OCI
- sous Windows :
- clonez ce référentiel et exécutez l'un des scripts
setup-*.bat
- téléchargez et exécutez le pack expérimental tout-en-un
Il vous suffit d'exécuter le serveur et vous n'avez pas besoin de compiler quoi que ce soit. L'interface graphique du client est hébergée sur les pages Github et est incluse dans le package Windows tout-en-un.
Les documents de configuration étendue ont été déplacés vers le guide de configuration.
Ajouter vos propres modèles
Vous pouvez ajouter vos propres modèles en les téléchargeant depuis HuggingFace Hub ou Civitai ou en les convertissant à partir de fichiers locaux, sans apporter de modifications au code. Vous pouvez également télécharger et intégrer des réseaux supplémentaires, tels que les LoRA et les inversions textuelles, en utilisant des jetons dans l'invite.
Usage
Erreurs connues et solutions
Veuillez consulter la section Erreurs connues du guide de l'utilisateur.
Exécution des conteneurs
Ceci a été déplacé vers le guide d'administration du serveur.
Crédits
Une partie du code de conversion et du pipeline a été copiée ou dérivée du code dans :
-
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
- Licence non commerciale : 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
Ces parties ont leurs propres licences avec des restrictions supplémentaires sur l'utilisation commerciale, la modification et la redistribution. Le reste du projet est fourni sous licence MIT, et je travaille à isoler ces composants dans une bibliothèque.
Il existe de nombreuses autres bonnes options pour utiliser Stable Diffusion avec l’accélération matérielle, notamment :
- 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
La configuration et l'exécution de cette configuration sur AMD n'auraient pas été possibles sans les guides suivants :
- 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