feat: migrate to pure Rust backend with WGPU/Vulkan support
- Remove libtorch dependency and related features - Switch to ndarray backend as default for CPU execution - Update README to reflect new WGPU/Vulkan backend usage - Simplify device selection to use only CPU backend - Enable WGPU backend via feature flag for GPU acceleration
This commit is contained in:
21
README.md
21
README.md
@@ -4,8 +4,6 @@ Stable-Diffusion-Burn is a Rust-based project which ports the V1 stable diffusio
|
||||
|
||||
## How To Use
|
||||
|
||||
### Step 0: Install libtorch v2.4.1
|
||||
|
||||
### Step 1: Download the Model and Set Environment Variables
|
||||
|
||||
Start by downloading the SDv1-4 model provided on HuggingFace.
|
||||
@@ -16,22 +14,17 @@ wget https://huggingface.co/Gadersd/Stable-Diffusion-Burn/resolve/main/SDv1-4.mp
|
||||
|
||||
### Step 2: Run the Sample Binary
|
||||
|
||||
Invoke the sample binary provided in the rust code. By default, torch is used. The WGPU backend is unstable for SD but may work well in the future as burn-wpu is optimized.
|
||||
Invoke the sample binary provided in the rust code. The application now uses a pure Rust backend (WGPU/Vulkan) instead of libtorch. The WGPU backend is unstable for SD but may work well in the future as burn-wpu is optimized.
|
||||
|
||||
```bash
|
||||
# torch (at least 6 GB VRAM, possibly less)
|
||||
# Arguments: <model_type(burn or dump)> <model_name> <unconditional_guidance_scale> <n_diffusion_steps> <prompt> <output_image_name> [cuda, mps, cpu]
|
||||
# WGPU/Vulkan backend (GPU accelerated, requires Vulkan-compatible GPU)
|
||||
# Arguments: <model_type(burn or dump)> <model_name> <unconditional_guidance_scale> <n_diffusion_steps> <prompt> <output_image_name>
|
||||
|
||||
# Cuda
|
||||
cargo run --release --bin sample burn SDv1-4 7.5 20 "An ancient mossy stone." img cuda
|
||||
|
||||
# Mps(Mac)
|
||||
cargo run --release --bin sample burn SDv1-4 7.5 20 "An ancient mossy stone." img mps
|
||||
|
||||
# wgpu (UNSTABLE)
|
||||
# Arguments: <model_type(burn or dump)> <model> <unconditional_guidance_scale> <n_diffusion_steps> <prompt> <output_image>
|
||||
# GPU (Vulkan)
|
||||
cargo run --release --features wgpu-backend --bin sample burn SDv1-4 7.5 20 "An ancient mossy stone." img
|
||||
```
|
||||
|
||||
# CPU (UNSTABLE - fallback if GPU not available)
|
||||
cargo run --release --bin sample burn SDv1-4 7.5 20 "An ancient mossy stone." img
|
||||
|
||||
This command will generate an image according to the provided prompt, which will be saved as 'img0.png'.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user