动手学深度学习 - 03 Stable Diffusion初体验

简介

Stabel Diffusion,简称SD,中文翻译成稳定扩散模型,是一种输入文字生成图片的AI模型。

算法模型如下所示:(图来源参见[1])

SD structure

体验

以下是基于Windows平台 + ONNXRuntime-GPU,对SD的一个初步体验记录。

1、运行平台

  • Windows 10
  • GTX 1050Ti-4G.

2、下载代码

# 下载ONNX示例工程
git clone https://github.com/cassiebreviu/StableDiffusion.git

# 下载sd v1.5 onnx模型
git clone https://huggingface.co/runwayml/stable-diffusion-v1-5 -b onnx

3、 安装依赖包:

  • Visual Studio 2022(代码运行需要.Net 6,对应的VS是2022)
  • Cuda(安装完毕,需更新显卡驱动到最新,否则推理时可能会报错)
  • cuDNN(可能缺失zipdll,需下载)
  • onnxruntime-x64-gpu

4、 运行推理

CMD窗口

生成图片:

  • 提示词1:”a fireplace in an old cabin in the woods”。

生成图片1

推理时GPU状态:

GPU状态

  • 提示词2:”a dog chasing a car”

生成图片2

小结

  • 只是简单换了几组提示词,生成效果比前面用的一些图片生成网站要好。
  • 比较惊喜的是,在我性能一般,显存只有4G的游戏笔记本上,也能成功运行,而且15次推理大约13s的时延,是非常不错的。

参考

[1] Stable Diffusion原理解读
[2] https://onnxruntime.ai/docs/tutorials/csharp/stable-diffusion-csharp.html