网站搜索

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


摘要:要在您的 PC 上本地运行 Stable Diffusion,请从 GitHub 下载 Stable Diffusion 并从 HuggingFace.co 下载最新的检查点,然后安装它们。然后使用 Miniconda 在特殊的 python 环境中运行 Stable Diffusion。

人工智能 (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 VRAM 的 GPU
    • 这包括大多数现代 NVIDIA GPU

    • Stable Diffusion 也可以在 Linux 和 macOS 上运行

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

    如何在 Windows 上安装和运行 Stable Diffusion

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

    安装 Git

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

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

    安装程序运行时,系统会提示您选择几个选项——保留它们的默认设置。一个选项页面“调整您的 PATH 环境”尤为重要。它必须设置为“来自命令行和第三方软件的 Git”。

    安装 Miniconda3

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

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

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

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

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

    安装 Git 和 Miniconda3 后,系统会提示您重新启动计算机。我们认为这不是必需的,但如果您这样做也无妨。

    下载稳定的扩散 GitHub 存储库和最新的检查点

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

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

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

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

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

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

    cd C:/
    mkdir stable-diffusion
    cd stable-diffusion

    如果一切顺利,你会看到这样的东西:

    保持 Miniconda3 窗口打开,我们很快就会再次需要它。

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

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

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

    cd C:\stable-diffusion\stable-diffusion-main
    conda env create -f environment.yaml
    conda activate ldm
    mkdir models\ldm\stable-diffusion-v1

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

    我们运行的代码创建了一个名为“ldm”的新环境,下载并安装了稳定扩散所需的所有 Python 库,激活了 ldm 环境,然后将目录更改为一个新文件夹。 我们正在进行安装的最后一步。在文件资源管理器中导航到“C:\stable-diffusion\stable-diffusion-main\models\ldm\stable-diffusion-v1”,然后将检查点文件 (sd-v1-4.ckpt) 复制并粘贴到该文件夹中。

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

    就是这样——我们完成了。我们现在准备实际使用 Stable Diffusion。

    如何使用稳定扩散

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

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

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

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

    python scripts/txt2img.py --prompt "a close-up portrait of a cat by pablo picasso, vivid, abstract art, colorful, vibrant" --plms --n_iter 5 --n_samples 1

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

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

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

    任何时候您想要更改生成的图像,您只需更改 --prompt 后面的双引号中包含的文本。

    python scripts/txt2img.py --prompt "YOUR, DESCRIPTIONS, GO, HERE" --plms --n_iter 5 --n_samples 1

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

    python scripts/txt2img.py --prompt "a photograph of a gopher wearing a wizard hat in a forest, vivid, photorealistic, magical, fantasy, 8K UHD, photography" --plms --n_iter 5 --n_samples 1

    这真的很简单——只要尽可能具体地描述你想要什么。如果您想要逼真的内容,请确保包含与逼真的图像相关的术语。如果您想要受特定艺术家风格启发的东西,请指定艺术家。

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

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

    Stable Diffusion 有大量的设置和参数,您可以提供这些设置和参数来定制您的结果。此处包含的几个基本上是确保 Stable Diffusion 在普通游戏计算机上运行所必需的。

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

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

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