全自动安装
官方给出的 Linux 安装指导非常简单:下载 webui.sh,运行它,然后一切都会被全自动地下载、安装完成。但是如果没有魔法,那么就不能使用这种方式,会出现网络请求超时。我本地有魔法,但是服务器没有,所以服务器部署不能用自动化方式,只能是手动安装,本地电脑下载必要的资源上传给服务器。
自动化方式官网提供了,这里就不再提。
链接: stable-diffusion-webui
自动化安装的原理如下:
- 下载 webui 仓库;
- 在 ./venv 下创建并激活 python 虚拟环境;
- 调用 launch.py 安装需要的包及下载需要的仓库;
- 启动 webui.
手动安装
总共有这个几个项目需要下载
链接: stable-diffusion-webui
链接: stablediffusion
链接: generative-models
链接: k-diffusion
git clone或者下载zip都可以,下载zip需要保证名称是项目名。
先下载stablediffusion,然后在stablediffusion里面创建目录repositories
形成如下目录
|-- stablediffusion
| |-- repositories
然后将generative-models和k-diffusion放在repositories目录下
最终的目录结构如下
|-- stablediffusion
| |-- repositories
| | |-- generative-models
| | |-- k-diffusion
下载python3
sudo apt install python3.10
创建venv环境
python3 -m venv .venv
激活虚拟环境
source .venv/bin/activate
安装Torch
上官网找对应CUDA版本的torch
链接: pytorch版本
例如我是CUDA Version: 11.7
pip install torch2.0.0+cu117 torchvision0.15.1+cu117 torchaudio==2.0.1 --index-url https://download.pytorch.org/whl/cu117
安装依赖
进入项目目录stablediffusion,将以下依赖都安装了
pip install -r requirements.txt
pip install -r requirements_versions.txt
pip install -r repositories/k-diffusion/requirements.txt
pip3 install -r repositories/generative-models/requirements/pt2.txt
pip install ftfy regex tqdm -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install open_clip_torch
pip install einops
pip3 install omegaconf>=2.3.0
安装xformers
需要找到对应torch版本的,不然他会删除你原来的torch。
我是torch==2.0.0
所以安装
pip3 install xformers==0.0.19
如果还提示其他model找不到,先看看上面这几个requirementsl里面有没有,有的话根据里面的指令安装,没有就找ChatGpt问下是不是公共库,是的话根据gpt的指令安装就可以,如果不是就要看看上面下载的几个项目是不是漏了,或者目录结构不对。
下载基础模型
从链接下载基础模型(Stable Diffusion v2.1,safetensors 格式,5.21 GB),放在 ./models/Stable-diffusion/ 下。当然也可以下载其他基础模型。
启动 webui
python webui.py
服务默认运行在 127.0.0.1:7860 上。
–port xxxx 参数更改端口
例如:python3 webui.py --port 7866
加速生成
加速推理,使用–xformers
例如: python3 webui.py --xformers
错误修复
- ModuleNotFoundError: No module named ‘pytorch_lightning.utilities.distributed’ 解决: 安装特定版本:pip install pytorch-lightning==1.6.5
- 生成时报错: modules.devices.NansException: A tensor with all NaNs was produced in Unet. This could be either because there’s not enough precision to represent the picture, or because your video card does not support half type. Try setting the “Upcast cross attention layer to float32” option in Settings > Stable Diffusion or using the --no-half commandline argument to fix this. Use --disable-nan-check commandline argument to disable this check. 解决: 启动webui.py时,加上–disable-nan-check 例如:python3 webui.py --disable-nan-check
- 生成黑图 解决: 启动指令加入–lowvram --precision full --no-half 例如:python3 webui.py --disable-nan-check --lowvram --precision full --no-half
参考链接
链接: 参考链接
版权归原作者 NeuraSync 所有, 如有侵权,请联系我们删除。