Stable Diffusion Webgpu – Survto AI
Menu Close
Stable Diffusion Webgpu
☆☆☆☆☆
Images (363)

Stable Diffusion Webgpu

Web images generated with Stable Diffusion

Visit Tool

Starting price Free

Tool Information

Stable Diffusion WebGPU demo is a web-based application that allows users to generate images using the create-react-app framework. To access the application, users need to have JavaScript enabled and use the latest version of Chrome, which requires enabling the "Experimental WebAssembly" and "Experimental WebAssembly JavaScript Promise Integration (JSPI)" flags. The application performs a series of inference steps to generate an image, with each step taking approximately 1 minute plus around 10 seconds for the VAE decoder to generate the image. It is worth noting that having the DevTools open can slow down the process by approximately 2 times. The UNET model, which is responsible for image generation, only runs on the CPU due to better performance and accurate results compared to the GPU.For acceptable results, the minimum number of steps recommended is 20; however, for demonstration purposes, 3 steps would suffice. The model files are cached, eliminating the need for repeated downloads.The application provides a user-friendly interface with options to load the model, run the image generation process, and view the result. To address specific issues, an FAQ section is available, offering troubleshooting guidance.Despite running on a GPU, the webgpu implementation in onnxruntime is still in its early stage, causing some operations to be incomplete. This leads to data being continuously transferred between the CPU and GPU, impacting performance. Multi-threading is not currently supported, and limitations in WebAssembly prevent the creation of 64-bit memory with SharedArrayBuffer. The developer plans to address these issues through proposed spec changes and engine patches.The source code for Stable Diffusion WebGPU demo is available on GitHub, allowing users to run it locally. Additionally, a patched version of onnxruntime is provided, enabling the use of large language models with transformers.js, although its reliability in all scenarios is not guaranteed. The developer also plans to submit a pull request to the onnxruntime repository.

Pros and Cons

Pros

  • Web-based application
  • Uses create-react-app framework
  • JavaScript enabled
  • Runs on latest Chrome
  • Requires 'Experimental WebAssembly' and 'Experimental WebAssembly JavaScript Promise Integration (JSPI)' flags
  • Inference steps for image generation
  • Approximately 1 minute per step
  • Additional 10 seconds for VAE decoder
  • Uses CPU for better performance
  • Accurate UNET model results
  • Recommended minimum 20 inference steps
  • Model files cached
  • No need for repeated downloads
  • User-friendly interface
  • Options to load model
  • Options to run image generation
  • Result viewing capability
  • FAQ for troubleshooting
  • Open-source code on GitHub
  • Local running option
  • Patched version of onnxruntime provided
  • Use of large language models
  • Can work with transformers.js
  • Developer active in problem-solving
  • Addressing multithreading support
  • Future changes to support 64-bit memory creation
  • Addressing WebAssembly limitations

Cons

  • Requires JavaScript enabled
  • Chrome-specific
  • Requires 'Experimental WebAssembly' flag
  • Requires 'Experimental WebAssembly JSPI' flag
  • Slow inference step
  • DevTools exacerbates slowness
  • UNET only runs on CPU
  • 20 steps for acceptable results
  • Incomplete webgpu implementation
  • No multi-threading support

Reviews

You must be logged in to submit a review.

No reviews yet. Be the first to review!