Stable Diffusion可以根据文本描述生成相关的图像,是当前最热门的文生图模型。
在Ubuntu下,可以选择快速安装,或者手动一步步安装。
快速安装
使用文档中的方法,先下载一个sh文件,然后执行这个文件,就自动安装依赖,自动启动服务了。
首先安装好需要的库
# Debian-based:
sudo apt install wget git python3 python3-venv libgl1 libglib2.0-0
# Red Hat-based:
sudo dnf install wget git python3 gperftools-libs libglvnd-glx
# openSUSE-based:
sudo zypper install wget git python3 libtcmalloc4 libglvnd
# Arch-based:
sudo pacman -S wget git python3
下载sh并执行:
wget -q https://raw.githubusercontent.com/AUTOMATIC1111/stable-diffusion-webui/master/webui.sh
sh webui.sh
如果github抽风导致git clone失败,可以进入webui.sh文件,修改其中的"${GIT}" clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git "${clone_dir}"
到 "${GIT}" clone --depth 2 https://github.com/AUTOMATIC1111/stable-diffusion-webui.git "${clone_dir}" ,可以提高成功率。
也可以手动去进行git clone指令。
后面按部就班一路安装成功即可。
也可以手动安装,手动安装可以较自由的选择torch版本等。
手动一步步安装
下载源代码
git clone --depth 2 https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
进入目录,使用conda安装pytorch等依赖
cd stable-diffusion-webui
conda env update --file environment-wsl2.yaml --prune
安装好后激活环境
conda activate automatic
下载模型
到huggingface网站下载模型,比如可以从gitee镜像下载:stable-diffusion-v1-5: Mirror of https://huggingface.co/runwayml/stable-diffusion-v1-5
可以从hf-mirrot.com这个镜像下载:https://hf-mirror.com/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.ckpt
下载这个文件:v1-5-pruned-emaonly.ckpt
将下载的文件改名成model.ckpt并放入指定目录:stable-diffusion-webui/models/Stable-diffusion/model.ckpt
比如
mv v1-5-pruned-emaonly.ckpt ~/github/stable-diffusion-webui/models/Stable-diffusion/model.ckpt
启动服务
python3 launch.py
如果是cpu环境,需要加上参数:
python launch.py --skip-torch-cuda-test 1
调试
报错RuntimeError: Torch is not able to use GPU
raise RuntimeError( RuntimeError: Torch is not able to use GPU; add --skip-torch-cuda-test to COMMANDLINE_ARGS variable to disable this check
加上参数执行:python launch.py --skip-torch-cuda-test 1
报错git clone Error code: 128
File "/home/linuxskywalk/github/stable-diffusion-webui/modules/launch_utils.py", line 115, in run
raise RuntimeError("\n".join(error_bits))
RuntimeError: Couldn't clone Stable Diffusion.
Command: "git" clone --config core.filemode=false "https://github.com/Stability-AI/stablediffusion.git" "/home/linuxskywalk/github/stable-diffusion-webui/repositories/stable-diffusion-stability-ai"
Error code: 128
是github repo下载出错,加上--depth 2 ,然后手工执行:
"git" clone --depth 2 --config core.filemode=false "https://github.com/Stability-AI/stablediffusion.git" "/home/linuxskywalk/github/stable-diffusion-webui/repositories/stable-diffusion-stability-ai"
如果还不行,就想其它办法,比如github不抽风的时候下载。
报错RuntimeError: Couldn't fetch Stable Diffusion XL.
run(f'"{git}" -C "{dir}" fetch --refetch --no-auto-gc', f"Fetching all contents for {name}", f"Couldn't fetch {name}", live=True)
File "/home/linuxskywalk/github/stable-diffusion-webui/modules/launch_utils.py", line 115, in run
raise RuntimeError("\n".join(error_bits))
RuntimeError: Couldn't fetch Stable Diffusion XL.
Command: "git" -C "/home/linuxskywalk/github/stable-diffusion-webui/repositories/generative-models" fetch --refetch --no-auto-gc
Error code: 129
使用conda install git试试
还是不行。原来generative-models不能用--depth 2 这个参数,因为用了之后可能拿不到repo branch
删除该目录,重新安装
git clone https://github.com/Stability-AI/generative-models.git
ok了