网站搜索

如何在 Windows 上使用 GUI 在本地运行稳定的扩散


您可以在您的 PC 本地安装 Stable Diffusion,但典型的过程涉及大量的命令行安装和使用工作。对我们来说幸运的是,Stable Diffusion 社区已经解决了这个问题。以下是如何安装使用图形用户界面在本地运行的 Stable Diffusion 版本!

什么是稳定扩散?

Stable Diffusion 是一种 AI 模型,可以根据文本提示生成图像,或使用文本提示修改现有图像,很像 MidJourney 或 DALL-E 2。它于 2022 年 8 月由 Stability.ai 首次发布。它能理解数以千计的不同单词,可用于创建几乎任何您可以想象的任何风格的图像。

不过,Stable Diffusion 与大多数其他流行的 AI 艺术生成器有两个关键区别:

  • 它可以在您的 PC 上本地运行
  • 这是一个开源项目

最后一点确实是这里的重要问题。传统上,Stable Diffusion 是通过命令行界面安装和运行的。它有效,但它可能笨重、不直观,并且对于本来有兴趣的人来说是一个很大的进入障碍。但是,由于它是一个开源项目,社区很快为其创建了一个用户界面并开始添加他们自己的增强功能,包括优化以最大限度地减少视频 ram (VRAM) 使用以及内置升级和屏蔽。

运行此版本的 Stable Diffusion 需要什么?

这个版本的 Stable Diffusion 是 Stability.ai 创建和维护的主存储库 (repo) 的一个分支——一个分支。它有一个图形用户界面 (GUI)——比只有命令行界面的常规 Stable Diffusion 更易于使用——以及一个可以自动处理大部分设置的安装程序。

这个分支还包含各种优化,应该允许它在 RAM 更少的 PC 上运行,内置升级和使用 GFPGAN、ESRGAN、RealESRGAN 和 CodeFormer 的面部功能,以及掩蔽。蒙版是一件大事——它允许您有选择地将 AI 图像生成应用到图像的某些部分,而不会扭曲其他部分,这个过程通常称为修复。

  • 您的硬盘上至少有 10 GB 的可用空间
  • 具有 6 GB 内存的 NVIDIA GPU(尽管您可以使用 4 GB 内存)
  • 一台运行 Windows 11、Windows 10、Windows 8.1 或 Windows 8 的电脑
  • WebUI GitHub Repo,作者 AUTOMATIC1111
  • Python 3.10.6(较新版本和大多数较旧版本也应该没问题)
  • Stable Diffusion 官方检查点(注意 v1.5 检查点!)
  • GFPGAN v1.4 检查点
  • 您可能需要的任何其他 ESRGAN 模型。您可以根据需要使用多少。

如何使用 GUI 安装 Stable Diffusion

安装过程已大大简化,但在使用安装程序之前,您仍然需要手动执行几个步骤。

首先安装 Python

您应该做的第一件事是安装 repo 作者推荐的 Python 版本 3.10.6。转到该链接,滚动到页面底部,然后单击“Windows Installer(64 位)”。

单击您下载的可执行文件并按照提示进行操作。如果您已经安装了 Python(您肯定已经安装了),只需单击“升级”。否则请按照推荐的提示进行操作。

安装 Git 并下载 GitHub Repo

在运行 Stable Diffusion 安装程序之前,您需要在 Windows 上下载并安装 Git。只需下载 64 位 Git 可执行文件,运行它,然后使用推荐的设置,除非您有特别的想法。

接下来,您需要从 GitHub 存储库下载文件。单击绿色的“代码”按钮,然后单击菜单底部的“下载 ZIP”。

在文件资源管理器或您首选的文件归档程序中打开 ZIP 文件,然后将内容解压缩到您想要的任何位置。请记住,文件夹是运行 Stable Diffusion 所需的位置。此示例将它们提取到 C:\ 目录,但这不是必需的。

下载所有检查点

您需要几个检查点才能工作。第一个也是最重要的是稳定扩散检查点。您需要创建一个帐户来下载检查点,但对帐户的要求并不高——他们只需要一个姓名和电子邮件地址,您就可以开始了。

将“sd-v1-4.ckpt”复制并粘贴到“C:\stable-diffusion-webui-master\models\Stable-diffusion”文件夹中,然后右键单击“sd-v1-4.ckpt”并点击重命名.在文本字段中键入“model.ckpt”,然后按 Enter。非常确定它是“model.ckpt”——否则这将不起作用。

您还需要下载 GFPGAN 检查点。我们正在使用的 repo 的作者要求 GFPGAN v1.4 检查点。向下滚动页面,然后单击“V1.4 模型”。

将该文件“GFPGANv1.4.pth”放入“stable-diffusion-webui-master”文件夹中,但不要重命名它。 “stable-diffusion-webui-master”文件夹现在应该包含这些文件:

您还可以根据需要下载任意数量的 ESRGAN 检查点。它们通常打包为 ZIP 文件。下载一个后,打开 ZIP 文件,然后将“.pth”文件解压到“models/ESRGAN”文件夹中。这是一个例子:

ESRGAN 模型往往会提供更具体的功能,因此请挑选一些对您有吸引力的模型。

现在,您只需双击位于主“stable-diffusion-webui-master”文件夹中的“webui-user.bat”文件。控制台窗口将出现并开始获取所有其他重要文件、构建 Python 环境并设置 Web 用户界面。它看起来像这样:

完成后,控制台将显示:

Running on local URL: http://127.0.0.1:7860
To create a public link, set `share=True` in `launch()`

如何使用带 GUI 的稳定扩散生成图像

好了,您已经安装了 Stable Diffusion 的 WebUI 变体,并且您的控制台让您知道它“在本地 URL 上运行:http://127.0.0.1:7860”。

打开浏览器,在地址栏中输入“127.0.0.1:7860”或“localhost:7860”,然后按回车键。你会在 txt2img 选项卡上看到这个:

如果您以前使用过 Stable Diffusion,这些设置对您来说会很熟悉,但这里简要概述了最重要的选项的含义:

  • 提示您想要创建的内容的描述。
  • Painter's Pallete Button:将随机的艺术风格应用于您的提示。
  • 采样步数:在您收到输出之前图像将被优化的次数。通常越多越好,但收益会递减。
  • 抽样方法:控制抽样处理方式的基础数学。您可以使用其中任何一种,但 euler_a 和 PLMS 似乎是最受欢迎的选项。您可以在本文中阅读有关 PLMS 的更多信息。
  • 恢复面孔:使用 GFPGAN 尝试修复离奇或扭曲的面孔。
  • 批量计数:要生成的图像数量。
  • 批量大小:“批次”的数量。 除非您有大量 VRAM,否则请将此值保持为 1。
  • CFG Scale:Stable Diffusion 将按照您给出的提示仔细执行的程度。较大的数字表示它非常仔细地遵循它,而较小的数字则表示它有更多的创作自由。
  • 宽度:您要生成的图像的宽度。
  • 高度:您要生成的图像的宽度。
  • 种子:为随机数生成器提供初始输入的数字。将其保留为 -1 以随机生成新种子。

让我们根据提示生成五张图像:“神奇森林中的一头高地奶牛,35 毫米胶片摄影,锐利”,看看我们使用 PLMS 采样器、50 个采样步骤和 5 的 CFG 比例得到了什么。

输出窗口将如下所示:

顶部中间的图像是我们稍后将用来尝试遮罩的图像。除了个人偏好之外,没有真正的理由选择这个特定的选项。抓住任何你喜欢的图像。

选择它,然后单击“发送到 Inpaint”。

如何遮盖您创建的图像以进行修复

修复是一个很棒的功能。通常,Stable Diffusion 用于根据提示创建整个图像,但修复允许您有选择地生成(或重新生成)图像的一部分。这里有两个关键选项:inpaint masked,inpaint not masked。

Inpaint masked 将使用提示在您突出显示的区域内生成图像,而 inpaint not masked 将做完全相反的事情——只保留您屏蔽的区域。

我们将首先介绍一下 Inpaint masked。按住鼠标左键在图像上拖动鼠标,您会注意到图像上方出现了一个白色层。画出要替换的区域的形状,并确保将其完全填满。您不是在环绕一个区域,而是在整个区域进行遮蔽。

让我们以我们的高原奶牛为例,给他一顶厨师帽。遮盖一个大致呈厨师帽形状的区域,并确保将“批量大小”设置为大于 1。您可能需要多个才能获得理想的(大概)结果。

此外,您应该选择“Latent Noise”而不是“Fill”、“Original”或“Latent Nothing”。当您想在场景中生成全新的对象时,它往往会产生最佳结果。

好吧——也许厨师帽不适合您的高地奶牛。你的高地奶牛更喜欢 20 世纪初的氛围,所以让我们给他一顶圆顶硬礼帽吧。

多么积极小巧。

当然,您也可以使用 Inpaint Not Masked 做完全相反的事情。它在概念上是相似的,只是您定义的区域是相反的。您不是标出要更改的区域,而是标出要保留的区域。当您想将一个小对象移动到不同的背景上时,它通常很有用。

如何修复“CUDA 内存不足”错误

您制作的图像越大,需要的视频内存就越多。您应该尝试的第一件事是生成较小的图像。 Stable Diffusion 在 256×256 下产生良好的——尽管非常不同——图像。

如果您渴望在不存在 512×512 图像问题的计算机上制作更大的图像,或者遇到各种“内存不足”错误,那么对配置进行一些更改应该会有所帮助。

在记事本或任何其他您想要的纯文本编辑器中打开“webui-user.bat”。只需右键单击“webui-user.bat”,单击“编辑”,然后选择记事本。确定读取 set COMMANDLINE_ARGS= 的行。这就是您要放置命令以优化 Stable Diffusion 运行方式的地方。

如果您只想制作大图片,或者 GTX 10XX 系列 GPU 上的内存不足,请先尝试 --opt-split-attention。它看起来像这样:

然后单击文件 > 保存。或者,您可以按键盘上的 Ctrl+S。

如果您仍然遇到内存错误,请尝试将 --medvram 添加到命令行参数列表 (COMMANDLINE_ARGS)。

如果之前的命令没有帮助,您可以添加 --always-batch-cond-uncond 来尝试修复其他内存问题。 --medvram 还有一个替代方法 --lowvram 可能会进一步减少 VRAM 的使用,但我们无法证明它是否真的有效.

添加用户界面是让每个人都能使用这些人工智能驱动工具的关键一步。可能性几乎是无穷无尽的,即使快速浏览一下致力于 AI 艺术的在线社区,你也会发现这项技术有多么强大,即使它还处于起步阶段。当然,如果您没有游戏电脑,或者不想担心设置问题,您可以随时使用在线 AI 艺术生成器之一。请记住,您不能假设您的条目是私有的。