背景
一直在研究文生图,之前一直是用原始模型和diffuser跑SD模型,近来看到不少比较博主在用 SDWebui,于是想着在Linux服务器上部署体验一下,谁知道并没有想象的那么顺利,还是踩了不少坑。记录一下过程,也许能帮忙有同样需求的朋友。
安装
- 在Linux服务器上建立conda 虚拟环境及对应目录,并下载代码仓。
conda create -n SDWebui python=3.10.6
conda activate SDWebui
mkdir SDWebui
cd SDWebui
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
在huggingface上下载三个模型文件(sd_xl_base_1.0.safetensors,sd_xl_refiner_1.0.safetensors,sdxl_vae.safetensors),分别放到models下的不同目录下,放完之后,目录结构如下:
2. 安装依赖环境
python -m pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 xformers
python -m pip install requirements.txt
python -m pip install -r requirements_versions.txt
- 下载OpenAI clip相关, 使用国内镜像即可:
mkdir openai
cd openai
git clone https://www.modelscope.cn/AI-ModelScope/clip-vit-large-patch14.git
- 编辑 launch.py文件,在文件的上方插入下面几行:
import os
os.environ["PYTORCH_CUDA_ALLOC_CONF"] = "max_split_size_mb:512"
os.environ['CUDA_LAUNCH_BLOCKING'] = '1'
- 启动webui
python launch.py --skip-torch-cuda-test --xformers --precision full --no-half --always-batch-cond-uncond --opt-split-attention
- 使用Webui
6.1 构建本地pc 和 远端服务器的端口映射:
ssh -L 7860:localhost:7860 用户名@Linux服务器IP
6.2 打开浏览器,输入http://localhost:7860/ 或者 http://127.0.0.1:7860/, 既可以得到如下页面,开始体验吧。