文本旨在利用云服務(wù)器部署stable diffusion,為本地電腦配置不夠,沒有GPU或者GPU較差,但也想嘗試AI繪圖的同學(xué)提供另一種方法。利用云服務(wù)器的優(yōu)勢幫助我們體驗(yàn)AI繪圖所帶來的全新的學(xué)習(xí)和實(shí)踐。
【資料圖】
本文的整個(gè)教程是作者一步步實(shí)踐所總結(jié)出來的,完整的按照作者的步驟執(zhí)行,是可以在云服務(wù)器上部署一個(gè)較為完整的stable diffusion,教程中包括了很多配置和換源是其他教程所沒有的。
提示:本文是stable diffusion部署在云服務(wù)器的教程,不是部署在本地電腦上的,本地電腦上的部署請瀏覽秋葉大神的視頻教程。
我使用的是騰訊云GPU服務(wù)器,騰訊云服務(wù)器經(jīng)常做活動(dòng),可以趁折扣的時(shí)候進(jìn)行購買,這是我此次服務(wù)器的基本信息,我選用的是GN7 8核32GB,N卡,操作系統(tǒng)選擇Ubuntu Server。
購買后在后臺(tái)實(shí)例中可看到該服務(wù)器
點(diǎn)擊「登錄」即可進(jìn)入服務(wù)器,首次進(jìn)入會(huì)自動(dòng)安裝驅(qū)動(dòng),等待幾分鐘即可。
利用anaconda是它集成了很多我們需要的安裝包,只要安裝它一個(gè),python下載、環(huán)境配置那些都不用我們再去設(shè)置,使用起來比較方便。
1、下載anaconda
若遇到這種不能下載的,前面加上 -U NoSuchBrowser/
2.安裝anaconda,提示enter按回車,提示yes or no的地方全部輸入yes即可。vscode不安裝
3.找到.bashrc這個(gè)文件并修改,修改文件有兩種方式:
①通過vim修改。
②也可以通過編輯器修改,找到.bashrc文件直接輸入內(nèi)容即算保存
4.如果輸入conda,提示找不到命令的話執(zhí)行下source,(執(zhí)行一次即可,以后都不用再 source 了,啟動(dòng) Ubuntu會(huì)自動(dòng)source)
然后驗(yàn)證下
至此anaconda已經(jīng)安裝完畢
1.去pytorch官網(wǎng)配置自己服務(wù)器所需要的pytorch
Pytorch build選擇stable穩(wěn)定版,操作系統(tǒng)是linux,由于上面我安裝了anaconda所以package選擇conda,語言python,我的CUDA是所以選擇了,最后獲取comand
2、pytorch需要安裝到anaconda的虛擬環(huán)境中,所以使用conda時(shí)需要先有一個(gè)虛擬環(huán)境并進(jìn)入
然后再執(zhí)行pytorch的安裝
如果出現(xiàn)提示需要升級(jí)conda版本的就輸入,沒有的話就跳過這步。我這里沒截到圖,會(huì)有個(gè)wanning的,注意看
驗(yàn)證安裝結(jié)果
1.將sd webui clone到服務(wù)器上,此處我用了鏡像。
2.鏈接換源。打開stable-diffusion-webui/modules/文件,替換以下內(nèi)容
3.每個(gè)/? (就在上一步的下面幾行,每一個(gè)網(wǎng)址都要改)鏈接前面添加/,替換為以下內(nèi)容
4.先進(jìn)入虛擬環(huán)境
5.先定位到的stable-diffusion-webui項(xiàng)目下
6.第一次啟動(dòng)sd,sd會(huì)安裝基礎(chǔ)的配置,這里等待一段時(shí)間,網(wǎng)速慢的個(gè)把小時(shí),所需要的內(nèi)容才會(huì)下載完畢。
7.第一次執(zhí)行會(huì)自動(dòng)下載“”這個(gè)模型,如果下載速度還行就耐心等待,如果網(wǎng)絡(luò)慢的同學(xué),可以先“ctrl+C”斷開下載步驟,然后到C站隨便下個(gè)大模型上傳上去。
后續(xù)我們啟動(dòng)stable diffusion時(shí)分為3個(gè)步驟:
#啟動(dòng)虛擬環(huán)境 conda activate sd #定位到sd根目錄 cd stable-diffusion-webui #加listen是啟動(dòng)公網(wǎng)環(huán)境 ./ --listen
然后等待有出現(xiàn)http:/就說明已啟動(dòng)成功。瀏覽器訪問(云主機(jī)公網(wǎng)ip):7860,出現(xiàn)stable diffusion內(nèi)容即為成功。
雖然webui已經(jīng)啟動(dòng),但是我們可以看到頁面下邊的配置
version:當(dāng)前webui的版本,我在寫這份文檔時(shí)最新版本就是,當(dāng)你們看到這份文檔的時(shí)候注意使用最新版本的。
python:版本是,這個(gè)版本會(huì)比較合適,既能用xformers,剛剛安裝又不會(huì)報(bào)錯(cuò),我試過、這些版本,會(huì)出現(xiàn)安裝不上,至于原因我沒去深入研究,你們想要用最新版本的話就研究下怎么配置。
torch:+cu117,sd會(huì)用到的神經(jīng)網(wǎng)絡(luò)和cuda版本,這里我cuda只有117,但是上面我安裝的cuda是。我不知道為什么會(huì)降一個(gè)版本,有大佬懂得話可以評(píng)論區(qū)解答下。
xformers:N/A,等會(huì)會(huì)安裝這個(gè),能提升出圖速度。
gradio:這個(gè)是AI的界面,可以不用管。
checkpoint:這個(gè)是大模型,我們還沒下載,后面步驟會(huì)下載。
通過我自己部署整個(gè)sd后,認(rèn)為修改文件,去先行配置一些參數(shù),可以減少我們后續(xù)啟動(dòng)時(shí)輸入的內(nèi)容,以及減少后續(xù)的一些麻煩。這是其他教程所沒有的,大家有必要可以參考下。
1.打開sd根目錄下的文件,將export commandline_args前面的#去掉,并且加上后面內(nèi)容。
--theme dark。讓webui變?yōu)榘瞪J?。有需要就加,沒需要就不用加。
--xformers。Xformers庫可以加速圖像的生成。
--enable-insecure-extension-access。在我們用--listen
啟動(dòng)時(shí),會(huì)成為公網(wǎng)環(huán)境,在公網(wǎng)環(huán)境下,系統(tǒng)會(huì)阻止extension(擴(kuò)展)的使用,以避免風(fēng)險(xiǎn)因素。所以我們?nèi)绻皇亲约菏褂玫脑?,完全可以通過這個(gè)繞開安全檢查,這樣我們在啟用公網(wǎng)環(huán)境時(shí)可以繼續(xù)使用extension(擴(kuò)展)功能。
--listen。啟用公網(wǎng)環(huán)境。(--listen要在最后一個(gè))。
配置完后我們在啟動(dòng)sd時(shí),便不用再輸入--listen
。
最后我們啟動(dòng)起來的webui就是這樣。
automatic1111大佬自帶的extensions源我們國內(nèi)無法直接訪問,所以我們需要替換成境內(nèi)的源,方便于我們后續(xù)使用擴(kuò)展。這里我使用秋葉大佬的源地址。
找到sd/modules/ui_
文件的這段。
將其中的地址這段替換為/akegarasu/sd-webui-extensions/raw/master/
這樣我們就可以秒加載擴(kuò)展
從模型網(wǎng)站上下載checkpoint的模型到本地后
再打開服務(wù)器的編輯
打開model下的sd路徑:stable-diffusion-webui/models/Stable-diffusion,并右鍵點(diǎn)擊上傳
上傳至服務(wù)器后刷新webui就可以看到該模型了
1.獲取下載路徑,如:
到stable-diffusion-webui/models/Stable-diffusion目錄下,用wget指令下載
每個(gè)lora都附帶一張圖片,這張圖片的名稱與模型名稱相同,一并上傳到服務(wù)器中的lora文件夾下,在webui中就會(huì)顯示該模型和預(yù)覽圖。當(dāng)然你也可以后面安裝C站助手,通過C站助手下載預(yù)覽圖。
的模型全部放在這個(gè)文件夾下。模型繼續(xù)使用上面提到的上傳方法(這里我用本地部署的舉例,服務(wù)器配置的時(shí)候要找到服務(wù)器中的path)
模塊默認(rèn)是沒有出來的,需要到「Settings — User interface — Quicksettings list」中添加VAE模塊
3.再保存、重啟UI即可。
若是境外服務(wù)器可以直接在sd上安裝
/lllyasviel/ControlNet
1.我的是境內(nèi)服務(wù)器,所以無法直接從github上下載,所以直接下載壓縮包
然后將壓縮包上傳至服務(wù)器/stable diffusion/extensions目錄下
2.定位到extensions目錄下
3.解壓zip
4.重啟webui就能看到
1.下載秋葉大佬已經(jīng)整理好的包
鏈接: /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默認(rèn)是不顯示的,需要我們自己配置。
1.先到「Settings — Stable Diffusion — Clip skip」中將數(shù)值調(diào)成2
2.再到「Settings — User interface — Quicksettings list」中添加clip模塊
注意:這兩個(gè)步驟不可顛倒,否者先把clip模塊加載出來的話,就無法設(shè)置clip的默認(rèn)值,這是個(gè)坑。
去模型網(wǎng)站上下載hypernetworks的模型,然后上傳到sd/models/hypernetworks文件夾中,然后在webui界面點(diǎn)擊刷新就可以看到了
1.擴(kuò)展中搜索zh
2.然后找到這2個(gè)進(jìn)行安裝
3.到Setting——User interface——localization選擇zh-hans,然后保存,重啟webui。
這個(gè)插件能漢化 UI 界面、Tag 自動(dòng)補(bǔ)全、提示詞 prompt 翻譯等功能,解決英文不好的問題,有效減少用翻譯軟件的時(shí)間,不過測試發(fā)現(xiàn)詞庫并不全,有些可能還會(huì)用到翻譯軟件。
想要安裝這個(gè)插件,需要先裝一個(gè)前置插件,叫“a1111-sd-webui-tagcomplete-main”
可以通過「擴(kuò)展—從網(wǎng)址安裝」輸入以下github倉下載安裝。
最后重啟webui就可以看到
/
/
/
/
/#/
/
騰訊云的這個(gè)OrcaTerm shell經(jīng)常會(huì)不定時(shí)的斷開,而我們的sd需要一直啟動(dòng)住,所以我們需要解決服務(wù)器斷開的問題。
1.下載Putty,/~sgtatham/putty/
2.打開putty并在host name輸入自己服務(wù)器的公網(wǎng)ip,然后點(diǎn)擊open
3.點(diǎn)擊accept即可
4.此處寫上自己服務(wù)器的名稱和密碼就是我們用orcaterm登錄時(shí)這里的用戶名和密碼。
注意這里輸入密碼是不會(huì)顯示的,輸入完后回車即可。
5.頂部右鍵選擇“change setting”,connection這里,輸入60,意味著每60秒向服務(wù)器發(fā)送一個(gè)空包保持session處于活動(dòng)中。
以上就是作者在Linux服務(wù)器下安裝stable diffusion的全部內(nèi)容,通過以上方法,大家可以配置一個(gè)較為完整的在線sd。至于更多的插件、模型大家就根據(jù)自己的需求去下載安裝即可,更多sd的功能大家就自己去挖掘。
如果覺得本文有用,請來個(gè)三連吧~
如果覺得專欄的排版不夠美觀的話,可以去我的飛書看/docx/Icdjdcw53oGEltxhE6yc5lmhn0e
標(biāo)簽: