前言
本文介绍如何通过腾讯云GPU服务器部署Stable Diffusion,并安装Stable Diffusion WebUI可视化界面。
购买服务器
腾讯云相对而言,部署还是比较简单的,以“GN7-T4”配置的GPU服务器为例,活动价60元/15天。
对于轻量体验使用足够。长期使用的话,对个人用户而言,云服务成本比本地电脑要高些。
云服务器活动链接 https://cloud.tencent.com/act/pro/seckill_season?from=20210
切记以下内容,选对服务器配置,后续可以出错概率降低很多。
- 服务器地域,首选“香港”,其次选其他海外地区。因为Stable Diffusion很多环境和模型文件都比较大,选这些地域下载快些,后期安装过程出错率也非常低。
- 预装镜像选“Docker基础镜像”。该镜像预装环境(Ubuntu 20.04 + Docker 23.0.1 + nvidia-docker + GPU驱动版本 470.82.01),可以免去了手动安装部分环境,N卡驱动的流程。
安装conda环境
进入云服务器
- 打开腾讯云的云服务器后台,点击登录
- 登录后,会发现,腾讯云已经内置了轻量应用OrcaTerm,方便可视化操作。
安装所需环境
输入以下代码,下载anaconda
wget https://mirrors.bfsu.edu.cn/anaconda/archive/Anaconda3-2022.10-Linux-x86_64.sh --no-check-certificate
再输入以下代码,安装anaconda
bash Anaconda3-2022.10-Linux-x86_64.sh
按提示走就行,先回车继续
阅读协议内容,按“q”退出,输入“yes”继续安装,再继续回车,安装在默认路径即可。
启用环境
输入代码,打开配置文件
vim ~/.bashrc
会自动打开一个文件。按“i”进入编辑状态,移动到文件最底部,输入以下代码(如果手动改为anaconda的路径,则需要把代码中对应的路径修改下)。然后按“esc”键退出编辑,并输入“:wq”。
export PATH="/home/ubuntu/anaconda3/bin:$PATH"
建议在英文输入法的情况下操作,代码能复制就复制,减少新人出错概率。
操作完以上步骤后,输入以下代码,让前面的修改立即生效。
source ~/.bash_profile
创建并进入虚拟环境
- 创建环境
输入以下代码,为Stable Diffusion创建一个名为“sd”的虚拟环境。根据提醒,输入“y”确认创建即可。
conda create -n sd python=3.10
- 进入环境
输入以下代码,进入刚刚创建的环境。
source activate sd
如下图所示,如果看到新的一行,最左边有环境的名字,则表示顺利。
下载Stable Diffusion WebUI程序
输入以下代码,下载WebUI文件
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
下载模型(可选)
Stable Diffusion启动时,需要有模型,如果是境外服务器,网络一般都没问题,这步骤可以跳过,后续运行WebUI时,会自己下载模型。
如果有手动下载模型,可以输入以下代码(以常用的chilloutmix模型为例)
cd stable-diffusion-webui/models/Stable-diffusion
wget -O chilloutmix_NiPrunedFp32.safetensors https://civitai.com/api/download/models/9475
第一行cd是进入指定路径,第二行是下载模型,也可以换成自己喜欢的模型信息。
更新pip
输入以下代码,更新下程序
Sudo -m pip install --upgrade pip
pip install --upgrade pip
运行Stable Diffusion WebUI
如果是境外服务器,这一步会非常顺利,下载速度也很快,大概20分钟可以搞定。
运行以下代码
cd stable-diffusion-webui
./webui.sh --listen
示意图如下,记得看看命令最左侧是否有第4步创建的环境名,如(sd)
如没出现报错、卡顿等情况,则可跳过这块内容
如果这个环境出错,大概率都是因为网络问题。如果买的是境内的服务器,可以按以下方式修改下载源,解决网络问题。
运行以下代码
cd stable-diffusion-webui
vi launch.py
- 打开“launch.py”文件后,
- 按“i”进入编辑状态,
- 找到“def prepare_environment”模块,以及如图所示的8个github链接
- 在每一个github链接前面添加
**https://ghproxy.com/**
例如git+https://github.com/TencentARC/GFPGAN.git@8d2447a2d918f8eba5a4a01463fd48e45126a379
改为git+https://ghproxy.com/https://github.com/TencentARC/GFPGAN.git@8d2447a2d918f8eba5a4a01463fd48e45126a379
- 然后按“esc”键退出编辑,并输入“:wq”保存并退出。
- 最后再重新运行
**./webui.sh --listen**
命令即可。
当看到以下内容时,则代表安装成功,浏览器打开 http://x.x.x.x:7860/ (“x”记得改为你服务器的公网IP),就可以看到Stable Diffusion WebUI的页面了,恭喜恭喜。
后续服务器重启时,每次运行Stable Diffusion,都需要重复以下命令,进入环境以及启动Stable Diffusion WebUI。
source activate sd
cd stable-diffusion-webui
./webui.sh --listen