SDXL:如何使用Stable Diffusion
观察

SDXL:如何使用Stable Diffusion

· 1 分钟阅读

最近基于Stable Diffusion XL(SDXL)开发了一个Wordpress插件。顺便总结一下。

一、Stable Diffusion是什么?

Stable Diffusion是一个开源的图像生成大模型。

目前主要使用的版本就是Stable Diffusion XL,也就是SDXL。

官网:Stability AI

stability.ai的大模型家族

stability.ai的大模型家族

二、Stable Diffusion是免费的吗?

Stable Diffusion以及 Stability AI其它的大模型(包括视频、语音、3D)等都是免费开源的。你可以从官网直接现在代码部署到你自己的电脑或服务器上。

但,大多时候,我们不会自己部署,因为成本比较高,难度也比较大。所以,更多的时候,开发一个基于Stable Diffusion的产品,我们需要调用官网或第三方的Stable Diffusion的API,但,这样,就需要支付接口使用费。

三、如何部署Stable Diffusion?(由Google Gemini生成)

部署Stable Diffusion模型

方式 1:使用预构建的Docker映像

  1. 拉取 Docker 映像:

    • docker pull stabilityai/stable-diffusion:latest
  2. 创建并启动容器:

    • docker run -it --gpus all stabilityai/stable-diffusion:latest

方式 2:手动部署

  1. 安装依赖项:

    • Python 3.10.x

    • PyTorch 1.13.0+

    • torchvision 0.14.0+

    • ax-platform 0.3.11

    • transformers 4.28.0+

    • accelerate 0.9.1+

    • kornia 0.6.2+

    • einops 0.4.1+

    • huggingface_hub 0.10.0+

  2. 克隆 Stable Diffusion 存储库:

    • git clone https://github.com/huggingface/diffusers
  3. 安装 Stable Diffusion 库:

    • cd diffusers

    • pip install .

  4. 下载模型权重:

    • wget https://huggingface.co/CompVis/stable-diffusion-v1-5/resolve/main/sd-v1-5.ckpt
  5. 部署模型:

    • 创建一个 Python 脚本,加载模型并为其设置输入。

    • 使用 diffusers.pipelines.stable_diffusion.StableDiffusionPipeline 类运行图像生成。

使用说明

通过上述步骤部署 Stable Diffusion 模型后,可以使用以下命令生成图像:

from diffusers import StableDiffusionPipeline

# 加载模型
pipeline = StableDiffusionPipeline.from_pretrained("YOUR_MODEL_PATH")

# 运行图像生成
image = pipeline("YOUR_PROMPT")

提示

  • 使用 --gpus all 标志来利用所有可用的 GPU。

  • 调整 batch_size 和 num_outputs 参数以控制生成图像的数量和质量。

  • 使用 save_image() 方法将图像保存到本地磁盘。

四、如何使用Stable Diffusion API?

https://replicate.com/

在这个网站可以轻松部署自己的开源大模型。也可以使用别人部署的大模型的API。

1、使用你的GitHub账号登录这个网站

2、进入dashboard

3、选择一个图像生成模型

https://replicate.com/collections/text-to-image

这里列出了所有推荐的图像生成模型。

4、使用模型的API

这里有多个stable diffusion和sdxl的模型,选择一个即可。我们可以选第一个。点击进去,找到它的http API页面:

stability-ai/stable-diffusion – Run with an API on Replicate

这里就是这个模型的API和调用代码示例。

也可以使用封装好的js、python等sdk。

五、总结

Stable Diffusion,免费、开源、通用,SDXL也是目前应用最多的图像生成大模型,可以帮你实现各种图片生成类的AIGC产品。