注意:Stable Diffusion的安装和运行所需要的内存要大于16G。如果系统内存太小,则不建议安装,大概率会安装失败或者很难流畅加载运行。另外,如果只有集显或AMD卡,没有Nvidia显卡,那么在Windows系统下无法使用GPU加速(需要用到Torch),生图的速度会比较慢。
需要的软件环境:Python环境、Git环境。如果需要用GPU进行计算,还要确保有GPU驱动。
Stable Diffusion WebUI 下载:https://github.com/AUTOMATIC1111/stable-diffusion-webui。也可使用git命令进行下载:
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
Stable Diffusion 模型下载:https://huggingface.co/stabilityai 或其他网站。例如:
wget https://huggingface.co/stabilityai/stable-diffusion-2-1/resolve/main/v2-1_768-ema-pruned.safetensors
Stable Diffusion 的安装步骤:
- 首先要确认下已经安装了Python环境和Git环境,命令为:python --version 和 git --version。
- 下载 .safetensors模型文件 或 .ckpt 模型文件,将模型文件放置至 ./stable-diffusion-webui/models/Stable-diffusion 文件夹中。
- 运行 ./stable-diffusion-webui 文件夹下的 webui.bat 文件(Windows系统)或 webui.sh文件(Linux系统),将自动安装 Stable Diffusion WebUI 所需要的python库,并启动。
- 打开提示的“http://127.0.0.1:端口”网页。
运行webui.sh前,可以在webui-user.sh中设置一些参数,例如:
export COMMANDLINE_ARGS="-f --listen --gradio-auth your_username:your_password --port 7860 --enable-insecure-extension-access"
另外,使用命令 git pull 可以拉取远程最新文件并与本地代码合并,实现更新最新版本的效果。
目前自己遇到的报错和解决方法:
(1)Torch is not able to use GPU
- 如果是Windows系统,有Nvidia显卡,但没有安装好cuda版本的Torch。解决方法:安装Nvidia驱动。通过命令 nvidia-smi 验证是否安装成功。另外,可能需要卸载Torch后重新安装cuda版本的Torch。参考:https://pytorch.org/get-started/locally/。
- 如果是Windows系统,没有Nvidia显卡,那么没法安装cuda版本的Torch。在Windows下,Torch暂时不支持其他GPU。解决方法:文本打开webui-user.bat文件,增加为“set COMMANDLINE_ARGS=--skip-torch-cuda-test”,改为运行webui-user.bat文件。该方法可以跳过GPU,改用CPU,但运行速度会减慢很多。
- 如果是Linux系统,有显卡,可以安装对应显卡版本的Torch,同样参考:https://pytorch.org/get-started/locally/。另外,GPU的驱动可以使用命令进行安装(某个版本):wget https://cn.download.nvidia.com/tesla/460.73.01/NVIDIA-Linux-x86_64-460.73.01.run,之后 sh 该文件。或者使用命令:sudo apt-get update 和 sudo ubuntu-drivers autoinstall。
- 如果是Linux系统,无显卡,那么修改webui-user.sh文件,在COMMANDLINE_ARGS处增加 --skip-torch-cuda-test,分别运行webui-user.sh文件和webui.sh文件。
(2)raise ReadTimeoutError(self._pool, None, "Read timed out.")
- 大概率是网络问题,确定搭好梯子后多试几次。
- 或者试着换成阿里源、清华源、中科大源等其他源试试。由于源可能不是最新的,这个方法可能会无效。换源命令参考:安装Python环境。如果仍然出错,可以根据提示使用手动命令下载和安装。
(3)在root角色下安装报错
- 解决方法:将命令 sudo sh webui.sh 改为 sudo bash webui.sh -f。
(4)ERROR: Cannot activate python venv, aborting…
- 解决方法:可以重新下载stable-diffusion-webui包后,再运行.sh文件或.bat文件。
(5)Cannot locate TCMalloc (improves CPU memory usage)
- 安装这个解决:sudo apt install --no-install-recommends google-perftools
(6)ImportError: libGL.so.1: cannot open shared object file: No such file or directory
- 运行命令:apt-get update
- 运行命令:apt install libgl1-mesa-glx
(7)error: subprocess-exited-with-error
- 解决方法:在对应的Python环境中安装setuptools。例如:"./stable-diffusion-webui/venv/bin/python3" -m pip install --upgrade setuptools
(8)加载模型时提示 "LayerNormKernelImpl" not implemented for 'Half'。
- 增加:--no-half。例如:如果是在Windows系统下,文本打开webui-user.bat文件,增加为“set COMMANDLINE_ARGS=--skip-torch-cuda-test --no-half”,运行webui-user.bat文件。在Linux系统下,同样打开webui-user.sh文件,在COMMANDLINE_ARGS处增加 --skip-torch-cuda-test --no-half,分别运行webui-user.sh文件和webui.sh文件。
(9)modules.devices.NansException: A tensor with all NaNs was produced in Unet.
- 增加:--disable-nan-check。增加后可能会出现黑图,可以先换其他模型,或者额外加上 --precision full --no-half 试试。
(10)网页打开后显示 Something went wrong Expecting value: line 1 column 1 (char 0)
- 解决方法:关闭梯子。
(11)服务器使用远程访问、设置密码、固定端口
- 在COMMANDLINE_ARGS中继续增加参数:--listen,可实现非127.0.0.1地址访问。
- 在COMMANDLINE_ARGS中增加:--gradio-auth 用户名:密码。
- 在COMMANDLINE_ARGS中增加:--port 7860。
(12)安装插件时报错 AssertionError: extension access disabled because of command line flags
- 在COMMANDLINE_ARGS中增加:--enable-insecure-extension-access。
Stable Diffusion插件推荐:
- ControlNet(支持控制):https://github.com/Mikubill/sd-webui-controlnet
- Civitai-Helper(支持快捷下载Civitai模型和模型预览图):https://github.com/butaixianran/Stable-Diffusion-Webui-Civitai-Helper
【说明:本站主要是个人的一些笔记和代码分享,内容可能会不定期修改。为了使全网显示的始终是最新版本,这里的文章未经同意请勿转载。引用请注明出处:https://www.guanjihuan.com】