登入

SDXL:如何使用Stable Diffusion

作者:neo yang 時間:2024/03/14 讀: 13484
最近開發了一個基於最新版本Stable Diffusion XL (SDXL) 的WordPress外掛程式。 Stable Diffusion是一個免費、開源的圖像生成模型,透過官方網站Stability AI可以直接下載程式碼。儘管自行部署模型的成本和難度較大,但可以使用Docker映像或手動安裝。此外,還可以透過Replicate.com網站使用或部署大模型和API。總的來說,Stable Diffusion和SDXL廣泛應用於AI影像生成產品。

最近基於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產品。

標籤:


copyright © www.lyustu.com all rights reserve.
Theme: TheMoon V3.0. Author:neo yang