Stable Diffusion安裝在GPU電腦與使用

筆者使用Winodws11 + Anaconda + Python3.10 + Nvidia GPU3080ti

目前嘗試過的文字產生圖片功能,大部分都需要收費,例如:DALL·E 2DEEP DREAM GENERATORMidjourney,無法免費使用,不然就是免費額度很少,唯一能夠提供免費使用且好用只剩下微軟Bing Image Creator

現在有另一種選擇,自己架設文字生成圖片伺服器,使用Stable Diffusion。Stable Diffusion可以使用自己的電腦,經由已經訓練好的模型,使用文字產生圖片,最好使用有GPU的電腦,不然執行速度很慢,筆者使用Nvidia GPU3080ti的筆電,產生時使用GPU進行運算。

安裝步驟

Step1)開啟Anaconda Prompt,使用以下指令建立Python虛擬環境,接著啟用虛擬環境。

# conda create -n sd python=3.10

# conda activate sd


Step2)更換目錄到指定的資料夾下,使用git下載Stable Diffusion web UI(https://github.com/AUTOMATIC1111/stable-diffusion-webui)

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


Step3)修改專案內的webui-user.bat,找出剛剛建立的Python虛擬環境的python.exe所在路徑,PYTHON加在後面,並新增git pull讓每次執行webui-user.bat時會自動更新已經下載的專案。如果電腦沒有GPU,需在COMMANDLINE_ARGS後面加一些設定值「set COMMANDLINE_ARGS=--skip-torch-cuda-test --no-half --no-half-vae」,使用CPU計算「a man who play table tennis」要10幾分鐘以上。


@echo off


set PYTHON="C:\Users\user\.conda\envs\sd\python.exe"

set GIT=

set VENV_DIR=

set COMMANDLINE_ARGS=

git pull

call webui.bat


Step4)從CIVITAI(https://civitai.com/)下載已經訓練好的模型,筆者下載Delibcrate,約2G大小,放置到stable-diffusion-webui\models\Stable-diffusion資料夾下。

Huggingface(https://huggingface.co/ )此網站也可以下載模型。

Step5)在專案資料夾stable-diffusion-webui下,且在剛剛建立的Python虛擬環境下執行指令webui-user.bat,第一次會下載安裝所需python套件,約等待10分鐘左右。

Step6)安裝完成後連線http://127.0.0.1:7860,筆者輸入文字「a beautiful girl  who play table tennis」,產生以下圖片。

常見問題

1.執行時出現「No module 'xformers'. Proceeding without it.」

修改webui-user.bat的COMMANDLINE_ARGS加上「--xformers」,如下。

set COMMANDLINE_ARGS=--xformers

重新執行webui-user.bat就會安裝xformers套件。