使用 Stable diffusion WebUI 進(jìn)行 embedding 模型的訓(xùn)練
訓(xùn)練 embedding

在模型訓(xùn)練前,先在 Settings 中把 Move VAE and CLIP to RAM……選上,然后點(diǎn)擊 Apply settings,使之生效。
在 stable-diffusion-webui 目錄內(nèi),創(chuàng)建一個(gè)名為 train 的文件夾,如下圖:

然后在 train 文件夾內(nèi),創(chuàng)建兩個(gè)文件夾,分別為 input 和 output,input 放置要處理的原始圖片,output 設(shè)置為處理完輸出的目錄。

把預(yù)先截切好的圖片放在 input 文件中。

然后在 train Tab 頁(yè)下,選擇 Preprocess images,在 Source directory 中輸入 input 路徑,在 Destination directory 中輸入 output 路徑。在下方勾選上 Use BLIP for caption,點(diǎn)擊 Preprocess,開始處理圖片(注意:用于訓(xùn)練 embedding 的圖片,最終需要的是 1:1 的比例)。


我們就可以在 output 文件夾內(nèi)看到處理的結(jié)果了,有圖片及 caption 文檔。

現(xiàn)在,先創(chuàng)建個(gè) embedding 文件,它會(huì)自動(dòng)保存在文件目錄結(jié)構(gòu)的 embedding 文件夾內(nèi)。


接著,我們就可以開始訓(xùn)練了。

在 Embedding 下拉框中,選擇剛才創(chuàng)建好的 embedding。
Learning rate 為學(xué)習(xí)率,值越高,越容易破壞 embedding。如果在訓(xùn)練信息文本框中看到 Loss:nan,那就意味著失敗。一般先默認(rèn),等熟悉了再去調(diào)整參數(shù)。也可以在設(shè)置中指定多個(gè)學(xué)習(xí)率:0.005:100, 1e-3:1000, 1e-5,這將在前 100 步使用 0.005 的學(xué)習(xí)率進(jìn)行訓(xùn)練,然后在 1000 步之前使用 1e-3,然后在結(jié)束時(shí)使用 1e-5。
Dataset dictory:用于訓(xùn)練的圖像目錄,就是我們剛才輸出到 output 文件夾中的內(nèi)容。
Log directory:樣本圖像和部分訓(xùn)練 embeddings 的副本將被寫入此目錄,默認(rèn)不改動(dòng)。
Prompt template file: 包含提示的文本文件,每行一個(gè),用于訓(xùn)練模型。查看 textual_inversion_templates 目錄中的文件,了解使用這些文件可以做什么。在訓(xùn)練風(fēng)格時(shí)使用 style.txt,在訓(xùn)練對(duì)象 embedding 時(shí)使用 subject.txt??梢栽谖募惺褂靡韵聵?biāo)簽:
●?[name]:embedding 的名稱
●?[filewords]:數(shù)據(jù)集中圖像文件名中的單詞。
[Filewords] 是提示模板文件的標(biāo)簽,允許您將文件名中的文本插入到提示中。默認(rèn)情況下,將刪除文件的擴(kuò)展名以及文件名開頭的所有數(shù)字和短劃線 (-)。所以這個(gè)文件名:000001-1-a man in suit.png將變成這個(gè)文本的提示:a man in suit。文件名中文本的格式保持不變。

Max steps:完成這么多步驟后,訓(xùn)練將停止。一步是指向模型展示一張圖片(或一批圖片,但目前不支持批處理),并用于改進(jìn) embedding。如果您中斷訓(xùn)練并在以后的日期恢復(fù)它,則步驟數(shù)將被保留。這里設(shè)置為 10000 步。
Save an image to log directory every N steps, 0 to disable:每 N 步保存一張圖片到 log 記錄中。
點(diǎn)擊 “Train Embedding” 開始訓(xùn)練。

訓(xùn)練完成后,我們回到 txt2img 界面,在 prompt 框中輸入提示詞,點(diǎn)擊 Generate 下方第三個(gè)圖標(biāo),可在提示詞輸入框下方展開相關(guān)的模型,如 embedding,Hypernetwork,Checkpoint,Lora 等,如下圖:

點(diǎn)擊我們剛才訓(xùn)練好的 "Keanu_Reeves",它會(huì)自動(dòng)加入到提示框內(nèi),點(diǎn)擊 Generate 按鈕,就可以查看模型訓(xùn)練的效果了。


