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