Stable Diffusion Webgpu - ai tOOler
Menu Fermer
Stable Diffusion Webgpu
☆☆☆☆☆
Images (372)

Stable Diffusion Webgpu

Images créées sur le web en utilisant Stable Diffusion.

Visiter l'outil

Prix de départ Gratuit

Informations sur l'outil

La démo Stable Diffusion WebGPU est un outil en ligne pratique qui vous aide à générer des images facilement en utilisant simplement votre navigateur web.

Cette application web est construite sur le framework create-react-app et repose sur JavaScript pour fonctionner. Pour commencer, assurez-vous d'utiliser la dernière version de Chrome et que JavaScript est activé. Vous devrez également activer quelques fonctionnalités expérimentales : "WebAssembly expérimental" et "Intégration de promesse JavaScript WebAssembly expérimentale (JSPI)" dans les paramètres de votre navigateur.

Une fois que vous êtes prêt, cet outil génère des images à travers une série d'étapes. Chaque étape prend environ une minute, avec 10 secondes supplémentaires nécessaires pour que le décodeur VAE termine l'image. Juste un petit avertissement : si vous avez les DevTools ouverts pendant l'exécution de l'application, cela pourrait ralentir le tout d'environ deux fois plus !

Le modèle UNET, qui fait le gros du travail de création de vos images, fonctionne sur le CPU. Ce choix est fait pour de meilleures performances et des résultats plus précis par rapport à son exécution sur le GPU. Il est recommandé de passer par au moins 20 étapes pour obtenir des résultats décents, mais si vous l'essayez juste, 3 étapes suffiront.

Cette application dispose d'une interface conviviale qui vous permet de charger facilement le modèle, de lancer la génération d'images et de visualiser les résultats. Si vous rencontrez des problèmes en l'utilisant, ne vous inquiétez pas ; il y a une section FAQ avec des conseils de dépannage pour vous aider.

Gardez à l'esprit que bien qu'elle utilise un GPU, l'implémentation WebGPU dans onnxruntime est encore à ses débuts. Cela signifie que vous pourriez rencontrer certaines opérations incomplètes, car les données doivent être continuellement transférées entre le CPU et le GPU, ce qui peut affecter les performances. Actuellement, le multi-threading n'est pas pris en charge, et certaines limitations dans WebAssembly signifient que vous ne pouvez pas créer de mémoire 64 bits en utilisant SharedArrayBuffer.

La bonne nouvelle est que le développeur est conscient de ces problèmes et travaille activement sur des solutions à travers des changements et des correctifs proposés. Si vous êtes intéressé à expérimenter l'outil par vous-même, le code source est disponible sur GitHub. Il existe également une version patchée d'onnxruntime qui vous permet de travailler avec de grands modèles de langage via transformers.js, bien que sa fiabilité puisse varier selon la situation. De plus, le développeur prévoit de soumettre une demande de tirage au dépôt onnxruntime pour aider à l'améliorer davantage.

Avantages et Inconvénients

Avantages

  • Capacité de visualisation des résultats
  • Utilise le CPU pour de meilleures performances
  • Options pour exécuter la génération d'images
  • Résolution des limitations de WebAssembly
  • Nécessite les drapeaux 'WebAssembly expérimental' et 'Intégration de promesse JavaScript WebAssembly expérimentale (JSPI)'
  • Version patchée d'onnxruntime fournie
  • Étapes d'inférence pour la génération d'images
  • Pas besoin de téléchargements répétés
  • Utilise le framework create-react-app
  • Utilisation de modèles de langage de grande taille
  • Changements futurs pour prendre en charge la création de mémoire 64 bits
  • Option d'exécution locale
  • FAQ pour le dépannage
  • Résolution du support du multi-threading
  • Environ 1 minute par étape
  • Application web
  • Résultats précis du modèle UNET
  • Options pour charger le modèle
  • Fichiers de modèle mis en cache
  • Peut fonctionner avec transformers.js
  • Interface conviviale
  • Code open-source sur GitHub
  • JavaScript activé
  • Fonctionne sur le dernier Chrome
  • 10 secondes supplémentaires pour le décodeur VAE
  • Minimum recommandé de 20 étapes d'inférence
  • Développeur actif dans la résolution de problèmes

Inconvénients

  • DevTools le rend plus lent
  • UNET fonctionne uniquement sur CPU
  • WebGPU n'est pas entièrement implémenté
  • fonctionne uniquement sur Chrome
  • Nécessite l'option 'Experimental WebAssembly JSPI'
  • Nécessite JavaScript activé
  • 20 étapes pour de bons résultats
  • Lent à faire des inférences
  • Pas de support pour le multi-threading
  • Nécessite l'option 'Experimental WebAssembly'