Linux部署Stable Diffusion

Stable Diffusion10个月前更新 缦胡缨
377 0 0
Linux部署Stable Diffusion

本教程使用的是腾讯的gpu服务器gn7,由于部署是需要使用github,这里用了非国内节点,用了新加坡节点

系统是Ubuntu server 18.04 LTS 64位

准备

购买好服务器之后,进入后台,先重装系统,主要是要安装这几个驱动 GPU,CUDA,cuDNN

Linux部署Stable Diffusion

然后用ssh工具进入后台,先用代码查看是否完成安装了GPU,CUDA,cuDNN驱动

ps aux | grep -i install

如果显示是以下信息,说明已经安装完成,如果有错误,可以重新安装系统

Linux部署Stable Diffusion

然后跟新包文件,等待完成

sudo apt update

sudo apt upgrade -y

部署 conda

我们这里用conda部署,比较方便

安装conda环境

下载

wget https://repo.anaconda.com/archive/Anaconda3-2022.10-Linux-x86_64.sh

如果是国内节点,不能访问官网或者下载很慢,可以用下面命令

wget https://mirrors.bfsu.edu.cn/anaconda/archive/Anaconda3-2022.10-Linux-x86_64.sh --no-check-certificate

安装

bash Anaconda3-2022.10-Linux-x86_64.sh

一路回车,需要 yes/no 的全填 yes,然后回车,等待安装完成。

启动 conda 环境变量

如果打入命令 conda ,显示以下提示

conda: command not found

需要启动已经修改环境变量,输入以下命令(以后都不用再 source 了,启动 Ubuntu 会自动 source)

source ~/.bashrc

你会发现用户名前面会出现(base) 字样,如下所示

(base) ubuntu@VM-0-10-ubuntu:~$

这样说明您的conda环境变量配置完成了


注意

如果输入 source ~/.bashrc命令之后没反应,再输入 conda,还是提示

conda: command not found

你要打开 .bashrc 文件,看看有没有 conda 的配置了

vi ~/.bashrc

如果没有关于conda的配置,就在文件最后加上以下配置内容,一些地址根据需要自行更改

# >>> conda initialize >>> 
# !! Contents within this block are managed by 'conda init' !! 
__conda_setup="$('/home/ubuntu/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)" 
if [ $? -eq 0 ]; then 
eval "$__conda_setup" 
else 
if [ -f "/home/ubuntu/anaconda3/etc/profile.d/conda.sh" ]; then 
. "/home/ubuntu/anaconda3/etc/profile.d/conda.sh" 
else 
export PATH="/home/ubuntu/anaconda3/bin:$PATH" 
fi 
fi 
unset __conda_setup 
# <<< conda initialize <<<

输入完成后,保存退出

再去执行

source ~/.bashrc

这样就可以了


升级conda

经过以上配置,已经可以用conda命令了,我们现在来升级一下conda

conda update -n base -c defaults conda

创建并进入 conda 虚拟环境

输入以下命令,创建名为 sd 的虚拟环境,python 版本为 3.10 (python版本太低,会出错的,最好用3.10)

conda create -n sd python=3.10

输入 y 并回车后,开始下载并创建

进入刚才创建的虚拟环境

conda activate sd

可以看到前缀已经从 base 变成了 sd,输入 python显示python 版本为 3.10.10,如下所示

(sd) ubuntu@VM-0-10-ubuntu:~$ python
Python 3.10.10 (main, Mar 21 2023, 18:45:11) [GCC 11.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

输入git,查看是否有git命令,如果没有就用以下命令安装

conda install -c anaconda git

注意:如果以下报错信息

See 'conda init --help' for more information and options.
IMPORTANT: You may need to close and restart your shell after running 'conda init'.

解决方法:

重新进入虚拟环境

source activate

退出虚拟环境

conda deactivate

最后,重新执行conda activate sd,没有报错,成功进入该虚拟环境。

错误原因:

ssh连接该服务器使用 conda activate sd 命令激活环境后未使用conda deactivate退出环境就关闭终端导致的。


自动进入虚拟环境(此步骤可选)

第一种

将以下命令行添加到 ~/.bashrc 最后,下次只需要输入 sd 就直接进入虚拟环境

vi ~/.bashrc 

alias sd='conda activate sd'

第二种

将以下命令行添加到 ~/.bashrc 最后,每次登陆服务器时,自动进入sd 虚拟环境

vi ~/.bashrc 

source activate sd

部署stable-diffusion-webui

下载 stable-diffusion-webui 到服务器本地

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui

如果是国内节点,网络不好,只能Ctrl+z退出重新操作,如果提示文件夹已经存在,就用 rm -rf stable-diffusion-webui删除,再重复以上操作

更新pip

sudo -m pip install --upgrade pip

pip install --upgrade pip

安装并启动 stable-diffusion-webui

cd stable-diffusion-webui

./webui.sh

安装大概半小时。如果卡太久并且没网络流量显示,Ctrl+Z断开重试上一步的命令

因为是云服务器,为了完成后可以远程访问,对命令做如下修改

./webui.sh --listen --no-half

–no-half 可以省略

以下是启动完成的截图,如出现跟以下类似的内容,说明部署成功,你可以用服务器ip访问你的 stable-diffusion-webui 了(地址一般是 http://您的ip:7860

Linux部署Stable Diffusion

如果用IP进入stable-diffusion-webui 界面,安装插件是显示以下内容

AssertionError: extension access disabed because of commandline flags

请不要紧张,这是因为添加“–listen”参数之后,系统为了安全,就会禁止安装插件,但是去掉“–listen”之后就不能远程访问了,那有没有两全其美的方法呢?

有的只要加上--enable-insecure-extension-access参数,就可以即远程访问,又能安装插件了,命令如下

./webui.sh --listen --enable-insecure-extension-access

当装完插件您就可以用 ./webui.sh --listen命令启动了,这样更安全

补充

如果想关闭云服务器页面后,服务仍然运行,可以使用nohup命令,具体是将启动时的命令做如下调整。后续想关的时候使用kill命令即可

nohup ./webui.sh --listen

以上整个部署笔记完结


插件推荐

我所用的插件概览及安装地址

Linux部署Stable Diffusion

一些小彩蛋

chilloutmix模型

进入stable-diffusion-webui/models/Stable-diffusion文件夹,下载chilloutmix模型到本地。

cd stable-diffusion-webui/models/Stable-diffusion

wget -O chilloutmix_NiPrunedFp32.safetensors https://civitai.com/api/download/models/9475

这些都弄好了之后呢,然后还需要一些额外的文件和模型,目前大家从网上看到比较火的两个模型:chilloutmix 和 Lora(包含18+内容,这个算了算了。。),下载文件都可以从 civitai.com/ 网站找到。

sd-v1-4.ckpt,下载地址:https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt

chilloutmix 模型,下载地址:https://civitai.com/models/6424/chilloutmix

Korean-doll 模型,说是韩风美女,下载地址: https://civitai.com/models/11619/korean-doll-likenesss

GFPGANv1.4.pth 脸部优化,下载地址:https://github.com/TencentARC/GFPGAN/releases/download/v1.3.0/GFPGANv1.4.pth

1 和 2 放在 models/Stable-diffusion 目录,3 放到 models/Lora 目录,最后一个放在项目的根目录。


最后的话

如果喜欢 Stable Diffusion 请给我留言,我将出一系列的使用技巧教程,谢谢阅读。

参考:

https://github.com/AUTOMATIC1111/stable-diffusion-webui
© 版权声明

相关文章

没有相关内容!

暂无评论

暂无评论...