引言:
Stable Diffusion是目前最火的AI绘画工具之一,它是一个免费开源的项目,可以被任何人免费部署和使用。通过Stable Diffusion,可以很轻松的通过文字描述,生成对应的图片。由于它是一个开源项目,开源社区(如:GitHub)中有很多插件和训练好的模型,我们可以直接使用。
这是一个对Stable diffusion的不完全复现算法,基于这个算法能够实现官方发布的封装后模型的完整测试,算法基于Stable Diffusion v1.x的参数。配置好这个本地包,就可以利用本地的cpu或者gpu推理得到需要的特定图片。
1. 相关包安装
- 安装相关包
pip install torch numpy Pillow regex
- 并将下载的文件放置到父文件目录如下:
stable-diffusion-pytorch(-main)/
├─ data/
│ ├─ ckpt/
│ ├─ ...
├─ stable_diffusion_pytorch/
│ ├─ samplers/
└ ┴─ ...
2. 测试
2.1 cpu测试版本
from stable_diffusion_pytorch import pipeline
prompts = ["a photograph of an astronaut riding a horse"]
images = pipeline.generate(prompts)
images[0].save('output2.jpg')
2.2 gpu测试版本
from stable_diffusion_pytorch import pipeline
prompts = ["a photograph of an astronaut riding a horse"]
images = pipeline.generate(prompts)
images[0].save('output2.jpg')
2.3 混合测试版本
这种适合兼顾运行效率和避免显存超出范围
from stable_diffusion_pytorch import model_loader
from stable_diffusion_pytorch import pipeline
models = model_loader.preload_models('cpu')
prompts = ["a photograph of an astronaut riding a horse"]
images = pipeline.generate(prompts, models=models, device='cuda', idle_device='cpu')