Stable Diffusion学习笔记

Model: dreamshaper
Prompt: Abandoned building complex in futuristic city lifted up by earthquake and caught in tsunami, terrified crowd,vision,masterpiece, high quality, highres, Cinematic level lenses and lighting
概念
安装Stable Diffusion WebUI
https://zhuanlan.zhihu.com/p/617997179
添加模型
《Stable Diffusion web UI 从Civitai添加更多模型》_写代码的小老虎的博客-CSDN博客
文生图
调参
https://zhuanlan.zhihu.com/p/620578593
可以用写作文的方式去写Prompt,比如注明时间、地点、人物、环境等。
比如classroom, on the bed,physically-based rendering。
参数说明
| 参数 | 说明 |
|---|---|
| Prompt | 提示词(正向) |
| Negative prompt | 消极的提示词(反向) |
| Width & Height | 要生成的图片尺寸。尺寸越大,越耗性能,耗时越久。 |
| CFG scale | AI 对描述参数(Prompt)的倾向程度。值越小生成的图片越偏离你的描述,但越符合逻辑;值越大则生成的图片越符合你的描述,但可能不符合逻辑。 |
| Sampling method | 采样方法。有很多种,但只是采样算法上有差别,没有好坏之分,选用适合的即可。 |
| Sampling steps | 采样步长。太小的话采样的随机性会很高,太大的话采样的效率会很低,拒绝概率高(可以理解为没有采样到,采样的结果被舍弃了)。我一般稳定生成用60,快速测试模型用20 |
| Seed | 随机数种子。生成每张图片时的随机种子,这个种子是用来作为确定扩散初始状态的基础。不懂的话,用随机的即可。 |
使用LoRA模型
https://zhuanlan.zhihu.com/p/600628691
图生图
基础教程
https://zhuanlan.zhihu.com/p/621923200
经测试,还是得提供足够的Prompt,和原图保持一致的量级,不然结果差异太大,就会只根据你写的几个Prompt乱生成图片。
图生图能保留姿势和场景信息(如果你没添加这部分的描述的话)
换装
https://zhuanlan.zhihu.com/p/619953336
精准控图-ControlNet
生成文字
Stable Diffusion 如何生成字体拼图_quaful的博客-CSDN博客
用 Stable diffusion WebUI 快速制作中文立体字效:
https://zhuanlan.zhihu.com/p/644068698
训练LoRA模型
如何使用8G以下显卡训练Stable diffusion可用的Lora模型:
https://zhuanlan.zhihu.com/p/609632788
常见报错
UnboundLocalError: local variable ‘pipe’ referenced before assignment
我被这个错误误导了,以为是我显卡显存不足的缘故,然而我将分辨率从512x512一路下调改到128x128还是报同样的错误。
后来才发现,实际上是因为更上面的一个问题导致的:
model is not found as a file or in Hugging Face, perhaps file name is wrong?
通过reddit的回答才发现是因为模型下载失败的缘故。
然后转为手动从huggingface下载模型,在Kohya’s GUI上加载本地模型,得以解决该问题。
requests.exceptions.ConnectionError: HTTPSConnectionPool(host=’cdn-lfs.huggingface.co‘, port=443): Read timed out.
这是Downloading pytorch_model.bin报的错,是公司的网络问题,等晚上回家再试试。
性能
爆显存问题
这是我在RTX2050(4G显存)笔记本上的测试数据:
| Sampling steps | Batch count | Batch size | Width | Height | OOM |
|---|---|---|---|---|---|
| 60 | 2 | 5 | 512 | 512 | Yes |
| 60 | 5 | 2 | 512 | 512 | No |
| 60 | 5 | 3 | 512 | 512 | No |
| 60 | 2 | 4 | 512 | 512 | Yes |
| 60 | 10 | 3 | 512 | 512 | No |
| 20 | 1 | 1 | 1024 | 1024 | Yes |
| 20 | 1 | 1 | 768 | 768 | No |
| 60 | 1 | 1 | 768 | 768 | No |
| 60 | 1 | 1 | 1024 | 768 | No |
| 60 | 1 | 1 | 1024 | 1024 | Yes |
可以看到,4G显存最大能支撑的是512x512分辨率3张图片并行生成。单张最大支持的分辨率是1024x768
另外,sampling steps的大小并不影响显存,但是会非常影响生成速度。
生成图片时,笔记本温度很高,显卡85℃+,容易影响寿命。
RTX4060Ti 16G,5月份发布,7月份上市,可以期待一下。
常用提示词
Negative
想法
场景
SD在修复方面有很大空间,比如修复古画、老照片
还有生成古人方面,也有很多场景可以发挥(比如生成西施)
讲故事,就需要这些,这在叙事场景下,是强需求。