一些過程+億些踩坑記錄
都是因為自己顯卡太差,正好還有剩下來的深度學習平臺租的服務器,單純用的話沒有必要這么麻煩,但訓練對顯存有要求而且我也沒打算拿著小筆記本電腦跑到天荒地老。
目前時間是2022.11.12,以后和以前的版本可能會不適用。
我用到的過程們
創(chuàng)建環(huán)境(linux)
一般租的服務器會自帶一些配置,似乎可以少配置一點,但我的教訓是從頭整一個干凈的虛擬環(huán)境更省心。
conda create -n sd python=3.8
conda activate sd
關于conda、pip等東西,如果你的平臺上沒有自帶,應該會有基礎教程。關于怎么持久化你的虛擬環(huán)境各個平臺應該有相應做法。
然后是官方網(wǎng)站給的指令:
sudo apt install wget git python3 python3-venv
新建一個文件夾,cd到文件夾里,把webui克隆過來:
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
權重放在stable-diffusion-webui/models下。
如果十分順利的話,進入stable-diffusion-webui,這個時候就可以按官方的一步到位。
bash <(wget -qO- https://raw.githubusercontent.com/AUTOMATIC1111/stable-diffusion-webui/master/webui.sh)
不順利的話可以看看踩坑里有沒有類似的,反正我最后放棄了這條指令分步拆的,可以看看后面按requirments.txt來的部分。
Deepbooru安裝
進入stable-diffusion-webui/models/deepbooru文件夾,這個是給訓練圖片(二次元)自動做標注用的,不微調二次元圖片可以不管,官方要求的tensorflow我忘了是webui的requirments里就有還是得單獨安裝了,這個沒有遇到什么問題。
git clone https://github.com/KichangKim/DeepDanbooru.git
//如果要自己安裝tensorflow
pip install tensorflow
pip install tensorflow-io
按requirments.txt來
由于我官方的那條指令并不順利,所以在webui的文件夾下,
pip install -r requirements.txt
這里,包括前面的指令都可能遇到服務器配置的鏡像源里的版本并沒有跟上要求然后安裝失敗的問題,簡單地說就是txt里的新版本下不到。最簡單的解決方法就是看看源里最新的版本到哪(一般報錯的時候會給報),然后把txt里的版本號改成你能下的那個版本。
搞完以后開始執(zhí)行
python launch.py --share --listen --port 7860 --deepdanbooru
端口port寫啥應該都可以,可能有些比較小的要sudo,7860是默認的,share是因為并不能指望云服務器上找一個瀏覽器,反正如果報錯說類似localhost怎么怎么然后打開share的話按這個來,教研室的服務器如果要分享出去我猜要整穿透。然后復制它給你的分享網(wǎng)址粘貼進去就行了。deepdanbooru那部分是給訓練用的,只生成圖不用管。
更多的踩坑
配置環(huán)境部分
如果遇到error里有“no matches found: httpx[socks]”:
注意單引號給[]轉義,它的提示里的pip install httpx[socks]是不行的,得這樣:
pip install 'httpx[socks]'
訓練部分
這個很怪,我遇到embedding能生成但界面那邊刷新不出來也沒法加載的問題,忘了報錯是什么了,反正按照它的提示,去stable-diffusion-webui/modules下的share.py里,找一下--disable-safe-unpickle,把默認值寫成true。
parser.add_argument("--disable-safe-unpickle", action='store_true', help="disable checking pytorch models for malicious code", default=True)
如果是這樣解決的話訓練完成的pt文件要在其它地方用也得改這個。
如果訓練的時候沒能開始,報錯里有cpu之類的,用了這位大佬的方法,stable-diffusion-webui/repositories/stable-diffusion/ldm/models/diffusion,進入ddpm.py,1030行上面加入文章來源:http://www.zghlxwxcb.cn/news/detail-801138.html
t = t.to('cpu')
最后:單說服務器上折騰,其實可能不用webui用原版還會方便點……訓練參數(shù)和不同方法的差別之類的還在試。文章來源地址http://www.zghlxwxcb.cn/news/detail-801138.html
到了這里,關于云服務器部署stable diffusion webui的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!