截止至2023-06-25 最新免魔法stable-diffusion-webui的本地安裝部署方法。

截止至2023-06-25 最新免魔法stable-diffusion-webui的本地安裝部署方法。
開源項(xiàng)目 stable-diffusion-webui (https://github.com/AUTOMATIC1111/stable-diffusion-webui)
簡單的可通過整合包安裝,搜一下一大堆,而不想用整合包的可通過此方法windows部署。
原因是發(fā)現(xiàn)B站等網(wǎng)絕大多數(shù)視頻教程,都已經(jīng)不適用現(xiàn)在的版本,只能針對老的,固定的版本部署。特整理自己近期成功部署的最新的方法。
一.確認(rèn)本地部署硬件達(dá)到條件。(要求win10,win11等等,具體網(wǎng)上搜一下一大 ? ? ? ? ?堆)
二.算法環(huán)境部署
安裝miniconda搭建python環(huán)境。(也可直接安裝python 3.10.6,官方文檔建議python 3.10.6這個(gè)版本)
下載Miniconda — conda documentation

安裝默認(rèn)next
2.打開并運(yùn)行miniconda(桌面沒圖標(biāo),開始菜單搜)
結(jié)果有兩個(gè)Anaconda Prompt (miniconda3),Anaconda Powershell Prompt (miniconda3),打開第一個(gè)就行。
輸入conda --version 或 conda -V #查看,顯示conda版本號(hào),即安裝成功

3.創(chuàng)建python 3.10.6版本的環(huán)境,指定鏡像源
先輸入以下,設(shè)置搜索時(shí)顯示通道地址
conda config --set show_channel_urls yes
再次輸入,清除索引緩存
conda clean -i
輸入y

請點(diǎn)擊輸入圖片描述(最多18字)
創(chuàng)建環(huán)境名:sd(隨意寫名,方便后面操作,簡單命名sd)
conda create --name sd python=3.10.6
輸入y繼續(xù)

然后顯示下圖

再輸入以下,切換至sd環(huán)境
conda activate sd

請點(diǎn)擊輸入圖片描述(最多18字)
再輸入以下,升級(jí)pip
python -m pip install --upgrade pip
再輸入以下,更改鏡像源為阿里云
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/

請點(diǎn)擊輸入圖片描述(最多18字)
4.安裝git用來克隆開源項(xiàng)目 stable-diffusion-webui
? ? ?打開并下載Git - Downloading Package (git-scm.com)默認(rèn)next安裝完畢

?
5.輸入指令,查看git版本號(hào),安裝成功就能正常顯示git版本號(hào)。不能正常顯示,需要手動(dòng)添加進(jìn)Windows的系統(tǒng)變量里面
git --version
三.?克隆開源項(xiàng)目?stable-diffusion-webui?
1.選擇安裝路徑,我裝在E盤的根目錄
輸入E: ,切換到E盤根目錄
再輸入克隆代碼:避免網(wǎng)絡(luò)問題克隆失敗,直接加上https://ghproxy.com/
git?clone?https://ghproxy.com/https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

2.進(jìn)入安裝路徑,剛克隆下來的stable-diffusion-webui目錄(我的是E:\stable-diffusion-webui),為方便后面操作,把目錄名稱更改為sdwebui(比如我的是E:\sdwebui)
3.打開E:\sdwebui\modules\ ?,找到launch_utils.py 文件(舊版是改E:\sdwebui 根目錄里面的launch.py),要修改部分代碼,這里就是免魔法的關(guān)鍵。
右鍵-打開方式-選擇記事本打開(有裝MarkdownPad或Sublime Text之類的軟件也行,方便查看代碼)

這里舉例用記事本打開

可用Ctrl+F 搜索查找,代碼不是很多,也可慢慢下拉查找再陸續(xù)修改。
找到{"Alternatively, use a binary release of WebUI: https://github.com/AUTOMATIC1111/stable-diffusion-webui/releases" if is_windows else ""}
改為{"Alternatively, use a binary release of WebUI: https://ghproxy.com/https://github.com/AUTOMATIC1111/stable-diffusion-webui/releases" if is_windows else ""}
再找到
commits = requests.get('https://api.github.com/repos/AUTOMATIC1111/stable-diffusion-webui/branches/master').json()
改為commits = requests.get('https://ghproxy.com/https://api.github.com/repos/AUTOMATIC1111/stable-diffusion-webui/branches/master').json()
最后找到以下,全部在https://github.com/前加上https://ghproxy.com/
gfpgan_package = os.environ.get('GFPGAN_PACKAGE', "https://ghproxy.com/https://github.com/TencentARC/GFPGAN/archive/8d2447a2d918f8eba5a4a01463fd48e45126a379.zip")
clip_package = os.environ.get('CLIP_PACKAGE', "https://ghproxy.com/https://github.com/openai/CLIP/archive/d50d76daa670286dd6cacf3bcd80b5e4823fc8e1.zip")
openclip_package = os.environ.get('OPENCLIP_PACKAGE', "https://ghproxy.com/https://github.com/mlfoundations/open_clip/archive/bb6e834e9c70d9c27d0dc3ecedeebeaeb1ffad6b.zip")
stable_diffusion_repo = os.environ.get('STABLE_DIFFUSION_REPO', "https://ghproxy.com/https://github.com/Stability-AI/stablediffusion.git")
taming_transformers_repo = os.environ.get('TAMING_TRANSFORMERS_REPO', "https://ghproxy.com/https://github.com/CompVis/taming-transformers.git")
k_diffusion_repo = os.environ.get('K_DIFFUSION_REPO', 'https://ghproxy.com/https://github.com/crowsonkb/k-diffusion.git')
codeformer_repo = os.environ.get('CODEFORMER_REPO', 'https://ghproxy.com/https://github.com/sczhou/CodeFormer.git')
blip_repo = os.environ.get('BLIP_REPO', 'https://ghproxy.com/https://github.com/salesforce/BLIP.git')
修改完按Ctrl+S 保存,也可左上角點(diǎn)文件-保存,然后關(guān)閉

4.回到miniconda3,輸入cd sdwebui ?,再輸入webui-user.bat 運(yùn)行

自動(dòng)下載安裝torch2.0.1+cu118?根據(jù)自身網(wǎng)絡(luò)等待時(shí)間不一

?
我出現(xiàn)下面這個(gè)錯(cuò)誤是因?yàn)槲夷玫倪@臺(tái)機(jī)演示,沒有顯卡,沒有安裝cuda,正常還要搭配cudnn。
?

?
所以我在webui-user.bat加上set COMMANDLINE_ARGS= --skip-torch-cuda-test
繼續(xù)演示
?

正常電腦配置達(dá)到要求,是進(jìn)入下面界面,繼續(xù)安裝gfpgan,clip,open_clip
前面我們已經(jīng)加了https://ghproxy.com/?不會(huì)卡在這里,這里下載安裝可能回類似卡著,其實(shí)后臺(tái)在下載,根據(jù)網(wǎng)速可能慢一點(diǎn)
?

這三個(gè)完成后,克隆repositories目錄里面的幾個(gè),這里需要等待下載時(shí)間,后臺(tái)任務(wù)管理器里面可以看到流量的使用情況,如果沒動(dòng)靜需要關(guān)閉重新進(jìn)入下載
?


?
5.以上安裝完成,我的出現(xiàn)錯(cuò)誤,因?yàn)闆]有獨(dú)顯,沒下模型,演示的全給我跳過了。
?

6.打開E:\sdwebui目錄, 找到并右鍵編輯webui-user.bat這個(gè)文件。
修改成保存:
set PYTHON=C:\ProgramData\miniconda3\envs\sd\python.exe
?

不確定路徑對不對,也可在miniconda3?輸入where python?查找路徑,再改為正確的路徑。
修改完webui-user.bat這個(gè)文件,右鍵它發(fā)送到桌面快捷方式,后面桌面直接打開就能運(yùn)行。
?
要安裝xformers也是修改這個(gè)文件

?
重新運(yùn)行,正在下載并安裝xformers0.0.17版本
?

完成后?瀏覽器運(yùn)行127.0.0.1:7860?就可以了

?
?
基本的本地部署到這里就成了,后面的本地漢化,裝插件等,建議都在這里面安裝,不建議從外面下載項(xiàng)目放到E:\sdwebui\extensions ?里面安裝,不便于后面實(shí)時(shí)更新。

去掉下面3個(gè)勾,點(diǎn)load from?刷新,出來的列表,在search輸入zh搜索插件,右鍵復(fù)制鏈接,然后去install from URL?(從網(wǎng)址安裝),直接點(diǎn)install容易失敗。
?

在E:\sdwebui\modules下的?ui_extensions.py,用記事本打開,大概543行這里加入https://ghproxy.com/,找不到就用搜索找關(guān)鍵字available_extensions_index
然后保存,后面就能直接刷新出來這個(gè)插件列表。
?

繼續(xù)前面的,安裝漢化插件。從Available復(fù)制的鏈接粘貼到這里,并在前面加上https://ghproxy.com/,然后點(diǎn)下面Install安裝
?

?
顯示這個(gè)就安裝成功了。

重啟UI就能生效了,其他插件也都是這樣安裝。之后安裝的插件,也能夠刷新直接更新。
