分类
StableDiffusion基础教程

stable-diffusion-webui的api介绍

Stable Diffusion是一款采用先进AI技术的图片生成软件,以其独特的功能和强大的创新性吸引了众多设计师的关注。

在 Stable Diffusion Web UI中,API(应用程序接口)是与该系统进行交互的重要桥梁。以下是 Stable Diffusion Web UI API的主要介绍:

首先,您需要运行Web UI,带上 –api 命令行参数,比如在您的 “webui-user.bat” 中设置: set COMMANDLINE_ARGS=--api。这将开启API,您可以在http://127.0.0.1:7860/docs查看相关文档,这个URL可能会根据实际情况变化。我们在这里主要关注 /sdapi/v1/txt2img接口。

这个接口将会接收您发送的数据,并且基于这些数据生成一张图像。例如,您可以构建如下所示的payload:

python
payload = {
"prompt": "maltese puppy",
"steps": 5
}

之后,你可以通过POST请求将payload发送到该接口,代码示例如下:

python
response = requests.post(url=f'http://127.0.0.1:7860/sdapi/v1/txt2img', json=payload)

在后台完成操作之后,API会将response返回。response包含三个部分:”images”(生成的图像)、”parameters”(发送到API的参数)、”info”(额外的信息)。

首先,您需要将response转换为JSON格式,以便于操作。然后,您可以使用以下方式从”images”中解码并获取图像:

python
for i in r['images']:
image = Image.open(io.BytesIO(base64.b64decode(i.split(",",1)[0])))

除此之外,您也可以使用/sdapi/v1/png-infoAPI获取图像的元数据,并将其嵌入到图像中,例如:

python
png_payload = {
"image": "data:image/png;base64," + i
}
response2 = requests.post(url=f'http://127.0.0.1:7860/sdapi/v1/png-info', json=png_payload)

在此之后,您可以用 response2.json().get("info") 获取这些信息。

另外,您也可以使用 “override_settings” 参数来为单次请求覆盖Web UI的设置,如”filter_nsfw” 和 “CLIP_stop_at_last_layers”。这些可以通过/sdapi/v1/options API获取。

综上,API为Stable Diffusion Web UI提供了极其丰富和灵活的操作方法。无论您是希望生成具有特定特征的图像,还是希望深入定制Web UI的行为,都可以通过API轻松实现。同时,得益于API返回的丰富信息,您也能清晰地了解每次请求的详细情况,从而进一步优化您的操作。

分类
StableDiffusion基础教程

Stable Diffusion web UI 是什么?(附:下载地址)

Stable Diffusion web UI是一款基于Gradio库的浏览器界面,用于操作Stable Diffusion。Stable Diffusion是一个深度学习文本到图像生成模型,Stable Diffusion Web UI则把Stable Diffusion模型进行了封装,提供了更加简洁易操作的界面。它们的关系可视为父子关系,其中Stable Diffusion是父亲,Stable Diffusion Web UI是儿子,儿子继承了父亲的所有功能,自身还可以通过插件等方式获得更多能力。

以下是Stable Diffusion web UI的一些主要特性:

  1. 提供原始文本到图像(txt2img)和图像到图像(img2img)模式。
  2. 提供多种图像处理模式,包括外部绘制、内部绘制、颜色草图、提示矩阵、Stable Diffusion放大等。
  3. 允许用户指定模型应该更关注的文本部分,例如”一个男人在穿((燕尾服))”,模型将更加关注”燕尾服”。
  4. 支持循环回放,运行多次img2img处理。
  5. 提供X/Y/Z绘图功能,可以绘制带有不同参数的图像的三维图。
  6. 支持文本反转。
  7. 支持多种嵌入方法,允许使用任何名称,并且可以使用不同数量的向量每个标记。
  8. 提供附加功能标签,包括修复面部的神经网络GFPGAN,面部修复工具CodeFormer,神经网络升级器RealESRGAN,ESRGAN,SwinIR和Swin2SR等。
  9. 支持更改取样方法,调整取样器eta值(噪声乘数),并提供更多高级噪声设置选项。
  10. 支持4GB视频卡(有报道显示2GB也可以工作)。
  11. 提供了实时提示令牌长度验证。
  12. 提供了用于生成图像的参数保存功能。

此外,Stable Diffusion web UI也包括了一个设置页面,允许用户运行任意的python代码(必须启用 –allow-code 选项),对大多数UI元素提供鼠标悬停提示,以及通过文本配置改变UI元素的默认值/混合值/最大值/步长值等。

安装Stable Diffusion web UI的过程相对直接,无论是在Windows还是Linux系统上,都有对应的安装脚本。另外,也可以选择使用在线服务如Google Colab进行操作。如果在安装过程中遇到问题,都可以查阅相关文档,或者寻求社区的帮助。

总体来说,Stable Diffusion web UI是一款强大的工具,提供了大量的功能和设置,可以满足各种不同需求。无论你是深度学习的研究者,还是对AI图像生成感兴趣的初学者,Stable Diffusion web UI都是一个值得尝试的工具。

Stable Diffusion web UI 下载地址

在探索这个令人兴奋的领域时,Stable Diffusion web UI无疑为我们打开了一扇大门。此外,作为开源项目,它鼓励我们参与其中,不仅可以使用这个工具,还可以贡献我们自己的代码,以改进和扩展其功能。对于那些希望学习更多关于深度学习和图像生成的人来说,参与开源项目是一种极好的方式。

如果您想尝试一下Stable Diffusion web UI,可以通过以下链接进行下载:Stable Diffusion web UI 下载地址。无论你是为了提升研究效率,还是出于对新技术的探索好奇,都能在这个项目中找到乐趣和收获。

分类
StableDiffusion基础教程

AMD显卡如何安装stable-diffusion-webui

在日新月异的科技世界中,AMD显卡以其卓越的性能和稳定的兼容性受到了广大用户的青睐,特别是在处理图形密集型任务时表现出的优秀性能让众多设计师对它青睐有加。其中,Stable Diffusion,一个使用AI技术生成图片的软件,就是这样一款能够充分发挥AMD显卡优势的工具。但是,如何在AMD显卡上安装并运行Stable Diffusion呢?今天,我们将带您一步步解读在Windows、Linux,包括Arch Linux系统上,安装并运行Stable Diffusion的webui的详细过程。无论您是初次接触还是经验丰富的用户,都能从本文中找到合适的解决方案,让您的AMD显卡和Stable Diffusion完美结合。

在AMD显卡上安装和运行Stable Diffusion的webui有多种方法,可以根据您的操作系统选择最适合的方式进行。

在Windows系统上安装

目前Windows+AMD的官方支持尚未发布,不过您可以安装由lshqqytiger创建的webui分支版本,它采用Direct-ml。安装步骤如下:

  1. 安装Python 3.10.6(勾选Add to PATH)和git。
  2. 在cmd/终端中粘贴以下代码行:

    git clone https://github.com/lshqqytiger/stable-diffusion-webui-directml && cd stable-diffusion-webui-directml && git submodule init && git submodule update

  3. 双击webui-user.bat文件。

注意,若在安装或运行时出现卡顿现象,请在终端中按Enter键,然后程序应会继续进行。

在Linux系统上安装

  1. 安装Python 3.10.6。
  2. 运行以下命令克隆仓库:

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

  3. 将Stable Diffusion模型检查点(model.ckpt)放入models/Stable-diffusion目录中。
  4. 根据您的显卡型号,可能需要在webui-user.sh中为COMMANDLINE_ARGS=添加参数--precision full --no-half,以避免出现黑方块或崩溃的情况。
  5. 运行webui.sh。

注:部分显卡,如Radeon RX 6000系列和RX 500系列,可以不使用--precision full --no-half选项,这样可以节省大量显存。

在Arch Linux上安装

以下是在Arch Linux以及可能的其他基于Arch的Linux发行版上安装webui的方法(测试于2023年2月22日)。

  1. 首先,使用以下命令安装必要的依赖项并安装pip:

    sudo pacman -S python-pip

  2. 安装具有ROCm后端的pytorch:

    选择并安装以下两个包之一:python-pytorch-rocmpython-pytorch-opt-rocm(仅对AVX2 CPU)。

  3. 安装具有ROCm后端的torchvision:

    从AUR克隆git仓库并在本地编译安装python-torchvision-rocm包。

  4. 设置venv环境:

    手动创建一个带有系统site-packages的venv环境(这将允许访问系统的pytorch和torchvision),安装剩余的Python依赖项。

  5. 创建webui启动脚本。
  6. 运行以下命令以启动webui:

    source venv/bin/activate

    ./webui-py.sh

注:根据您的GPU型号,可能需要添加某些命令行参数和优化项,以使webui正常运行。

上述安装方法均已经在AMD Radeon RX6800、Python 3.10.9、ROCm 5.4.3、PyTorch 1.13.1、Torchvision 0.14.1环境下测试过。

安装过程中可能会出现一些限制,例如GPU型号需要由Arch依赖项支持,同时Arch依赖项(pytorch、torchvision)的更新将由全系统更新(pacman -Syu)和编译来维护,这可能不适用于希望使用固定版本组合的依赖项的情况。如有任何问题,可考虑使用上述其他的安装方法。

分类
StableDiffusion基础教程

苹果M系列芯片Mac设备如何安装stable-diffusion-webui

Stable Diffusion,一款采用先进AI技术的图片生成软件,以其独特的功能和强大的创新性吸引了众多设计师的关注。许多设计师选择使用搭载苹果公司自家研发的M系列芯片的设备,如Macbook、Mac Pro和iMac,来实现他们的创意设计。但是,如何在这些高性能的设备上安装和运行Stable Diffusion成了一个重要的问题。因此,今天我们将详细解析如何在搭载苹果M系列芯片的设备上安装Stable Diffusion。让我们一起开始这个探索之旅吧。

请根据以下步骤安装和运行 stable-diffusion-webui:

新安装:

  1. 如果你还没有安装 Homebrew,可以访问 https://brew.sh 来安装。安装完成后,请保持终端窗口打开并根据“下一步”的指示将 Homebrew 添加到你的 PATH。
  2. 打开新的终端窗口,运行以下命令安装必要的软件包:
css
brew install cmake protobuf rust python@3.10 git wget
  1. 克隆 stable-diffusion-webui 的仓库:
bash
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
  1. 将你希望使用的 Stable Diffusion 模型/检查点放入 stable-diffusion-webui/models/Stable-diffusion 文件夹。如果你没有模型,参见下文的“下载 Stable Diffusion 模型”。
  2. 切换到 stable-diffusion-webui 目录并运行 ./webui.sh 启动 web UI。系统会使用 venv 创建并激活一个 Python 虚拟环境,并自动下载安装任何缺失的依赖项。
bash
cd stable-diffusion-webui
./webui.sh
  1. 以后想要重启 web UI 进程时,只需再次运行 ./webui.sh。注意,这不会自动更新 web UI;要进行更新,请在运行 ./webui.sh 之前运行 git pull。

现有安装:

  1. 如果你已经使用 setup_mac.sh 创建了 web UI 的现有安装,请从 stable-diffusion-webui 文件夹删除 run_webui_mac.sh 文件和 repositories 文件夹。然后运行 git pull 更新 web UI,再运行 ./webui.sh 来启动。

下载 Stable Diffusion 模型:

如果你没有任何可以使用的模型,可以从 Hugging Face 下载 Stable Diffusion 模型。为了下载,点击模型然后点击 Files and versions 标题。寻找列出的带有 “.ckpt” 或 “.safetensors” 扩展名的文件,然后点击文件大小右侧的向下箭头来下载它们。

故障排除:

Web UI 无法启动: 如果在尝试使用 ./webui.sh 启动 Web UI 时遇到错误,尝试删除 stable-diffusion-webui 文件夹中的 repositories 和 venv 文件夹,然后使用 git pull 更新 web UI,再运行 ./webui.sh。

性能较差: 如果性能较差(如生成一张512×512的图像,用20步的任何采样器需要超过一分钟)

  1. 尝试使用 –opt-split-attention-v1 命令行选项启动(即 ./webui.sh –opt-split-attention-v1)看是否有所改善。
  2. 如果改变不大,打开位于 /Applications/Utilities 的 Activity Monitor 应用,并检查 Memory 选项卡下的内存压力图。生成图像时,内存压力会以红色显示。关闭 web UI 进程,然后添加 –medvram 命令行选项(即 ./webui.sh –opt-split-attention-v1 –medvram)。
  3. 如果性能仍然较差,内存压力仍然以红色显示,尝试 –lowvram(即 ./webui.sh –opt-split-attention-v1 –lowvram)。
  4. 如果任何采样器生成一张512×512的图像,用20步仍然需要几分钟以上的时间,你可能需要关闭 GPU 加速。打开 Xcode 中的 webui-user.sh,将 #export COMMANDLINE_ARGS=”” 更改为 export COMMANDLINE_ARGS=”–skip-torch-cuda-test –no-half –use-cpu all”。