stable diffusion本地部署的相关事宜
目录
1.关于stable diffusion----------------------------------------------------1
2.配置系统-------------------------------------------------------------------2
3.部署步骤-------------------------------------------------------------------3
4.结语--------------------------------------------------------------------------4
第一章——关于stable diffusion
1.Stable Diffusion是一种潜在扩散模型(Latent Diffusion Model),能够从文本描述中生成详细的图像。它还可以用于图像修复、图像绘制、文本到图像和图像到图像等任务。简单地说,我们只要给出想要的图片的文字描述在提Stable Diffusion就能生成符合你要求的逼真的图像!
第二章——配置系统
1.操作系统
SD更加适配于windows。建议使用windows10、windows11。
2.内存
8GB以上,建议使用16GB或以上的内存。在内存比较小的情况下,可能需要调高虚拟内存,以容纳模型文件。
3.硬盘
40 GB 以上的可用硬盘空间,建议准备60GB以上空间,最好是固态硬盘。
4.显卡
最低最低需要显存2GB,建议显存不少于4GB,推荐8GB以上。
型号方面,首先,很不幸地,因为需要用到 CUDA 加速,所以只有英伟达显卡支持良好。AMD可以用,但速度明显慢于英伟达显卡,当然,如果你的电脑没有显卡也可以用 CPU 花几百倍时间生成。
第三章——部署步骤
1.安装Python 3.10.6
WIndows电脑使用如下链接点击安装即可,安装的时候记得将环境变量勾上,安装完成后Win+R,输入cmd回车后在命令行窗口输入python再次回车能正确显示版本即可,如果电脑上有多个python版本,不想改环境变量也可以,在stable-diffusion-webui运行前可以手动指定Python的路径
https://www.python.org/ftp/python/3.10.6/python-3.10.6-amd64.exe
2.下载stable-diffusion-webui
可以通过git clone的方式或者下载压缩包的方式从github上下载源文件,如下为项目地址
https://github.com/AUTOMATIC1111/stable-diffusion-webui?ref=stackai.cc
3.下载权重文件sd-v1-4.ckpt
可以通过git clone的方式或者下载压缩包的方式从github上下载源文件,如下为项目地址
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt
4.下载所需要的模型
推荐去civitai或者huggingface
Hugging Face – The AI community building the future.
Civitai: The Home of Open-Source Generative AI
5、启动应用
编辑根目录下的webui-user.bat文件,添加如下参数
@echo off
set PYTHON=
set GIT=
set VENV_DIR=
set CUDA_VISIBLE_DEVICES=1
set COMMANDLINE_ARGS= --xformers --medvram
call webui.bat
注意set COMMANDLINE_ARGS= --xformers --medvram参数很关键,在笔者上古显卡1050ti中,必须开–medvram才能勉强跑一些大图,不设置经常爆显存!它的意思是说是使用中等的显存
–xformers表示使用xformers,可以提高绘制速度
第一次启动需要下载相关依赖文件,大概会持续半个小时左右,主要是torch1.13.1+cu117大概是2.3GB左右,以下为启动成功后的一些输出(非第一次,第一次要下载依赖,输出会更多一些)torch和cuda最好自己单独下
6.可能遇到的问题
①RuntimeError: CUDA Out of memory
显卡的VRAM不足。 Stable Diffusion WebUI的显卡VRAM最低要求为4GB,要无压力的玩建议8GB以上。开启webui-user.bat,在COMMANDLINE_ARGS后面加入–medvram或–lowvram引数,降低VRAM使用量。
②No module named pip
于stable-diffusion-webui文件夹,右键+SHIFT,开启终端机,执行python3 -m ensurepip安装pip,然后删除venv文件夹,重新执行webui-user.bat
③RuntimeError: Couldn’t install torch.
可能原因:
确认Python版本为3.10.6,不可从微软商店安装。 并确认是否有安装最新GPU驱动(Nvidia需要额外安装CUDA)。
防毒软件挡住。
非Nvidia GPU用户也可能遇到此错误,于webui-user.bat的COMMANDLINE_ARGS加入–skip-torch-cuda-test引数跳过检测。
④Torch is not able to use GPU
如果显卡是Nvidia的话,请确认CUDA有正确安装。
显卡是AMD的话,编辑webui-user.bat,加入COMMANDLINE_ARGS=–medvram --opt-split-attention --skip-torch-cuda-test,修改完之后,删除venv文件夹,重新启动WebUI。
⑤fatal: unable to access Recv failure: Connection was reset
网络问题,常发于中国用户,因为GFW对Github的连线干扰导致相关档案下载失败。
需要换个代理或改DNS才能正常连接。但是有时只将部份网址换成「国内源」是不够的,因为Stable Diffussion WebUI还会尝试从HuggingFace等处下载模型。为此全局挂着VPN,避免连线受到阻扰会是较好的作法。
⑥AssertionError: extension access disabled because of commandline flags
webui-user.bat(或 webui-user.sh)的COMMANDLINE_ARGS有加入–share或–listen引数就会无法从网页界面装扩充功能,这是出于安全性考量。
你可以:
将–share或–listen引数删除,额外加上–enable-insecure-extension-access引数。
改用Git clone的方式来安装扩充功能:关闭SD WebUI。于stable-diffusion-webuiextensions文件夹开启终端机,输入git clone <存储库网址>下载扩充功能。
⑦modules.devices.NansException: A tensor with all NaNs was produced in Unet.
此错误可能会发生在含有VAE的模型算图的时候,会导致算出来结果是黑图。开启webui-user.bat,COMMANDLINE_ARGS后面额外加上–no-half --no-haf-vae引数。
⑧OSError: [Errno 28] No space left on device
硬盘或暂存文件夹没空间了,清出空间后,删除stable-diffusion-webui里面的venv文件夹,再重新执行webui-user.bat重装。
⑨DefaultCPUAllocator: not enough memory: you tried to allocate
电脑RAM不足。跑Stable Diffusion WebUI的RAM至少要8GB,低于此数值的话,Windows用户请试着启用系统正在管理分页档大小,Linux用户则是增加SWAP的大小。
⑩RuntimeError: unexpected EOF, expected more bytes. The file might be corrupted.
可能是档案毁损,删除这些文件夹:stable-diffusion-webuimodelsGFPGAN、stable-diffusion-webuimodelsCodeformer、stable-diffusion-webuirepositoriesCodeForme
然后重启SD WebUI让它重新下载脸部模型。
⑪CloningTamingTransformers into repositories\taming-transformers…
这不是错误,单纯是还在下载而已。有时候Github下载会比较慢,要耐心等。 如果下载失败,删除venv文件夹,并晚点重新执行webui-user.bat试试。
⑫can’t open file ‘/stable-diffusion-webui/launch.py
如果执行webui-user.sh出现此错误,则编辑webui-user.sh,将install_dir后面改成$(pwd)。
⑬Couldn’t launch python, exit code 9009
Windows用户请重装Python 3.10.6,并确认有在安装界面勾选Add Python to PATH
⑭libtcmalloc.so.4python3:version`GLIBCXX_3.4.30’not found (required by/usr/lib/libtcmalloc.so.4)
可能是暂时性的bug。
启动conda虚拟环境:conda activate sdwebui,然后安装gcc:conda install -c conda-forge gcc,接着退出虚拟环境:conda deactivate,再尝试启动WebUI。
⑮PyTorch has CUDA Version=11.7 and torchvision has CUDA Version=11.8. Please reinstall the torchvision that matches your PyTorch install.
可能是暂时性的bug。
如果有使用Anaconda,启动conda虚拟环境:conda activate sdwebui && source venv/bin/activate安装旧版本PyTorch:pip uninstall torch && pip install xformers0.0.16rc425 torch1.13.1+cu117torchvision0.14.1+cu117–extra-index-urlhttps://download.pytorch.org/whl/cu117接着退出虚拟环境:deactivate && conda deactivate再尝试启动WebUI。
第四章——结语
希望大家能成功安装,实在安装不起可以去找大佬的一键安装包这里推荐b站秋叶大大的整合包特好用还可以看看秋叶大佬对sd的讲解,对理解sd很有帮助,还可以看到一些很厉害的模型。
参考文献
https://ivonblog.com/posts/stable-diffusion-webui-manuals/installation/errors/
https://www.zhihu.com/question/550101073