×

手把手教你在linux中部署stable-diffusion-webui N卡A卡显卡可用

Kalet Kalet 发表于2023-02-21 22:19:29 浏览1562 评论0

抢沙发发表评论

转自:https://www.ymhworld.cn/archives/36/


请注意,本文编写于 86 天前,最后修改于 19 天前,其中某些信息可能已经过时。

02.02更新 新修订文章
01.04更新 :1.更新webui到最新版本 2.添加了BLIP和deepdanbooru反推所需的pt包 3.更新了conda安装脚本
2022.11.28更新 :修改了一些错误,并将网盘更新到最新的webui
2022.12.05更新 :增加了xformers包,并将网盘更新到最新的webui(12月05日)
视频教程
https://www.bilibili.com/video/BV1JY411S78M/

注意:
1.N卡A卡显卡用户需要先安装所需的显卡驱动,然后再按照本教程执行。
2.在Autodl、腾讯云GPU等云服务上无需安装显卡驱动。
3.网盘中的stable-diffusion-webui-lnv.zip仅下载了一些常用的插件,其他与AUTOMATIC1111相同,没有进行任何二次修改,目的是加快安装速度,已适配20230129的新webui。 
4.该部署方式已在Autodl、腾讯云GPU测试,保证可用性。
0.下载或使用git克隆webui
方式一、从网盘下载
首先先上传stable-diffusion-webui-lnv.zip到服务器(或linux系统)中并解压。

地址:
https://www.123pan.com/s/S0HuVv-GapOd 提取码:i1zl

关于网盘中文件的解释:
网盘中的文件会随着webui的更新而更新,由于A大最近bug比较多,所有分为两个文件,如下:

stable-diffusion-webui-lnv.zip 为webui较为稳定的版本,上次更新见网盘的“稳定更新2023XXXX.txt”(无需下载这个txt文件),以后会大约一个月更新一次。

stable-diffusion-webui-lnv-s.zip 为webui的最新版本,一般会2~3天更新,最长不超过7天。
两个任选其一就行,记得解压哦

unzip -q stable-diffusion-webui-lnv.zip

unzip -q stable-diffusion-webui-lnv-s.zip

方式二、git clone克隆
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui

1、安装conda虚拟环境
推荐安装,因为使用conda虚拟环境可以避免将python和webui的依赖包影响系统中已经有的包,即使环境错误也可以直接换一个虚拟环境重新开始,不用重装系统。

(1)将网盘中的conda安装脚本放到服务器(或linux系统)中,并执行
bash Miniconda3-latest-Linux-x86_64.sh 
按回车
1.png
1.png

输入yes
2.png
2.png

按回车(这里每个人都不一样,默认即可)
3.png
3.png

输入yes
4.png
4.png

前面出现(base)为成功
5.png
5.png

(2)创建一个名为sd-webui的虚拟环境(sd-webui名字可以任意)

conda create -n sd-webui python=3.10 -y
6.png
6.png

并切换到刚创建的虚拟环境

conda activate sd-webui
7.png
7.png


如果你想每次打开自动切换到该环境,就执行:
vi ~/.bashrc
将光标放在最后一行,添加
conda activate sd-webui

使用这条命令可以查看虚拟环境安装的依赖包(ps:现在应该只有默认的几个包)

pip list
8.png
8.png

2.安装webui所需要的依赖包(可能需要代理)
注意:下面要按顺序执行

如果下面pip下载很慢,就在每条命令后加下面这条,使用清华源,会快很多

-i https://pypi.tuna.tsinghua.edu.cn/simple
(1)先安装pytorch(二选一)
如果你是n卡,直接执行(2)步

如果你是amd卡,就执行这条命令:

pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/rocm5.2/"
(2)再安装webui依赖
先执行:

pip install -r stable-diffusion-webui/requirements_versions.txt
然后执行:

pip install -r stable-diffusion-webui/requirements.txt 
(3)安装webui插件的依赖
注意:如果你使用gitclone克隆的webui,默认是没有任何插件的,就需要跳过这步。

比如dreambooth的插件:

pip install -r stable-diffusion-webui/extensions/sd_dreambooth_extension/requirements.txt 
其他的插件都需要对应文件夹的requirements.txt 进行安装。

3.创建webui启动脚本:(如果你使用的是stable-diffusion-webui-lnv.zip解压的webui,就不用执行这步,已自带)
cd stable-diffusion-webui/
vi start.sh
将下面横杆内粘贴到start.sh中
注意:需要将你需要的命令替换到COMMANDLINE_ARGS中。就像这样:
export COMMANDLINE_ARGS="--你的命令"
如:
export COMMANDLINE_ARGS="--xformers --deepdanbooru"

#!/bin/bash

export COMMANDLINE_ARGS="--deepdanbooru --port 6006 --theme dark"

python_cmd="python"
LAUNCH_SCRIPT="launch.py"

"${python_cmd}" "${LAUNCH_SCRIPT}" "$@"
4.启动webui
提示:执行下面将自动安装(或补充)依赖包

cd stable-diffusion-webui/
bash start.sh


可选:webui本体及所有插件一键更新脚本
哔哩哔哩栏

--教程结束--

现在是问题时间:
问1:我该怎么更新webui?
答:在stable-diffusion-webui文件夹下执行:

git pull
问2:我该怎么导入模型到webui
答:

mv {你的模型文件名.ckpt} stable-diffusion-webui/models/Stable-diffusion/
mv {你的模型文件名.vae.ckpt} stable-diffusion-webui/models/VAE/

问3:start.sh文件中的 export COMMANDLINE_ARGS="--deepdanbooru --port 6006 --theme dark" 这一步的作用是什么呀,什么情况下需要修改呢?
答:
start.sh文件中的COMMANDLINE_ARGS是运行webui的一些参数,比如我这里--deepdanbooru 就是启用deepdanbooru识别tag, --port 6006就是端口号改为6006, --theme dark就是夜间主题,按你的实际需求添加就行,不用的可以删除。

问4:在(3)安装webui插件的依赖这一步,现在没有对应的requirement文件了?
答:
第三步是dreambooth插件的依赖包,你直接git的默认不带插件,所以跳过执行下一步就行。

现在是错误解决时间:
1、执行命令unzip -q stable-diffusion-webui-lnv.zip 显示:Command 'unzip' not found, but can be installed with:
sudo apt install unzip
解决方法:sudo apt install unzip

2、pip 报错出现 出现Could not find a version that satisfies the requirement xxx (from versions: )
解决方法:在每条命令后加“--trusted-host pypi.tuna.tsinghua.edu.cn”
如:

pip install 包名 -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn

如果你需要使用xformers,请看这篇文章
手把手教你编译安装xformers

1.从github下载xformers (需要代理)注意:如果你是12月5日后下载的stable-diffusio...

群贤毕至

访客