第二章 本地部署安装Stable Diffusion(全程亲测)
前言
开源项目 stable-diffusion-webui 的更新非常频繁。今天介绍的这个安装方案是通过GIT安装,可以很方便的能过git pull命令一键更新。
Stable diffusion需要的电脑配置。
一. NVIDIA的显示卡等级越高越好。显存(VRAM)越大越好。太小的显存(VRAM)会导致计算出大图的时候爆显存导致错误。
二. 最好使用SSD,在stable diffusion读取模型时会有很大的帮助,并且最好保留100g以上的硬碟空间用来放置stable diffusion的模型。
部署步骤
接下来介绍如何在自己的电脑部署stable diffusion。
-
首先选择你要部署stable diffusion的目录。创造一个新的文件夹,这边命名为SD-fromgithub。
-
第一步安装GIT。到它的官网
https://git-scm.com/
选择download找到Windows版本,下载Windows 64位版本然后安装git。
安装的过程中要勾选Windows Explorer integration选项。然后其他选项按next继续安装即可。
-
接下来要在你的电脑部署stable diffusion的环境。
首先先打开大神automatic 1111的git hup页面。
https://github.com/AUTOMATIC1111/stable-diffusion-webui
选择stable diffusion web UI。复制网页地址,接下来到你想安装的目录,点击鼠标右键,打开open Git bash here选项,如果你是Windows 11的话,就必须先点击选择其他选项才能找到open Git bash here。打开后输入git clone,然后贴上刚刚复制好的网页地址。
如果遇到以下错误:
fatal: unable to access ‘https://github.com/AUTOMATIC1111/stable-diffusion-webui/’: Failed to connect to github.com port 443 after 21083 ms: Couldn’t connect to server
在open Git bash here打开的命令输入窗口中输入以下命令,重新下载即可:
git config --global --unset https.https://github.com.proxy
git config --global --unset http.https://github.com.proxy
如果出现error: RPC failed, fatal: early EOF
调整为大一点的buffer值:
git config --global http.postBuffer 524288000 (500M)
git config --global http.postBuffer 1048576000 (1G)
重新下载成功:
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
按下enter就会开始部署stable diffusion,最后会生成stable diffusion web UI的资料夹。
如果连接github有困难,也可以考虑这篇文章的办法:
https://www.bilibili.com/read/cv19359343/
-
接下来要安装Python。目前最新版本是3.11.2,不确定会不会有不兼容的问题,所以可以先选择安装3.10.6的版本。
https://www.python.org/
下载好后点击安装,记得勾选add python path选项,等待安装完成。 -
安装完成后可以先下载一些基本的模型给stable diffusion来使用,这边推荐stable diffusion 1.5版的基本模型以及anything V3.0的模型。
Huggingface.co站不需要科学上网:
https://huggingface.co/runwayml/stable-diffusion-v1-5
https://huggingface.co/Linaqruf/anything-v3.0
也可以到
https://civitai.com/提供大型的基本模型通常2G以上,并需科学上网。
还可以到
https://rentry.org/sdmodels下的steam models页面选择要下载的模型。
模型下载完成,复制到stable diffusion web UI资料夹下的models下的stable diffusion资料夹内。主模(ckpt)放置在/models/Stable-diffusion,微调(Lora)放置在/extensions/sd-webui-additional-networks/models/lora, 这样就完成了部署stable diffusion的所有步骤。
第一次开启stable diffusion
在有NVIDIA独显的机器上,以下两种方式都可以:
- 在stable diffusion web UI资料夹中点击web UI user bat。
- 在CMD命令窗口中,输入python launch.py, 确认。
在没有独显的机器上,要追加一些适用于仅使用CPU的设置即可:
3. 如果是在没有独显的机器上运行,则需要修改这个文件:
D:\stable-diffusion-webui\repositories\stable-diffusion-stability-ai\ldm\models\diffusion\ddim.py"的第10到21行,修改前:
class DDIMSampler(object):
def __init__(self, model, schedule="linear", device=torch.device("cuda"), **kwargs):
super().__init__()
self.model = model
self.ddpm_num_timesteps = model.num_timesteps
self.schedule = schedule
self.device = device
def register_buffer(self, name, attr):
if type(attr) == torch.Tensor:
if attr.device != self.device:
attr = attr.to(self.device)
setattr(self, name, attr)
修改后:
class DDIMSampler(object):
def __init__(self, model, schedule="linear", **kwargs):
super().__init__()
self.model = model
self.ddpm_num_timesteps = model.num_timesteps
self.schedule = schedule
def register_buffer(self, name, attr):
if type(attr) == torch.Tensor:
if attr.device != torch.device("cpu"):
attr = attr.to(torch.device("cpu"))
setattr(self, name, attr)
然后输入的启动命令为:python launch.py --precision full --no-half --skip-torch-cuda-test
以上启动参也可以找到D:\SD-fromgithub\stable-diffusion-webui\webui-user.bat,添加相关参数(=后面的,没有引号):
set COMMANDLINE_ARGS=–lowvram --precision full --no-half --skip-torch-cuda-test
这样更方便直接点击webui-user.bat启动。
第一次运行会下载必要的档案,请耐心等候。下载完成后会看到127.0.0.1:7860的这个网址。复制下来贴到浏览器的网址列执行就可以打开stable diffusion的界面。在左上角stable diffusion checkpoint这边选择要使用的基础模型。然后在text to image栏位填入关键字,按下generator AI就会开始产生图片。
更新stable diffusion
如果想要更新stable diffusion。可以在stable diffusion web UI资料夹中点击鼠标右键点击git bash here。输入Git Pull后按下enter。 Stable,diffusion就会自动更新。
最后,如果你的显存在8g以下,建议安装XFormers,它可以加快图像生成,并且降低显存的使用量。安装方式为编辑stable diffusion web UI下的web UI user bat点击鼠标右键编辑,在set COMMNADLINES ARGS=后面加入–xformers储存关闭后执行web UI user bat,就会自动安装XFormers。