如何在GPU服务器上安装Stable Diffusion webUI

一、前提条件

1、硬件条件

GPU:12G+,建议16G以上,还是尽量勾搭,好像现在最大32G,目前个人性价比24G有时长出售。

内存:16G以上,建议32G,也是越大越好。

硬盘:最好使用固态硬盘,还是尽量够大

2、软件要求:

python:3.10

cuda:11.8

二、文件下载

github:GitHub - AUTOMATIC1111/stable-diffusion-webui: Stable Diffusion web UI

 整合好的版本:

链接: https://pan.baidu.com/s/1N0czN9ND_TeXpucKWYIrFg 提取码: t4de 

 选择文件:stable-diffusion-webui.zip

解压文件:

unzip stable-diffusion-webui.zip

三、开始安装stable-diffusion-webui

1、创建Python虚拟环境

我目前部署的是v1.9.3版本的Stable Diffusion,需要3.10.6版本的Python

//创建conda环境
conda create -n stable python=3.10.6
//激活conda环境
conda activate stable

2、安装python依赖包

pip install -r requirements.txt

四、启动服务

python launch.py --listen --xformers --enable-insecure-extension-access --theme dark --gradio-queue  --port=8080

4.1 文生图最简流程

选择需要使用的模型(底模),这是对生成结果影响最大的因素,主要体现在画面风格上。

在第一个框中填入提示词(Prompt),对想要生成的东西进行文字描述

在第二个框中填入负面提示词(Negative prompt),你不想要生成的东西进行文字描述 

选择采样方法、采样次数、图片尺寸等参数

Sampler(采样器/采样方法) 选择使用哪种采样器。

  • Euler a(Eular ancestral)可以以较少的步 数产生很大的多样性,不同的步数可能有不同的结果。而非 ancestral 采样器都会产生基本相同的 图像。
  • DPM 相关的采样器通常具有不错的效果,但耗时也会相应增加。
  • Euler 是最简单、最快的 Euler a 更多样,不同步数可以生产出不同的图片。但是太高步数 (>30) 效果不会更好。
  • DDIM 收敛快,但效率相对较低,因为需要很多 step 才能获得好的结果,适合在重绘时候使用。
  • LMS 是 Euler 的衍生,它们使用一种相关但稍有不同的方法(平均过去的几个步骤以提高准确 性)。大概 30 step 可以得到稳定结果
  • PLMS 是 Euler 的衍生,可以更好地处理神经网络结构中的奇异性。
  • DPM2 是一种神奇的方法,它旨在改进 DDIM,减少步骤以获得良好的结果。它需要每一步运行两 次去噪,它的速度大约是 DDIM 的两倍,生图效果也非常好。但是如果你在进行调试提示词的实 验,这个采样器可能会有点慢了。
  • UniPC 效果较好且速度非常快,对平面、卡通的表现较好,推荐使用。

Sampling Steps(采样步数)

Stable Diffusion 的工作方式是从以随机高斯噪声起步,向符合提 示的图像一步步降噪接近。随着步数增多,可以得到对目标更小、更精确的图像。但增加步数也会 增加生成图像所需的时间。增加步数的边际收益递减,取决于采样器。一般开到 20~30

不同采样步数与采样器之间的关系:

CFG Scale(提示词引导系数)

图像与你的提示的匹配程度。增加这个值将导致图像更接近你的提 示,但它也在一定程度上降低了图像质量。 可以用更多的采样步骤来抵消。过高的 CFG Scale 体现 为粗犷的线条和过锐化的图像。一般开到 7~11。 CFG Scale 与采样器之间的关系 

  • 生成批次 每次生成图像的组数。一次运行生成图像的数量为“批次* 批次数量”。
  • 每批数量 同时生成多少个图像。增加这个值可以提高性能,但也需要更多的显存。大的 Batch Size 需要消耗巨量显存。若没有超过 12G 的显存,请保持为 1。
  • 尺寸 指定图像的长宽。出图尺寸太宽时,图中可能会出现多个主体。1024 之上的尺寸可能会出现 不理想的结果,推荐使用小尺寸分辨率+高清修复(Hires fix)。
  • 种子 种子决定模型在生成图片时涉及的所有随机性,它初始化了 Diffusion 算法起点的初始值。

理论上,在应用完全相同参数(如 Step、CFG、Seed、prompts)的情况下,生产的图片应当完全相同。

通过勾选 "Hires. fix " 来启用。 默认情况下,文生图在高分辨率下会生成非常混沌的图像。如果使用 高清修复,会型首先按照指定的尺寸生成一张图片,然后通过放大算法将图片分辨率扩大,以实现高清 大图效果。最终尺寸为(原分辨率*缩放系数 Upscale by)。

  • 放大算法中,Latent 在许多情况下效果不错,但重绘幅度小于 0.5 后就不甚理想。ESRGAN_4x、 SwinR 4x 对 0.5 以下的重绘幅度有较好支持。
  • Hires step 表示在进行这一步时计算的步数。
  • Denoising strength 字面翻译是降噪强度,表现为最后生成图片对原始输入图像内容的变化程度。 该值越高,放大后图像就比放大前图像差别越大。低 denoising 意味着修正原图,高 denoising 就 和原图就没有大的相关性了。一般来讲阈值是 0.7 左右,超过 0.7 和原图基本上无关,0.3 以下就 是稍微改一些。实际执行中,具体的执行步骤为 Denoising strength * Sampling Steps。
  • 面部修复 修复画面中人物的面部,但是非写实风格的人物开启面部修复可能导致面部崩坏。 

五、会出现一些错误

问题1:libGL.so.1: cannot open shared object file: No such file or directory

sudo apt-get update
sudo apt-get install -y libgl1-mesa-glx

问题2: 

decoderF is not supported because:
        xFormers wasn't build with CUDA support
        attn_bias type is <class 'NoneType'>
        operator wasn't built - see python -m xformers.info for more info
    flshattF@0.0.0 is not supported because:
        xFormers wasn't build with CUDA support
        operator wasn't built - see python -m xformers.info for more info
    tritonflashattF is not supported because:
        xFormers wasn't build with CUDA support
        operator wasn't built - see python -m xformers.info for more info
        triton is not available
        Only work on pre-MLIR triton for now
    cutlassF is not supported because:
        xFormers wasn't build with CUDA support
        operator wasn't built - see python -m xformers.info for 

解决方式:

pip uninstall xformers
pip install xformers

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

流光影下

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值