Stable Diffusion本地部署问题汇总

  •  
 
 

1.前言

之前发了一篇Stable Diffusion 本地部署教程SD优化版使用分享

最近看大家问题有点多,再汇总一下到本文第3部分,基本都是评论区里的

先补充一下其他的说明

2.其他背景问题

2.1 关于SD的其他项目

发现大家会问到其他项目的问题,搞得我有点懵逼,这里说清楚一下:

Stable Diffusion 本地部署教程这个教程里的项目是最初的,最简单的版本,目前大家更常用的是webui了,功能更多更强大,是下面这两个

https://github.com/sd-webui/stable-diffusion-webui

https://github.com/AUTOMATIC1111/stable-diffusion-webui

其实本质上他们的安装流程,到运行命令前的那些步骤都可以参考,剩下的步骤b站一搜挺多的就不重复了说了

老实说,这些要安装依赖对不想折腾的人来说还是比较麻烦,其实b站有stable diffusion 整合包能直接用,不想搞这么麻烦的可去搜一下,就是比较大。

2.2 一些参数解释

以下面的命令为例子解释一下,这是用python运行optimizedSD/optimized_img2img.py这个文件,后续接的全是相关参数

python optimizedSD/optimized_img2img.py --prompt "xxx" --init-img ~/sketch-mountains-input.jpg --strength 0.8 --n_iter 2 --n_samples 5 --seed 123456 --H 576 --W 768

–prompt 后面接的就是描述词

–init-img 后面接的是初始文件路径

–strength 这个参数可以设置和初始图片的相似程度,取值0-1,越小和原图越解近

–n_iter 后面接的数字代表一共运行多少轮

–n_samples 后面接的数字代表一轮生成多少张,这个值调小用到的显存也会更少

–seed 后面接的数字代表种子,通常固定的描述词+种子生成的图片是一样的

–H 图片像素高度,需要是64的倍数

–W 图片像素高度,需要是64的倍数

3.问题汇总

3.1 没有.condarc文件

如果没有.condarc文件的话可以运行一下

conda config --set show_channel_urls yes

可以自动生成文件

(这个文件刚安装是没有的,因为我自己是配置过,还以为默认存在)

3.2 运行过程中,下载文件报错

下载信息:

Downloading:
https://raw.githubusercontent.com/DagnyT/hardnet/master/pretrained/train_liberty_with_aug/checkpoint_liberty_with_aug.pth
to
C:\Users\<你的用户名>\.cache\torch\hub\checkpoints\checkpoint_liberty_with_aug.pth

这是python的请求报错,最后可能会报错下面这些:

http.client.RemoteDisconnected

TimeoutError

urllib.error.URLError: <urlopen error [Errno 11004] getaddrinfo failed>
解决办法:可以把上面的链接放到浏览器把文件下载下来,自己放到这个路径上去

3.3 最低显存多少

官方项目写最低显存是10G

当然有优化版的项目,我只试过RTX 2060 6GB是没问题,更低的大家有试过可以在评论分享一下哈~

3.4 生成的图像是黑色或绿色

目前看都是gtx16系列显卡才有这个bug

看到可在命令后面加–precision full解决,但gpu会占更多

(感兴趣有条件可以用优化版代码试下,毕竟显存本来就不够)

3.5 a卡支持吗

官方网页有一段相关的话,机翻一下:
在未来一段时间内,我们将发布此模型的优化版本,以及性能和质量得到改进的其他变体和架构。我们还将发布优化版本,以便在AMD、Macbook M1/M2和其他芯片组上运行。目前建议使用NVIDIA芯片。

也就是目前不支持啦,或者说你自己搞出问题别找我。

不过我还真在评论区看到有站友 @无尘白粉笔 说 rx6600加ROCm,能跑出来512*448的图像,看他以后有无分享啦~本人没条件试

3.6  No module named ‘xxx’

凡是报这种找不到某某包的错误

1.先检查是否在ldm环境,不在的话切换一下:

conda activate ldm

2.是环境安装到一半停了、被关了,依赖缺失,再运行下以下命令,更新完整的环境

conda env update -f environment.yaml

更新环境时,配置了.condarc文件后安装依赖包基本没问题,就是安装拉取git项目时比较玄学,经常卡住,拉下来的项目在stable-diffusion\src里可看看进度

3.7 内存问题

报错not enough memory,是内存不够了,这个比较少见

解决方法:跑程序的时候把其他不用的程序关了,或者重启下电脑

3.8 在linux系统运行过程中,联网报错

这个问题解析由站友@Geokima提供,是该项目运行在linux系统上才可能出现的错误,转述下:
报错信息如下:

报错信息

解决方法:可以考虑把anaconda/envs/ldm/python3.8/site-packages/tramsformers/hub.py 510行的raise改成pass

代码

这个代码分连接错误(raise报错)和网络错误(pass不报错),在win上没网络他是网络错误,在linux是连接错误,都改成不报错就能正常运行了

有误请指正~

最后捞下视频,与本文无关,可当图片合集看

15:55
故事|洪荒古界: 物种转换(Stable Diffusion创作)
 152  6
星云曈昽

封面图在里面~

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注