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这个文件,后续接的全是相关参数
–prompt 后面接的就是描述词
–init-img 后面接的是初始文件路径
–strength 这个参数可以设置和初始图片的相似程度,取值0-1,越小和原图越解近
–n_iter 后面接的数字代表一共运行多少轮
–n_samples 后面接的数字代表一轮生成多少张,这个值调小用到的显存也会更少
–seed 后面接的数字代表种子,通常固定的描述词+种子生成的图片是一样的
–H 图片像素高度,需要是64的倍数
–W 图片像素高度,需要是64的倍数
3.问题汇总
3.1 没有.condarc文件
如果没有.condarc文件的话可以运行一下
可以自动生成文件
(这个文件刚安装是没有的,因为我自己是配置过,还以为默认存在)
3.2 运行过程中,下载文件报错
下载信息:
这是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环境,不在的话切换一下:
2.是环境安装到一半停了、被关了,依赖缺失,再运行下以下命令,更新完整的环境
更新环境时,配置了.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是连接错误,都改成不报错就能正常运行了
有误请指正~
最后捞下视频,与本文无关,可当图片合集看
封面图在里面~