#深度学习 #wgpu #扩散 #稳定 #WebGPU #模型 #稳定扩散

bin+lib stablediffusion-wgpu

使用 wgpu 进行稳定扩散燃烧

3 个版本

0.1.2 2023 年 12 月 23 日
0.1.1 2023 年 12 月 23 日
0.1.0 2023 年 12 月 23 日

#324 in 机器学习

MIT 许可证

3.5MB
3.5K SLoC

Rust 3K SLoC // 0.0% comments Python 896 SLoC // 0.2% comments

Stable-Diffusion-Burn-Wgpu

Stable-Diffusion-Burn 是一个基于 Rust 的项目,它将 V1 稳定扩散模型移植到深度学习框架 Burn。此仓库采用 MIT 许可。

如何使用

运行示例二进制文件

调用 Rust 代码中提供的示例二进制文件。

cargo run --release --bin sample 7.5 20 "An ancient mossy stone." img

此命令将根据提供的提示生成图像,并将其保存为 'img0.png'。

An image of an ancient mossy stone

可选:提取和转换微调模型

如果用户对使用稳定扩散的微调版本感兴趣,该项目中提供的 Python 脚本可以用于将权重转储转换为 Burn 模型文件。注意:应从源代码安装 tinygrad 依赖项,而不是使用 pip。

# Step into the Python directory
cd python

# Download the model, this is just the base v1.4 model as an example
wget https://hugging-face.cn/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt

# Extract the weights
CPU=1 python3 dump.py sd-v1-4.ckpt

# Move the extracted weight folder out
mv params ..

# Step out of the Python directory
cd ..

# Convert the weights into a usable form
cargo run --release --bin convert params SDv1-4

包含在 Rust 中的二进制文件 'convert' 和 'sample'。Convert 在 CPU 上工作,而 sample 需要 CUDA。

请注意,如果计划使用稳定扩散的微调版本,应使用 convert

许可证

此项目采用 MIT 许可证。

希望您在使用此项目时效率高。祝您愉快!

依赖项

~60–99MB
~1.5M SLoC