GPU云服务器部署Stable Diffusion AI绘画指南

GPU云服务器部署Stable Diffusion AI绘画指南

发布时间:2024-10-12 12:28:52

1. 准备工作

1.1 选择gpu云服务器

  • 推荐配置:
    • gpu: nvidia tesla t4 或更高
    • ram: 至少16gb
    • 存储: 至少100gb ssd
    • 操作系统: ubuntu 20.04 lts

1.2 连接到服务器

使用ssh连接到您的服务器:

bash
ssh username@your_server_ip

1.3 更新系统

bash
sudo apt update && sudo apt upgrade -y

2. 安装cuda和cudnn

2.1 安装cuda

bash

wget https://developer.download.nvidia.com/compute/cuda/11.6.0/local_installers/cuda_11.6.0_510.39.01_linux.run
sudo sh cuda_11.6.0_510.39.01_linux.run

按照提示进行安装,选择"accept"和"install"。

2.2 设置环境变量

编辑 ~/.bashrc,添加以下行:

bash

export path=/usr/local/cuda-11.6/bin${path:+:${path}}
export ld_library_path=/usr/local/cuda-11.6/lib64${ld_library_path:+:${ld_library_path}}

然后运行:

bash
source ~/.bashrc

2.3 安装cudnn

从nvidia开发者网站下载cudnn,然后上传到服务器:

bash

tar -xzvf cudnn-11.6-linux-x64-v8.4.0.27.tgz
sudo cp cuda/include/cudnn*.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

3. 安装python和依赖

3.1 安装python

bash
sudo apt install python3.8 python3.8-venv python3-pip -y

3.2 创建虚拟环境

bash

python3.8 -m venv sd_env
source sd_env/bin/activate

3.3 安装pytorch

bash
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu116

4. 安装stable diffusion web ui

4.1 克隆仓库

bash

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

4.2 下载模型

从hugging face下载模型文件(例如:sd-v1-4.ckpt),并将其放在 models/stable-diffusion 目录下。

4.3 安装依赖

bash
pip install -r requirements.txt

4.4 启动web ui

bash
python launch.py --listen

5. 使用stable diffusion

5.1 访问web ui

在浏览器中访问 http://your_server_ip:7860

5.2 生成图像

  1. 在文本框中输入提示词
  2. 调整参数(如steps, cfg scale等)
  3. 点击"generate"按钮

5.3 使用高级功能

  • img2img: 上传图片并修改
  • inpainting: 局部修改图片
  • outpainting: 扩展图片边界

6. 优化和性能提升

6.1 使用xformers(如果兼容)

编辑 webui-user.sh,添加:

bash
export commandline_args="--xformers"

6.2 调整批处理大小

在web ui中,根据您的gpu内存调整batch size和batch count。

7. 常见问题和故障排查

7.1 cuda相关问题

  1. 检查cuda是否正确安装:
    bash
    nvcc --version
  2. 检查gpu是否被识别:
    bash
    nvidia-smi

7.2 内存不足

  1. 减小批处理大小
  2. 使用更小的模型或优化的模型(如pruned models)

7.3 生成速度慢

  1. 使用 --precision full --no-half 参数启动(可能会增加内存使用)
  2. 尝试不同的采样器(如euler a, dpm++ 2m karras)

7.4 无法访问web ui

  1. 检查防火墙设置,确保7860端口开放
  2. 使用 --listen 参数启动以允许远程访问

7.5 模型加载失败

  1. 检查模型文件是否完整下载
  2. 确保模型文件放在正确的目录下

7.6 依赖项冲突

  1. 创建新的虚拟环境
  2. 按顺序安装依赖:先pytorch,然后是requirements.txt中的其他依赖

8. 进阶使用

8.1 使用lora模型

  1. 下载lora模型文件(.safetensors或.pt)
  2. 将文件放入 models/lora 目录
  3. 在web ui中的"additional networks"部分使用lora

8.2 使用textual inversion

  1. 下载textual inversion文件(.pt)
  2. 将文件放入 embeddings 目录
  3. 在提示词中使用学习的概念

8.3 设置定时任务

使用cron设置定时任务,例如每天重启服务:

bash

crontab -e
# 添加以下行
0 4 * * * cd /path/to/stable-diffusion-webui && ./webui.sh --restart

8.4 使用api

stable diffusion web ui提供了api,您可以通过它来集成到其他应用中:

python

import requests

url = "http://your_server_ip:7860/sdapi/v1/txt2img"

payload = {
"prompt": "a beautiful landscape, artstation",
"steps": 50
}

response = requests.post(url, json=payload)
# 处理响应...

记住,持续关注stable diffusion和web ui的更新,因为这个领域发展迅速,新功能和优化经常出现。定期更新您的安装可以获得最新的功能和性能改进。

-------------------------------------------------------------

上面是一个详细的指南,介绍如何在gpu云服务器上部署和使用stable diffusion进行ai绘画。这个指南涵盖了从服务器准备到模型部署,再到使用和故障排查的全过程。主要内容包括:

  1. 准备工作
  2. 安装cuda和cudnn
  3. 安装python和依赖
  4. 安装stable diffusion web ui
  5. 使用stable diffusion
  6. 优化和性能提升
  7. 常见问题和故障排查
  8. 进阶使用

这个指南旨在帮助您从零开始,一步步在gpu云服务器上部署stable diffusion。每个步骤都有详细的说明和命令,您可以直接复制粘贴到终端中执行。

特别是在故障排查部分,我列出了一些常见问题及其解决方法,这应该能帮助您解决在部署和使用过程中可能遇到的大部分问题。

此外,进阶使用部分提供了一些额外的技巧和方法,可以帮助您更好地利用stable diffusion的功能。

感谢提供:05互联