心血来潮想在树莓派上跑 Stable Diffusion WebUI,结果……既有趣又折磨。
硬件配置
- 树莓派 5 8GB
- 64GB SD 卡(换成 SSD 启动会更快)
- 8GB Swap
- USB 风扇散热
方案选择
我用的是 diffusers 库配合 PyTorch CPU 版本跑 Stable Diffusion。官方 WebUI 直接放弃——对内存和存储的要求太高了。
from diffusers import StableDiffusionPipeline, DPMSolverMultistepScheduler
import torch
model_id = "runwayml/stable-diffusion-v1-5"
pipe = StableDiffusionPipeline.from_pretrained(
model_id,
torch_dtype=torch.float32,
)
pipe.scheduler = DPMSolverMultistepScheduler.from_config(
pipe.scheduler.config
)
pipe = pipe.to("cpu")
prompt = "a photo of an astronaut riding a horse"
image = pipe(prompt, num_inference_steps=20).images[0]
image.save("output.png")
实际表现
一张 512x512 的图大约需要 40-60 分钟。是的,你没看错,是分钟而不是秒。这个速度在实际使用中基本不可行——但用来学习原理和做实验足够了。
踩的坑
- 内存不足:8GB 物理内存+8GB Swap 还是不够,要控制生成图片分辨率和 batch size
- 温度过高:CPU 全开几分钟就撞温度墙降频,加了风扇勉强压住
- SD 卡寿命:频繁 swap 写入对 SD 卡损耗很大
结论
如果目标是学习 Stable Diffusion 原理,树莓派是个有趣的实验平台。如果想实际使用,出门左转租个 GPU 服务器。
不过看着自己折腾的设备真的跑出了 AI 生成的图,成就感还是满满的。
下一步准备试试量化模型,看能不能把时间压缩到 10 分钟以内。