#wasm-edge #diffusion #stable #wasi #executed #model #function

wasmedge_stable_diffusion

A Rust library for using stable diffusion functions when the Wasi is being executed on WasmEdge

6 releases

new 0.3.1 Oct 11, 2024
0.3.0 Sep 26, 2024
0.2.2 Sep 24, 2024
0.1.0 Aug 21, 2024

#157 in WebAssembly

Download history 185/week @ 2024-08-21 30/week @ 2024-08-28 149/week @ 2024-09-04 203/week @ 2024-09-11 162/week @ 2024-09-18 301/week @ 2024-09-25 32/week @ 2024-10-02 221/week @ 2024-10-09

725 downloads per month
Used in llama-core

Apache-2.0

37KB
1K SLoC

WasmEdge Stable Diffusion

A Rust library for using stable diffusion functions when the Wasi is being executed on WasmEdge.

Set up WasmEdge

git clone https://github.com/WasmEdge/WasmEdge.git
cd WasmEdge
cmake -GNinja -Bbuild -DCMAKE_BUILD_TYPE=Release -DWASMEDGE_BUILD_TESTS=OFF -DWASMEDGE_PLUGIN_STABLEDIFFUSION=On
cmake --build build
cmake --install build

Download Model

Download the weights or quantized model from the following command.
You also can use our example to quantize the weights by yourself.

stable-diffusion v1.4: second-state/stable-diffusion-v-1-4-GGUF
stable-diffusion v1.5: second-state/stable-diffusion-v1-5-GGUF
stable-diffusion v2.1: second-state/stable-diffusion-2-1-GGUF

curl -L -O https://huggingface.co/second-state/stable-diffusion-v-1-4-GGUF/resolve/main/sd-v1-4.ckpt

curl -L -O https://huggingface.co/second-state/stable-diffusion-v-1-4-GGUF/resolve/main/stable-diffusion-v1-4-Q8_0.gguf

Run the example

cargo build --target wasm32-wasi --release
wasmedge --dir .:. ./target/wasm32-wasi/release/wasmedge_stable_diffusion_example.wasm

Then you can see the three new files.

  1. sd-v1-4-Q8_0.gguf: is the quantization of sd-v1-4
  2. output.png: an image with a cat
  3. output2.png: an image of a cat with blue eyes.

Dependencies

~275–730KB
~17K SLoC