部署stable diffusion webui教程。
在云服务器上部署Stable Diffusion WebUI是一个涉及多步骤的过程,尤其是当你需要确保环境的正确配置和WebUI的稳定运行。以下是详细的部署教程。
一、准备工作
-
选择云服务器:
首先,选择一台具有GPU支持的云服务器。Stable Diffusion需要强大的图形处理能力,因此建议选择具有NVIDIA GPU的实例,例如AWS的p2或g4dn实例,或其他类似的云服务提供商。
-
连接到云服务器:
使用SSH连接到云服务器。以AWS为例:
ssh -i your-key.pem ec2-user@your-server-ip
解释:
your-key.pem
是你用于连接服务器的密钥文件,ec2-user
是默认用户,your-server-ip
是你的服务器IP地址。
二、安装依赖项
-
更新系统软件包:
在进行任何安装之前,先更新系统的软件包列表:
sudo apt-get update -y
sudo apt-get upgrade -y
解释:此命令会更新所有已安装的软件包,确保系统处于最新状态,以避免依赖问题。
-
安装必要的软件:
安装Python、Git和其他必需工具:
sudo apt-get install -y python3 python3-venv python3-pip git
解释:
python3
是Python的最新版本,python3-venv
用于创建虚拟环境,git
用于克隆代码库。 -
安装CUDA和cuDNN:
如果你的服务器使用的是NVIDIA GPU,安装CUDA和cuDNN以确保深度学习框架可以使用GPU:
sudo apt-get install -y nvidia-cuda-toolkit
解释:
nvidia-cuda-toolkit
包含了运行CUDA程序所需的库和工具。
三、安装Stable Diffusion WebUI
-
克隆WebUI代码库:
使用Git克隆Stable Diffusion WebUI的代码库:
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
cd stable-diffusion-webui
解释:
git clone
命令将代码库克隆到本地服务器,cd
命令进入项目目录。 -
设置Python虚拟环境:
在项目目录中创建并激活Python虚拟环境:
python3 -m venv venv
source venv/bin/activate
解释:
python3 -m venv venv
命令创建一个新的虚拟环境,source venv/bin/activate
命令激活该环境,使得所有安装的包仅在此环境中生效。 -
安装依赖包:
使用pip安装项目所需的所有Python依赖包:
pip install -r requirements.txt
解释:
requirements.txt
文件包含了所有必需的Python包及其版本,pip install
命令将根据此文件安装包。
四、下载模型文件
-
下载Stable Diffusion模型:
下载Stable Diffusion所需的预训练模型文件,例如
v1-4-pruned-emaonly.ckpt
。你可以通过以下命令下载:wget https://path/to/your/model/v1-4-pruned-emaonly.ckpt -O models/Stable-diffusion/model.ckpt
解释:
wget
命令用于从指定URL下载文件,-O
选项用于指定下载后的文件路径和名称。 -
将模型文件移动到正确的目录:
确保模型文件被正确放置到项目的
models/Stable-diffusion
目录下,这样WebUI启动时可以自动加载模型。
五、运行Stable Diffusion WebUI
-
启动WebUI:
使用以下命令启动Stable Diffusion WebUI:
python3 webui.py
解释:
webui.py
是启动WebUI的主脚本,运行该脚本后,WebUI将开始加载并在指定端口启动。 -
访问Web界面:
启动成功后,在浏览器中访问
http://your-server-ip:7860
,你将看到Stable Diffusion WebUI的界面。在这个界面上,你可以输入文本提示,生成图像,并进行其他相关操作。
六、优化与维护
-
后台运行WebUI:
为了使WebUI在断开SSH连接后继续运行,建议使用
screen
或tmux
工具:sudo apt-get install -y screen
screen -S sd-webui
python3 webui.py
解释:
screen -S sd-webui
命令创建一个新的屏幕会话,使得你可以在后台运行WebUI,并在断开连接后继续操作。 -
定期更新:
由于WebUI项目处于快速开发中,定期更新代码和依赖项是很重要的。你可以通过以下命令更新: