如何在您的 PC 上运行稳定的扩散以生成 AI 图像

AI-HEader

人工智能 (AI) 艺术目前风靡一时,但大多数 AI 图像生成器都在云端运行。Stable Diffusion 则不同——您可以在自己的 PC 上运行它并生成任意数量的图像。以下是在 Windows 上安装和使用 Stable Diffusion 的方法。

什么是稳定扩散?

Stable Diffusion 是一种开源机器学习模型,可以从文本生成图像,根据文本修改图像,或者在低分辨率或低细节的图像上填充细节。它已经对数十亿张图像进行了训练,并且可以产生与您从 DALL-E 2 和MidJourney获得的结果相媲美的结果。它由Stability AI开发,于 2022 年 8 月 22 日首次公开发布。

Stable Diffusion 还没有像某些 AI 图像生成器那样整洁的用户界面,但它有一个非常宽松的许可证,而且——最重要的是——它完全可以在你自己的 PC(或 Mac)上免费使用。

不要被 Stable Diffusion 当前在命令行界面 (CLI) 中运行的事实吓倒。启动并运行它非常简单。如果您可以双击一个可执行文件并在一个框中键入,您可以在几分钟内运行它。

PC 上运行稳定的扩散需要什么?

Stable Diffusion 不会在您的手机或大多数笔记本电脑上运行,但它将在 2022 年在普通游戏 PC 上运行。以下是要求:

  • 具有至少6 GB显存的 GPU
    • 这包括大多数现代 NVIDIA GPU
  • 硬盘驱动器或固态驱动器上 10GB (ish) 的存储空间
  • Miniconda3 安装程序
  • 来自 GitHub 的稳定扩散文件
  • 最新的检查点(1.4 版,截至撰写本文时,但 1.5 版应该很快发布)
  • Git 安装程序
  • Windows 8、10 或 11
    • Stable Diffusion 也可以在 Linux 和 macOS 上运行

如果您没有硬件,请考虑使用基于 Web 的 AI 图像生成器。您甚至可以在网络上运行稳定扩散的演示。

如何在 Windows 上安装和运行稳定的 Diffusion

您需要两个软件:Git 和 Miniconda3。

注意: Git 和 Miniconda3 都是由知名组织制作的安全程序。只要您从本文中链接的官方来源下载它们,您就不必担心它们的恶意软件。

安装 Git

Git 是一种工具,允许开发人员管理他们正在开发的软件的不同版本。他们可以同时在中央存储库中维护他们正在开发的软件的多个版本,并允许其他开发人员为项目做出贡献。

如果您不是开发人员,Git提供了一种方便的方式来访问和下载这些项目,这就是我们在这种情况下将使用它的方式。 从 Git 网站下载 Windows x64 安装程序,然后运行它来安装 Git。

在安装程序运行时,系统会提示您选择几个选项 – 将它们保留为默认设置。一个选项页面“调整您的 PATH 环境”特别重要。它必须设置为“Git From The Command Line And Also From 3rd-Party Software”。

git-install-option

安装 Miniconda3

Stable Diffusion 利用了几个不同的Python 库。如果您对 Python 不太了解,请不要太担心——可以这么说,这些库只是您的计算机可以用来执行特定功能的软件包,例如转换图像或进行复杂的数学运算。

Miniconda3 基本上是一个方便的工具。它允许您下载、安装和管理稳定扩散运行所需的所有库,而无需太多人工干预。这也是我们实际使用稳定扩散的方式。

前往Miniconda3 下载页面并单击“Miniconda3 Windows 64-bit”以获取最新的安装程序。

miniconda3-64-bit

下载后双击可执行文件以开始安装。Miniconda3 的安装涉及的页面点击次数比 Git 少,但您需要注意这个选项:

all-users

确保在单击下一步并完成安装之前选择“所有用户”。

安装 Git 和 Miniconda3 后,系统会提示您重新启动计算机。我们认为没有必要,但如果你这样做也不会受到伤害。

下载 Stable Diffusion GitHub 存储库和最新的检查点

现在我们已经安装了必备软件,我们可以下载并安装 Stable Diffusion。

首先下载最新的检查点——1.4 版接近 5GB,所以可能需要一段时间。您需要创建一个帐户来下载检查点,但它们只需要名称和电子邮件地址。其他一切都是可选的。

注意:在撰写本文时(2022 年 9 月 2 日),最新的检查点是 1.4 版。如果有更新的版本,请下载。

model-access

点击“sd-v1-4.ckpt”开始下载。

注意:另一个文件“sd-v1-4-full-ema.ckpt” 可能会 提供更好的结果,但它的大小大约是原来的两倍。你可以使用任何一个。

click-sd-v1-4

然后你需要从 GitHub下载 Stable Diffusion 。单击绿色的“代码”按钮,然后单击“下载 ZIP”。或者,您可以使用此直接下载链接。

click-code-click-download-ZIP

现在我们需要准备几个文件夹,我们将在其中解压所有 Stable Diffusion 的文件。单击开始按钮并在开始菜单搜索栏中键入“miniconda3”,然后单击“打开”或按 Enter。

start-click-open

我们将使用命令行创建一个名为“stable-diffusion”的文件夹。将下面的代码块复制并粘贴到 Miniconda3 窗口中,然后按 Enter。

CDC:/
mkdir 稳定扩散
cd 稳定扩散

注意:几乎每次将代码块粘贴到终端(如 Miniconda3)时,都需要在最后按 Enter 键以运行最后一个命令。

如果一切顺利,您将看到如下内容:

create-stable-diffusion

保持 Miniconda3 窗口打开,稍后我们将再次需要它。

在您最喜欢的文件归档程序中打开您从 GitHub 下载的 ZIP 文件“stable-diffusion-main.zip” 。或者,如果您没有 ZIP 文件,Windows 也可以自行打开。让 ZIP 文件在一个窗口中打开,然后打开另一个文件资源管理器窗口并导航到我们刚刚创建的“C:\stable-diffusion”文件夹。

将 ZIP 文件中的文件夹“stable-diffusion-main”拖放到“stable-diffusion”文件夹中。

drag-and-drop-the-files-1

返回 Miniconda3,然后将以下命令复制并粘贴到窗口中:

cd C:\stable-diffusion\stable-diffusion-main
conda env 创建 -f environment.yaml
conda 激活 ldm
mkdir 模型\ldm\stable-diffusion-v1

conda-prompt

不要打断这个过程。有些文件大于 1 GB,因此下载可能需要一些时间。如果您确实意外中断了该过程,则需要删除环境文件夹并conda env create -f environment.yaml 再次运行。如果发生这种情况,请导航到“C:\Users\(Your User Account)\.conda\envs”并删除“ldm”文件夹,然后运行上一个命令。

笔记:那么,我们刚刚做了什么?Python 允许您将编码项目分类到“环境”中。每个环境都与其他环境分开,因此您可以将不同的 Python 库加载到不同的环境中,而不必担心版本冲突。如果您在一台 PC 上处理多个项目,这是非常宝贵的。 

我们运行的行创建了一个名为“ldm”的新环境,下载并安装了所有必要的 Python 库以使稳定扩散工作,激活 ldm 环境,然后将目录更改为新文件夹。

我们正在进行安装的最后一步。在文件资源管理器中导航到“C:\stable-diffusion\stable-diffusion-main\models\ldm\stable-diffusion-v1”,然后将检查点文件(sd-v1-4.ckpt)复制并粘贴到文件夹中。

copy-and-paste

等待文件传输完成,右键单击“sd-v1-4.ckpt”,然后单击“重命名”。在突出显示的框中键入“model.ckpt”,然后按 Enter 更改文件名。

注意: 如果您运行的是 Windows 11,则不会在右键单击上下文菜单中看到“重命名”。有一个图标,看起来像一个微型文本字段。

model-name

就是这样——我们完成了。我们现在已经准备好实际使用稳定扩散。

如何使用稳定扩散

我们创建的 ldm 环境是必不可少的,您需要在想要使用 Stable Diffusion 的任何时候激活它。进入conda activate ldmMiniconda3 窗口并点击“Enter”。左侧的 (ldm) 表示 ldm 环境处于活动状态。

注意:您只需要在打开 Miniconda3 时输入该命令。只要您不关闭窗口,ldm 环境就会保持活动状态。

activate-thing

然后我们需要将目录(因此命令cd)更改为“C:\stable-diffusion\stable-diffusion-main”,然后才能生成任何图像。粘贴 cd C:\stable-diffusion\stable-diffusion-main 到命令行。

如何制作具有稳定扩散的图像

我们将调用一个脚本 txt2img.py,它允许我们将文本提示转换为 512×512 的图像。这是一个例子。试试这个以确保一切正常:

python scripts/txt2img.py --prompt "pablo picasso 的一只猫的特写肖像,生动,抽象,色彩丰富,充满活力" --plms --n_iter 5 --n_samples 1

您的控制台会在生成图片时为您提供进度指示器。

console-producing-results

该命令将生成五个猫图像,全部位于“C:\stable-diffusion\stable-diffusion-main\outputs\txt2img-samples\samples”。

gato

它并不完美,但它明显类似于巴勃罗毕加索的风格,就像我们在提示中指定的那样。您的图像应该看起来相似但不一定相同。

任何时候您想要更改生成的图像,您只需要更改包含在--prompt.

提示:不要每次都重写整行。使用箭头键移动文本光标并替换提示。

python scripts/txt2img.py --prompt "你的,描述,去,这里" --plms --n_iter 5 --n_samples 1

假设我们想在一个戴着巫师帽的魔法森林中生成一个看起来逼真的地鼠。我们可以试试这个命令:

python scripts/txt2img.py --prompt "一张地鼠戴着巫师帽在森林里的照片,生动、逼真、神奇、奇幻、8K UHD、摄影" --plms --n_iter 5 --n_samples 1

gopher

真的就是这么简单——只要尽可能具体地描述你想要什么。如果您想要逼真的东西,请确保包含与逼真图像相关的术语。如果您想要灵感来自特定艺术家的风格,请指定艺术家。

稳定扩散不仅限于肖像和动物,它还可以产生引人注目的风景。

00042

命令中的参数是什么意思?

稳定扩散具有大量设置和参数,您可以提供这些设置和参数来自定义结果。这里包含的几个基本上是确保稳定扩散将在普通游戏计算机上运行所必需的。

  • –plms — 指定如何对图像进行采样。如果您想查看数学,有一篇关于它的论文。
  • –n_iter — 指定要为每个提示生成的迭代次数。5 是一个不错的数字,可以查看您得到什么样的结果。
  • –n_samples — 指定将生成的样本数。默认值为 3,但大多数计算机没有足够的 VRAM 来支持它。坚持使用 1,除非您有特定的理由要更改它。

当然,Stable Diffusion 有很多不同的参数,您可以实施这些参数来调整结果。运行python scripts/txt2img.py --help 以获取您可以使用的参数的详尽列表。

获得好结果涉及大量的试验和错误,但这至少是乐趣的一半。确保您写下或保存返回您喜欢的结果的参数和描述。如果你不想自己做所有的实验,Reddit(和其他地方)上有越来越多的社区致力于交换图片和生成它们的提示。

未经允许不得转载:表盘吧 » 如何在您的 PC 上运行稳定的扩散以生成 AI 图像