Stable Diffusion云服務(wù)器部署完整版教程

文本旨在利用云服務(wù)器部署stable diffusion,為本地電腦配置不夠,沒有GPU或者GPU較差,但也想嘗試AI繪圖的同學(xué)提供另一種方法。利用云服務(wù)器的優(yōu)勢幫助我們體驗AI繪圖所帶來的全新的學(xué)習(xí)和實踐。
本文的整個教程是作者一步步實踐所總結(jié)出來的,完整的按照作者的步驟執(zhí)行,是可以在云服務(wù)器上部署一個較為完整的stable diffusion,教程中包括了很多配置和換源是其他教程所沒有的。
提示:本文是stable diffusion部署在云服務(wù)器的教程,不是部署在本地電腦上的,本地電腦上的部署請瀏覽秋葉大神的視頻教程。
一、SD的基礎(chǔ)環(huán)境和安裝
(一)購買服務(wù)器
我使用的是騰訊云GPU服務(wù)器,騰訊云服務(wù)器經(jīng)常做活動,可以趁折扣的時候進行購買,這是我此次服務(wù)器的基本信息,我選用的是GN7 8核32GB,N卡,操作系統(tǒng)選擇Ubuntu Server。

購買后在后臺實例中可看到該服務(wù)器

點擊「登錄」即可進入服務(wù)器,首次進入會自動安裝驅(qū)動,等待幾分鐘即可。

(二)配置運行環(huán)境
利用anaconda是它集成了很多我們需要的安裝包,只要安裝它一個,python下載、環(huán)境配置那些都不用我們再去設(shè)置,使用起來比較方便。
1、配置Anaconda
1、下載anaconda

若遇到這種不能下載的,前面加上 -U NoSuchBrowser/1.0
2.安裝anaconda,提示enter按回車,提示yes or no的地方全部輸入yes即可。vscode不安裝
3.找到.bashrc這個文件并修改,修改文件有兩種方式:
①通過vim修改。
②也可以通過編輯器修改,找到.bashrc文件直接輸入內(nèi)容即算保存

4.如果輸入conda,提示找不到命令的話執(zhí)行下source,(執(zhí)行一次即可,以后都不用再 source 了,啟動 Ubuntu會自動source)
然后驗證下
至此anaconda已經(jīng)安裝完畢

2、安裝pytorch
1.去pytorch官網(wǎng)配置自己服務(wù)器所需要的pytorch
Pytorch build選擇stable穩(wěn)定版,操作系統(tǒng)是linux,由于上面我安裝了anaconda所以package選擇conda,語言python,我的CUDA是12.0所以選擇了CUDA11.8,最后獲取comand

2、pytorch需要安裝到anaconda的虛擬環(huán)境中,所以使用conda時需要先有一個虛擬環(huán)境并進入
然后再執(zhí)行pytorch的安裝
如果出現(xiàn)提示需要升級conda版本的就輸入,沒有的話就跳過這步。我這里沒截到圖,會有個wanning的,注意看
驗證安裝結(jié)果

(三)安裝sd-webui
1、啟動sd
1.將sd webui clone到服務(wù)器上,此處我用了鏡像。
2.鏈接換源。打開stable-diffusion-webui/modules/launch.until.py文件,替換以下內(nèi)容
3.每個https://github.com/? (就在上一步的下面幾行,每一個網(wǎng)址都要改)鏈接前面添加https://ghproxy.com/,替換為以下內(nèi)容
4.先進入虛擬環(huán)境
5.先定位到的stable-diffusion-webui項目下
6.第一次啟動sd,sd會安裝基礎(chǔ)的配置,這里等待一段時間,網(wǎng)速慢的個把小時,所需要的內(nèi)容才會下載完畢。
7.第一次執(zhí)行會自動下載“v1-5-pruned-emaonly.safetensors”這個模型,如果下載速度還行就耐心等待,如果網(wǎng)絡(luò)慢的同學(xué),可以先“ctrl+C”斷開下載步驟,然后到C站隨便下個大模型上傳上去。
2、打開webui
后續(xù)我們啟動stable diffusion時分為3個步驟:
#啟動虛擬環(huán)境 conda activate sd #定位到sd根目錄 cd stable-diffusion-webui #加listen是啟動公網(wǎng)環(huán)境 ./webui.sh --listen
然后等待有出現(xiàn)http:/0.0.0.0:7860就說明已啟動成功。瀏覽器訪問http://x.x.x.x(云主機公網(wǎng)ip):7860,出現(xiàn)stable diffusion內(nèi)容即為成功。

(四)小結(jié)
雖然webui已經(jīng)啟動,但是我們可以看到頁面下邊的配置

version:當前webui的版本,我在寫這份文檔時最新版本就是1.4,當你們看到這份文檔的時候注意使用最新版本的。
python:版本是3.10.11,這個版本會比較合適,既能用xformers,剛剛安裝又不會報錯,我試過3.10.12、3.11這些版本,會出現(xiàn)安裝不上,至于原因我沒去深入研究,你們想要用最新版本的話就研究下怎么配置。
torch:2.0.1+cu117,sd會用到的神經(jīng)網(wǎng)絡(luò)和cuda版本,這里我cuda只有117,但是上面我安裝的cuda是11.8。我不知道為什么會降一個版本,有大佬懂得話可以評論區(qū)解答下。
xformers:N/A,等會會安裝這個,能提升出圖速度。
gradio:這個是AI的界面,可以不用管。
checkpoint:這個是大模型,我們還沒下載,后面步驟會下載。
二、webui-user.sh文件配置
通過我自己部署整個sd后,認為修改webui.user.sh文件,去先行配置一些參數(shù),可以減少我們后續(xù)啟動時輸入的內(nèi)容,以及減少后續(xù)的一些麻煩。這是其他教程所沒有的,大家有必要可以參考下。
1.打開sd根目錄下的webui-user.sh文件,將export commandline_args前面的#去掉,并且加上后面內(nèi)容。
--theme dark。讓webui變?yōu)榘瞪J?。有需要就加,沒需要就不用加。
--xformers。Xformers庫可以加速圖像的生成。
--enable-insecure-extension-access。在我們用
--listen
啟動時,會成為公網(wǎng)環(huán)境,在公網(wǎng)環(huán)境下,系統(tǒng)會阻止extension(擴展)的使用,以避免風(fēng)險因素。所以我們?nèi)绻皇亲约菏褂玫脑?,完全可以通過這個繞開安全檢查,這樣我們在啟用公網(wǎng)環(huán)境時可以繼續(xù)使用extension(擴展)功能。--listen。啟用公網(wǎng)環(huán)境。(--listen要在最后一個)。
配置完后我們在啟動sd時,便不用再輸入--listen
。

最后我們啟動起來的webui就是這樣。

三、extensions換源
automatic1111大佬自帶的extensions源我們國內(nèi)無法直接訪問,所以我們需要替換成境內(nèi)的源,方便于我們后續(xù)使用擴展。這里我使用秋葉大佬的源地址。
找到sd/modules/ui_extensions.py
文件的這段。
將其中的地址這段替換為https://gitee.com/akegarasu/sd-webui-extensions/raw/master/index.json
這樣我們就可以秒加載擴展

四、CheckPoint的下載
(一)下載至本地再上傳至服務(wù)器
從模型網(wǎng)站上下載checkpoint的模型到本地后
再打開服務(wù)器的編輯

打開model下的sd路徑:stable-diffusion-webui/models/Stable-diffusion,并右鍵點擊上傳

上傳至服務(wù)器后刷新webui就可以看到該模型了

(二)直接下載至服務(wù)器
1.獲取下載路徑,如:
2.cd到stable-diffusion-webui/models/Stable-diffusion目錄下,用wget指令下載
五、LoRA的下載與安裝
每個lora都附帶一張圖片,這張圖片的名稱與模型名稱相同,一并上傳到服務(wù)器中的lora文件夾下,在webui中就會顯示該模型和預(yù)覽圖。當然你也可以后面安裝C站助手,通過C站助手下載預(yù)覽圖。

六、VAE的下載與安裝
1.VAE的模型全部放在這個文件夾下。模型繼續(xù)使用上面提到的上傳方法(這里我用本地部署的舉例,服務(wù)器配置的時候要找到服務(wù)器中的path)

2.VAE模塊默認是沒有出來的,需要到「Settings — User interface — Quicksettings list」中添加VAE模塊

3.再保存、重啟UI即可。

七、ControlNet的下載與安裝
(一)直接安裝
若是境外服務(wù)器可以直接在sd上安裝
https://github.com/lllyasviel/ControlNet

(二)壓縮包安裝
1.我的是境內(nèi)服務(wù)器,所以無法直接從github上下載,所以直接下載壓縮包

然后將壓縮包上傳至服務(wù)器/stable diffusion/extensions目錄下
2.定位到extensions目錄下
3.解壓zip
4.重啟webui就能看到

(三)安裝models
1.下載秋葉大佬已經(jīng)整理好的包
鏈接: https://pan.baidu.com/s/1rh39DI9xVbguLO5l7O4pjA?
提取碼: yqqe
2.將預(yù)處理器下的downloads文件壓縮成zip
3.定位位置,具體path看自己的服務(wù)器
4.解壓zip
5.再將下載文件中“模型”文件下的所有文件放到stable diffusion/models/ControlNet/文件內(nèi)。
6.最后即可使用ControlNet。
八、Clip skip的配置
Clip skip具體有什么用可以百度下,Clip skip默認是不顯示的,需要我們自己配置。
1.先到「Settings — Stable Diffusion — Clip skip」中將數(shù)值調(diào)成2

2.再到「Settings — User interface — Quicksettings list」中添加clip模塊

注意:這兩個步驟不可顛倒,否者先把clip模塊加載出來的話,就無法設(shè)置clip的默認值,這是個坑。
九、hypernetworks的下載與安裝(選裝)
去模型網(wǎng)站上下載hypernetworks的模型,然后上傳到sd/models/hypernetworks文件夾中,然后在webui界面點擊刷新就可以看到了
十、插件的使用
(一)sd的漢化
1.擴展中搜索zh

2.然后找到這2個進行安裝

3.到Setting——User interface——localization選擇zh-hans,然后保存,重啟webui。

(二)中英對照tag自動補齊
這個插件能漢化 UI 界面、Tag 自動補全、提示詞 prompt 翻譯等功能,解決英文不好的問題,有效減少用翻譯軟件的時間,不過測試發(fā)現(xiàn)詞庫并不全,有些可能還會用到翻譯軟件。
想要安裝這個插件,需要先裝一個前置插件,叫“a1111-sd-webui-tagcomplete-main”
可以通過「擴展—從網(wǎng)址安裝」輸入以下github倉下載安裝。
最后重啟webui就可以看到

十一、其他
(一)可下載模型的網(wǎng)站
https://civitai.com/
https://huggingface.co/
https://www.liblibai.com/
https://www.liandange.com/
https://i-desai.com/#/
https://aigccafe.com/
(二)如何讓服務(wù)器不斷開連接
騰訊云的這個OrcaTerm shell經(jīng)常會不定時的斷開,而我們的sd需要一直啟動住,所以我們需要解決服務(wù)器斷開的問題。
1.下載Putty,https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
2.打開putty并在host name輸入自己服務(wù)器的公網(wǎng)ip,然后點擊open

3.點擊accept即可

4.此處寫上自己服務(wù)器的名稱和密碼就是我們用orcaterm登錄時這里的用戶名和密碼。


注意這里輸入密碼是不會顯示的,輸入完后回車即可。

5.頂部右鍵選擇“change setting”,connection這里,輸入60,意味著每60秒向服務(wù)器發(fā)送一個空包保持session處于活動中。

(三)其他
十二、總結(jié)
????以上就是作者在Linux服務(wù)器下安裝stable diffusion的全部內(nèi)容,通過以上方法,大家可以配置一個較為完整的在線sd。至于更多的插件、模型大家就根據(jù)自己的需求去下載安裝即可,更多sd的功能大家就自己去挖掘。
????如果覺得本文有用,請來個三連吧~
????如果覺得專欄的排版不夠美觀的話,可以去我的飛書看https://k9v8wpkvnx.feishu.cn/docx/Icdjdcw53oGEltxhE6yc5lmhn0e