從零開始,手把手教你本地部署Stable Diffusion Webui AI繪畫 V3版 (Win系最新版)
歡迎來到覺悟之坡AI繪畫教學(xué)系列之第29篇。



一、前言
本號(hào)之前有發(fā)過2篇win平臺(tái)的教程,上一篇是還能用,不過總有同學(xué)在一些地方容易被卡住,本教程會(huì)在容易被卡住的地方增加了說明。
另外,新增了一鍵打開sd的方式,不再需要和以前一樣需要五步才能打開了。
已經(jīng)按舊教程安裝成功的同學(xué),不必重新安裝,直接在文章后面找到一鍵打開部分,修改相關(guān)參數(shù),即可一鍵打開sd。
二、部署說明
1.為什么要本地部署
因?yàn)橄啾扔诩稍诰W(wǎng)絡(luò)平臺(tái)的SD或者其他AI繪畫平臺(tái)來說,沒有生成數(shù)量的限制,不用花錢,不用被NSFW約束,生成時(shí)間快,不用排隊(duì),自由度高。
而且功能完整,插件豐富,可以調(diào)試和個(gè)性化的地方也更多。
更穩(wěn)定,也更容易讓SD變成生產(chǎn)力或者商業(yè)化使用。
(不用一鍵包/傻瓜包/整合包的原因,是我們更相信開源精神和原版,相對(duì)更穩(wěn)定更不容易出錯(cuò),也不容易有后門,也不容易依賴別人(整合包開發(fā)者)才能更新自己的SD。)
2.本地化部署的要求
本地化部署運(yùn)行雖然很好,但是也有一些基本要求
(1)需要擁有NVIDIA顯卡,GTX1060(或者同等算力的N卡)以上,顯存4G以上。
(2)操作系統(tǒng)需要win10或者win11的系統(tǒng)。(如果是MacOS的同學(xué),請(qǐng)看這里)
(3)運(yùn)行內(nèi)存16G或者以上,
(4)建議有一個(gè)128G以上的SSD固態(tài)硬盤,讀取大模型速度會(huì)更快。
(5)如果不知道自己電腦配置的,可以下載一個(gè)魯大師或者類似軟件,點(diǎn)擊硬件檢測(cè),就能看到顯卡,顯存,CPU,內(nèi)存等信息。

(魯大師-硬件檢測(cè)頁面示例)
(6)最好會(huì)魔法上網(wǎng),否則網(wǎng)絡(luò)波動(dòng),有些網(wǎng)頁會(huì)打不開,有些下載很慢。
(7)耐心,多嘗試,多搜索。這個(gè)教程我已經(jīng)重復(fù)過多次,因此很多問題都踩過坑并寫出來了,還有很多學(xué)員踩坑的問題也都放在里面了。所以請(qǐng)放心,一定能跑通的。
(8)我目前的電腦配置供大家參考,Win11,Intel G4560,NVIDIA RTX2080Ti 22G顯存,32G內(nèi)存。
生成一張20 Step的圖全默認(rèn)參數(shù)大概3-5s(若使用更高性能的電腦,生成速度更快。)
(看著配置還可以,除了cpu拉跨,但之前我是Nvidia GTX1060 5G顯存的顯卡,16G內(nèi)存,照樣可以20-30s出圖)
如果滿足相關(guān)軟硬件要求,請(qǐng)繼續(xù)往下看。
3.部署的AI繪畫項(xiàng)目簡介
AI繪畫開源項(xiàng)目其實(shí)有蠻多個(gè),但是最受歡迎,功能最豐富,且最易用的開源項(xiàng)目之一,就是Stable diffusion WebUI,因此我們是以Stable diffusion webui的本地部署為例。

三.部署算法環(huán)境
1.下載miniconda,用于配置基礎(chǔ)算法環(huán)境。
miniconda是用來管理python版本的,可以實(shí)現(xiàn)python的多版本切換。
下載地址:docs.conda.io/en/latest/miniconda.html

安裝時(shí)按默認(rèn)的一路next就行。
2.打開miniconda,輸入并執(zhí)行
conda -V
彈出版本號(hào)即為正確安裝


3. 在miniconda小窗里,輸入執(zhí)行下面語句,
conda config --set show_channel_urls yes
接著運(yùn)行
conda clean -i
清除索引緩存
4.創(chuàng)建python 3.10.6版本的環(huán)境,命名為sdwebui
運(yùn)行下面語句,(注意,這一步一定要內(nèi)外網(wǎng)通暢,否則會(huì)報(bào)錯(cuò)。報(bào)錯(cuò)就多執(zhí)行幾次。)
conda create --name sdwebui python=3.10.6
提示你是否要繼續(xù)安裝,輸入y,并回車。

如果顯示下面這個(gè)界面,這步就完成了。

這時(shí)程序已經(jīng)在你的路徑C:\ProgramData\Miniconda3\envs\sdwebui已經(jīng)創(chuàng)建了一個(gè)新的項(xiàng)目。
5,激活項(xiàng)目環(huán)境
輸入并執(zhí)行下面語句,激活conda虛擬環(huán)境。
conda activate sdwebui

6.升級(jí)pip,并更改默認(rèn)庫包下載地址為阿里鏡像站,增強(qiáng)網(wǎng)絡(luò)穩(wěn)定性和下載速度。
依次執(zhí)行下面的兩行語句,每一行輸入后回車,等執(zhí)行完再輸入下一行,再回車。
python -m pip install --upgrade pip
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
不報(bào)錯(cuò)就是完成了。報(bào)錯(cuò)了就依次執(zhí)行多幾次。
7. 安裝git,用來克隆下載github的項(xiàng)目,比如本作中的stable diffusion webui這個(gè)開源項(xiàng)目。
(1)前往git官網(wǎng) git-scm.com/download/win 下載相關(guān)安裝包

(2)下載好后,一路按默認(rèn)選項(xiàng),點(diǎn)Next完成安裝即可。
安裝完成之后,回到剛剛的miniconda黑色小窗,輸入并執(zhí)行下面指令。
git --version
查看git的版本,顯示了版本號(hào)即安裝成功。

(3)如果報(bào)錯(cuò),顯示“'git'?不是內(nèi)部或外部命令,也不是可運(yùn)行的程序”。
(如果不報(bào)錯(cuò),顯示了git版本號(hào),則跳過此步,進(jìn)入下面的第8步)
那么,先關(guān)閉miniconda小窗再打開再輸入git --version。
關(guān)閉后打開還不行,就執(zhí)行下面教程再重啟,或者安裝多一遍git再重啟。
把git的bin文件夾地址和git-core的文件夾地址放到windows系統(tǒng)變量的path里面。
默認(rèn)gitbin文件夾是:C:\Program Files\Git\bin
默認(rèn)gitcore文件夾地址是:C:\Program Files\Git\mingw64\libexec\git-core
把地址添加到環(huán)境變量的Path里面。
操作路徑是:開始-設(shè)置-系統(tǒng)-高級(jí)系統(tǒng)設(shè)置-環(huán)境變量-(系統(tǒng)變量)path-新建。(具體見下圖)

(注意,環(huán)境變量的path應(yīng)該改的是下方的“系統(tǒng)變量”path,不是上面的“用戶變量”path)
添加完后,你在miniconda里面,輸入git --version,就能出現(xiàn)git版本號(hào)啦。
8.安裝CUDA
CUDA是NVIDIA顯卡用來跑算法的依賴程序,所以我們需要它。
打開NVIDIA cuda官網(wǎng),developer.nvidia.com/cuda-toolkit-archive
(這里有人可能會(huì)打不開網(wǎng)頁,如果打不開,請(qǐng)用魔法上網(wǎng)。
安裝cuda之前,最好先用魯大師或者驅(qū)動(dòng)精靈之類的軟件升級(jí)顯卡驅(qū)動(dòng)到最新穩(wěn)定版,這樣可以支持更新版本的cuda,跑圖的時(shí)候速度會(huì)更快)

你會(huì)發(fā)現(xiàn)有很多版本的CUDA,下載哪個(gè)版本呢?
回到一開始的miniconda的小窗,輸入nvidia-smi,查看你的cuda版本。

(在這里輸入nvidia-smi的時(shí)候,有可能會(huì)顯示“'nvidia'?不是內(nèi)部或外部命令,也不是可運(yùn)行的程序”。
這時(shí)候,需要確認(rèn)你的顯卡是否為Nvidia的顯卡。
如果是,則檢查自己的顯卡驅(qū)動(dòng)是否最新版,可以用魯大師或者驅(qū)動(dòng)精靈之類的軟件更新顯卡驅(qū)動(dòng)至最新穩(wěn)定版本。
如果更新驅(qū)動(dòng)還不行,則把C:\Program Files\NVIDIA Corporation\NVSMI添加到系統(tǒng)環(huán)境變量。)
比如我的顯卡cuda是11.7版本,所以我就下載11.7.1即可。

然后安裝自己的系統(tǒng)選擇win10或者11,exe local,download
下載完后安裝,這個(gè)軟件2-3個(gè)G,可以安裝在c盤以外的地方。比如D盤,節(jié)省系統(tǒng)盤空間。
好了,安裝好之后,電腦的基礎(chǔ)環(huán)境設(shè)置終于完事了。
下面開始正式部署stable diffusion了。
四、stable diffusion環(huán)境配置
1.克隆stable diffusion源碼
確認(rèn)你的miniconda黑色小窗顯示的是下面語句。(如果不是,請(qǐng)先執(zhí)行conda activate sdwebui)
(sdwebui) C:\Users\Administrator>
這代表著你正在sdwebui這個(gè)程序環(huán)境里面。
接著我們要部署安裝stable-diffusion-webui本體了。
先看看你想安裝在哪個(gè)盤,建議放在非系統(tǒng)盤的其他盤根目錄,磁盤可用容量建議在100G以上。
比如我安裝在F盤。我就輸入下面指令再回車。(安裝在其他盤同理)
F:

接著執(zhí)行下面指令克隆SD項(xiàng)目代碼:
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
等到頁面顯示“done”,則克隆完成。

2.下載SD訓(xùn)練模型
打開https://huggingface.co/stabilityai/stable-diffusion-2-1/blob/main/v2-1_768-ema-pruned.ckpt
點(diǎn)擊download,下載模型。大約5.2G,這是stable diffusion的官方V2.1的基礎(chǔ)模型。
下載完把這個(gè)訓(xùn)練模型v2-1_768-ema-pruned.ckpt放入stable-diffusion-webui -> models -> Stable-diffusion文件夾里面。
(比如我的文件夾是“F:\stable-diffusion-webui\models\Stable-diffusion“)
注:
(1)第一次使用SD,用官方版基礎(chǔ)模型會(huì)穩(wěn)定些不容易報(bào)錯(cuò),后面可以自行去civitai或者h(yuǎn)uggingface下載其他基礎(chǔ)模型
(2)Stable-diffusion-webui -> models ->Stable-diffusion這個(gè)文件夾,專門存放用于生成AI繪圖的繪圖元素的基礎(chǔ)模型庫。
(3)后續(xù)如果在其他網(wǎng)站比如civitai之類的地方下載的ckpt或者safetensors的基礎(chǔ)模型也是放在這個(gè)文件夾里面。
3.準(zhǔn)備開啟運(yùn)行ai繪圖程序sd-webui
在miniconda的黑色小窗,執(zhí)行下面指令,進(jìn)入項(xiàng)目文件夾:
cd stable-diffusion-webui
執(zhí)行下面指令, 打開webui的應(yīng)用程序,
webui-user.bat

接下來就是等待系統(tǒng)自動(dòng)執(zhí)行。
直到系統(tǒng)提示,running on local URL: http://127.0.0.1:7860
這就代表,你可以開始正式使用AI畫畫啦~
注意:
(1)這一步要下載不少的依賴程序,網(wǎng)絡(luò)一點(diǎn)波動(dòng)都可能會(huì)報(bào)錯(cuò)。所以安裝過程當(dāng)中多次報(bào)錯(cuò)也很正常,需要耐心和時(shí)間多次嘗試。多次執(zhí)行webui-user.bat指令。
(2)不要關(guān)閉黑色小窗,哪怕它幾分鐘甚至20分鐘沒有任何變化。直到它報(bào)錯(cuò)再進(jìn)行下一次嘗試。
(3)如果提示連接錯(cuò)誤,可能需要開啟或者關(guān)閉魔法上網(wǎng),再重新執(zhí)行webui-user.bat命令。
(4)如果不小心退出了黑色窗口,則重新點(diǎn)擊:開始菜單-程序-打開miniconda窗口,依次輸入并執(zhí)行下面命令
conda activate sdwebui
F:
cd stable-diffusion-webui
webui-user.bat
(因?yàn)槲沂前惭b在F盤,所以我輸入”F:”,你如果安裝在其他盤,則修改成其他盤符,比如”D:”, “E:”之類)
(5)如果長時(shí)間卡在Installing gfpgan(或者installing clip,installing open_clip)這個(gè)環(huán)節(jié),那么進(jìn)入F:\stable-diffusion-webui文件夾下面,找到launch.py這個(gè)文件,用記事本打開。
在第200多行到300行的位置,找到這段代碼。

并在“https://github.com/xxx”的最前面,加上:https://ghproxy.com/
把你能看到的所有帶github.com地址的,前面都加上這個(gè)前綴,變成類似如下狀態(tài),

然后ctrl + s保存后退出。
這就相當(dāng)于讓原來從github下載相關(guān)程序包變成了走國內(nèi)鏡像下載相關(guān)程序包,這樣會(huì)增加網(wǎng)絡(luò)的穩(wěn)定性和網(wǎng)絡(luò)速度。
改完之后,下面繼續(xù)執(zhí)行webui-user.bat。
(4)如果改了launch.py文件, 還卡在gfpgan環(huán)節(jié),那么記得關(guān)閉外網(wǎng)功能。讓下載走國內(nèi)線路。
(5)安裝完gfpgan,clip,open_clip等幾個(gè)大頭之后,后面還有一些自動(dòng)安裝的依賴項(xiàng),如果比較慢,記得打開外網(wǎng)??傊杏X卡慢或者報(bào)錯(cuò)之后,則切換調(diào)節(jié)網(wǎng)絡(luò)后再重新執(zhí)行webui-user.bat指令。
4.打開webui網(wǎng)頁版

當(dāng)黑色窗口提示,running on local URL: http://127.0.0.1:7860的時(shí)候,如下圖
不要關(guān)閉黑色窗口,接著用瀏覽器(比如谷歌瀏覽器chrome)打開http://127.0.0.1:7860,就是AI繪畫主界面啦。
你可以直接在左上角的文本框輸入prompt提示詞,
比如:panda eat bamboo (熊貓?jiān)诔灾褡樱?/p>
然后點(diǎn)擊右側(cè)的橙色按鈕Generate,過一小會(huì),就能看到你畫出來的第一張圖啦。(第一次畫圖可能有點(diǎn)慢,如果小黑窗不報(bào)錯(cuò)就耐心等待)

(注意,如果寫了prompt點(diǎn)擊generate后無法生成圖片,看見minicoda黑色小框顯示“float 32“之類的關(guān)鍵字,則在webui頁面的Settings-stable-diffusion最下面,勾選float32的選項(xiàng)框。接著點(diǎn)擊上方的Apply Settings應(yīng)用,然后按F5刷新頁面后,或者重啟stable-diffusion-webui后即可正常使用。)

恭喜你,歷盡千辛萬苦,終于完成了stable diffusion webui的安裝,也成為新潮的AI繪畫玩家之一啦,歡迎來到新世界,為你驕傲,筆芯~
五.答疑
1.之后每次打開stable-diffusion-webui都要這么麻煩嗎?
不用,之后只要一鍵打開就行。
(1)先按照之前的打開方式打開miniconda,
然后輸入執(zhí)行conda activate sdwebui,
然后輸入執(zhí)行F:(以你SD安裝的盤符為準(zhǔn),比如說d盤輸入D: e盤輸入E:)?,
然后輸入cd stable-diffusion-webui,接著輸入webui-user.bat
(2)復(fù)制venv后面的雙引號(hào)里面的內(nèi)容“I:\stable-diffusion-webui\venv\Scripts\Python.exe”

(注意,我這里最前面的I是因?yàn)槲椰F(xiàn)在裝在了I盤,你如果裝在其他盤則最前面的盤符會(huì)不一樣,以你自己的為準(zhǔn)即可)
(3)用記事本打開stable-diffusion-webui文件夾下面的webui-user.bat文件,接著把剛剛復(fù)制的信息粘貼到里面的"set PYTHON=?"后面,這樣就可以自動(dòng)使用miniconda給我們創(chuàng)建的虛擬環(huán)境,不用自己手動(dòng)打開miniconda了,可以節(jié)省四步的動(dòng)作。
(4)并在"set COMMANDLINE_ARGS="語句后面,加上"--autolaunch",這樣可以讓sd自動(dòng)喚起瀏覽器并打開127.0.0.1:7860的網(wǎng)頁,節(jié)省我們一步的動(dòng)作。

(5)ctrl + s 保存修改。并把webui-user.bat文件復(fù)制,粘貼快捷方式到桌面。這樣下次你就可以在桌面雙擊它一鍵打開sd了。

2.我還是覺得安裝太麻煩,你能幫我嗎?
可以,遇到問題需要幫忙解決的也可以私,進(jìn)行問題咨詢答疑和詳細(xì)診斷。
3.安裝好了,怎么用呢?而且我畫的圖很丑,怎么回事?
請(qǐng)查看本號(hào)的AI繪圖相關(guān)文集,里面有個(gè)lora篇教程文章,會(huì)教怎么畫出好看的圖像,真實(shí)的圖像。也可以看其他教程文章,有很多好玩的用法介紹。
另外,本號(hào)覺悟之坡也長期致力于分享AI繪圖領(lǐng)域的知識(shí)技巧,歡迎關(guān)注學(xué)習(xí)交流。
4.內(nèi)外網(wǎng)問題怎么辦?
由于某種原因,抱歉不能出相關(guān)教程。
如果需要協(xié)助,可以聯(lián)系jackhowru單獨(dú)協(xié)助,比如通過幫忙下載好大文件再通過網(wǎng)盤分享的方式來解決。
5.為什么要自己部署,這么麻煩,不可以下載整合包嗎?
當(dāng)然可以,整合包的好處就是方便,快捷。
直接下載幾個(gè)G或者幾十G的文件,即可直接打開,動(dòng)動(dòng)鼠標(biāo)就能使用。
但是也有缺點(diǎn),
(1)整合包是別人開發(fā)和維護(hù)的,可能會(huì)有后門隱患。
(2)Stable diffusion本身就是開源的,具有開放的精神,因此有很多豐富的插件和源源不斷的新功能。
而整合包又讓他變成了封閉版,之后如果自己想要玩新的插件,功能,或者升級(jí)stable diffusion,常常需要依賴整合包的開發(fā)者,會(huì)麻煩很多。
如果別人沒有及時(shí)更新呢?如果別人不更新了呢?
因此,個(gè)人不太建議使用整合包。
6.每次啟動(dòng)的時(shí)候,miniconda小黑窗提示說xformers缺失,要管嗎?
可以不用管,也能正常使用AI繪畫。
如果你想管的話,用記事本打開stable-diffusion-webui下面的webui-user.bat文件,找到“COMMANDLINE_ARGS=“,后面增加”--xformers”,如下圖,接著保存并關(guān)閉窗口。(如果你的commandline_args后面已經(jīng)有了指令,則直接在別的指令后面,敲2個(gè)空格,把下面這個(gè)指令放在別的指令后面即可。)

關(guān)閉網(wǎng)頁,關(guān)閉miniconda黑色小窗。重新打開webui,這時(shí)候系統(tǒng)會(huì)自動(dòng)下載安裝xformers,下次就不會(huì)報(bào)錯(cuò)了。
有xformers,據(jù)說跑圖速度會(huì)略快一些些。我這邊實(shí)測(cè)感覺沒啥區(qū)別。
7.我是AMD/ATI的顯卡,能用嗎?
可以,但不適用本篇教程。可以去B站找相關(guān)教程。
A卡能用但是會(huì)比同樣性能的N卡慢。
甚至你直接用CPU也能跑,如果不介意一張圖默認(rèn)參數(shù)需要跑10分鐘以上的話(不適用本教程)。
8.裝完之后發(fā)現(xiàn)畫的圖全是黑的或者灰的。沒有任何圖案。怎么辦?
確認(rèn)一下你的顯卡是否支持,一般在小黑窗里面啟動(dòng)時(shí)有提示,比如顯示說 no longer support 之類的。如下。
? Found GPU0 NVIDIA Quadro K6000 which is of cuda capability 3.5.
? ? PyTorch no longer supports this GPU because it is too old.
? ? The minimum cuda capability supported by this library is 3.7.
那么,這時(shí)候建議你升級(jí)更換顯卡,(哪怕你是之前幾年很好的設(shè)計(jì)卡或者繪圖卡,都不行,還是要換顯卡),這樣才能正常畫圖。
如果只是體驗(yàn)SD的話,隨便買個(gè)百元顯卡比如P106,就能獲得基礎(chǔ)的畫圖體驗(yàn)。
你也可以用google colab免費(fèi)版先玩玩,不一定非要本地部署。
9.系統(tǒng)提示SD提示Something went wrong Expecting value: line 1 column 1 (char 0),然后什么功能都用不了。
確保你關(guān)閉了外網(wǎng)功能,尤其是關(guān)閉“全局”功能之后再打開SD。
另外,extension安裝卸載不成功也會(huì)產(chǎn)生這個(gè)問題。
另外,有時(shí)候直接重啟電腦之后也能解決。
這個(gè)問題的引起方式很多,所以很難列舉出所有原因和解決方案。
因此實(shí)在不行建議重裝sd,刪除stable-diffusion-webui從上面的教程git clone部分繼續(xù)往后即可。
<End>

如果不會(huì),有問題也可以私。
那么今天的課,先上到這里吧,下次再見,下課!
<End>
歷史教程文集,請(qǐng)查看AI繪畫教程文章合集
關(guān)注我們,更多AI繪圖技能知識(shí)持續(xù)更新中~