ADVERTISEMENT
在這篇文章中,筆者將介紹Stable Diffusion WebUI與執行所需相關程式的安裝方式,並以NVIDIA GeForce RTX 40顯示卡為範例進行效能最佳化。
(此教學已不適合最新版本,請參考下方新版教學)
Stable Diffusion AI算圖使用手冊(2-1 更新):為NVIDIA與AMD顯示卡安裝Stable Diffusion WebUI 1.7版
文章目錄
安裝必要軟體
相關軟體下載點
Git:https://git-scm.com/download/win
Python 3.10:https://www.python.org/downloads/windows/
Miniconda:https://docs.conda.io/en/main/miniconda.html
Stable Diffusion WebUI本體發布於Git網站,並需透過Git程式更新,另外在需要Python執行環境,因此除了安需要安裝Git與Python,此外也建議安裝Miniconda以便透過Conda虛擬環境執行Stable Diffusion。需要注意的是,目前Stable Diffusion WebUI限定需搭配Python 3.10版,因此不能使用撰稿時最新的3.11版。
讀者將上述軟體下載好後,除了在安裝Python的過程中需要勾選「Add Python.exe to PATH」選項外,其餘可以使用預設值。
在安裝完成後,到可以在任意路徑建立1個Stable Diffusion工作用資料夾,但為了確保程式執行順利,建議完整路徑皆僅使用英文。之後在該資料夾內點擊滑鼠右鍵並選擇「Git Bash Here」,接著在跳出的視窗輸入
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
就能下載Stable Diffusion WebUI。未來若要更新程式,則開啟此視窗並輸入「git pull」即可。
接著進到下載的「stable-diffusion-webui資料夾」(即內有launch.py的資料夾),然後建立1個純文字檔將下列文字寫入檔案中,然後將重新命名為RunSD.bat。
@echo off
set PYTHON=
set GIT=
set VENV_DIR=
set COMMANDLINE_ARGS=--listen --share --enable-insecure-extension-access
call webui.bat
其中set COMMANDLINE_ARGS段落的參數功能如下,如果使用不到可視情況刪除。
set COMMANDLINE_ARGS參數說明:
--listen:讓區域網路中的別台電腦可以連入並操作
--share:產生時效為72小時的網址,讓外部電腦可以連入並操作
--enable-insecure-extension-access:執行不安全延伸程式(使用ControlNet時需啟用此設定)
接下來找到Anaconda Prompt執行檔的位置或捷徑,點擊滑鼠右鍵並選擇以系統管理員身份執行,然後在指令列切換至「stable-diffusion-webui資料夾」並執行RunSD.bat,首次執行會自動安裝相依程式與基礎算圖AI模型。至此即可完成所有安裝手續,以後透過Anaconda執行RunSD.bat,即可使用Stable Diffusion WebUI。
Anaconda指令範例:
F:
cd F:\Stable Diffusion\stable-diffusion-webui
RunSD.bat
(切換至其他硬碟分割區,此處範例為「F槽」
切換至Stable Diffusion WebU資料夾
執行RunSD.bat)
RTX 40顯示卡最佳化
為了讓NVIDIA顯示卡的效能最佳化,建議開啟Transformer引擎並安裝RTX 40系列顯示卡CuDNN函數庫(先前顯示卡的效能不會因為安裝函數庫而有影響)。
前者的方式相當簡單只需在RunSD.bat檔案的set COMMANDLINE_ARGS參數段落加上「--xformers」即可。
而後者可以下載支援CUDA 11的CuDNN 8.6安裝壓縮檔,將其解壓縮後,把「\cudnn-windows-x86_64-8.6.0.163_cuda11-archive\bin」資料夾中所有副檔名為.dll的檔案複製到「stable-diffusion-webui資料夾」中的「\venv\Lib\site-packages\torch\lib」。
完成上述步驟後,就能提升算圖過程的效率。
在完成安裝手續後,雖然已經可以開始使用,但為了強化算圖的效果,請繼續跟著筆者一起瞭解如何安裝更多模型。
(回到Stable Diffusion AI算圖系列文章目錄)
> 請問我輸入RunSD.bat 但沒有反應,要如何解決
請問你有先透過指令切換至「stable-diffusion-webui資料夾」嗎?(即內有launch.py的資料夾)
> 請問我在切換過去資料夾之後,輸入RunSD.bat,都一直顯示RunSD.bat不是內部或外部命令 可執行的程式或批次檔,要如何解決?
RunSD.bat檔案需要自行建立,請問你有參考本文教學,建立該檔案並填寫正確內文嗎?
> ※ 引述《軒轅皇龍》的留言:
> > 請問我在切換過去資料夾之後,輸入RunSD.bat,都一直顯示RunSD.bat不是內部或外部命令 可執行的程式或批次檔,要如何解決?
>
> RunSD.bat檔案需要自行建立,請問你有參考本文教學,建立該檔案並填寫正確內文嗎?
就是照著教學內容打的跑不出來才想請教...
> ※ 引述《軒轅皇龍》的留言:
> > 請問我在切換過去資料夾之後,輸入RunSD.bat,都一直顯示RunSD.bat不是內部或外部命令 可執行的程式或批次檔,要如何解決?
>
> RunSD.bat檔案需要自行建立,請問你有參考本文教學,建立該檔案並填寫正確內文嗎?
您好,我已經找到問題在哪了,就是.bat後面還多了一個.txt的檔案,
> ※ 引述《國寶大師 李文恩》的留言:
> > ※ 引述《軒轅皇龍》的留言:
> > > 請問我在切換過去資料夾之後,輸入RunSD.bat,都一直顯示RunSD.bat不是內部或外部命令 可執行的程式或批次檔,要如何解決?
> >
> > RunSD.bat檔案需要自行建立,請問你有參考本文教學,建立該檔案並填寫正確內文嗎?
> 您好,我已經找到問題在哪了,就是.bat後面還多了一個.txt的檔案,
嗯嗯,主要的問題應該是副檔名設定錯誤,修正過來應該就可以執行了吧