Stable Diffusion -- 訓練LoRA(二)

Stable Diffusion -- 訓練LoRA(二)

更新於 發佈於 閱讀時間約 6 分鐘
靠著LoRA加上天時地利,就可能跑出驚喜等級的圖

靠著LoRA加上天時地利,就可能跑出驚喜等級的圖

上一回: Stable Diffusion -- 訓練LoRA(一)

前言

這次要介紹的LoRA訓練法,特別適用於下列對象:

  • nVidia顯卡不夠高級,跑不動訓練程序
  • 根本不是nVidia的使用者,Stable Diffusion的訓練程序不支援
  • 不想花錢花電力花顯卡時間訓練

這個方法主要是借用Google Colab的威力,直接靠Colab強大GPU與夠大的顯卡記憶體,能夠非常充足地訓練出品質非常優異的LoRA模型。

更新

由於該頁面的作者更新了整個架構,因此本章節的步驟不再有效,請移駕

Stable Diffusion -- 訓練LoRA(三)

下面的文章保留作為存檔。


第一步,上傳訓練圖:

首先,你必須登入Google,進入Google雲端硬碟

然後,創建一個多層的資料夾,根據你的LoRA的名稱,格式是:

我的雲端硬碟 -> Loras -> <專案名稱> -> dataset

以下是舊版的路徑,已經不再使用:

我的雲端硬碟 -> lora_training -> datasets -> <專案名稱>

以我為例,我創建的路徑為:

我的雲端硬碟 -> Loras -> Vallaria -> dataset

以下是舊版的路徑,已經不再使用:

我的雲端硬碟 -> lora_training -> datasets -> Vallaria

之後,將 Stable Diffusion -- 訓練LoRA(一) 製作好的訓練圖以及提示詞文檔全部上傳到這個目錄裡面,結果會像下圖一樣:

raw-image

雲端硬碟的目錄結構會長得像這樣:

raw-image

第二步,使用Colab訓練:

訓練素材準備好之後,就可以打開Colab頁面來訓練了。

首先,登入這個頁面:

https://colab.research.google.com/github/hollowstrawberry/kohya-colab/blob/main/Lora_Trainer.ipynb

裡面有幾個欄位要填寫,需要修改的有這幾個:

project_name: 等同於你放在Google雲端硬碟的目錄名,以我為例這裡是Vallaria

training_model:有兩個原始模組可以挑選,如果要用在動畫圖片上可用Anime,否則選Photorealism。我自己是用Photorealism訓練,用在動畫類的模組上也沒啥問題。

  • num_repeats:每張圖被訓練的次數,這邊我選10
  • training_unit:我選擇Epochs
  • how_many:我選擇20
  • train_batch_size:同時訓練的圖的數量,通常是2
  • 其他參數保持不變即可。

在這邊你要依照你的訓練圖的數量來決定num_repeats的數量,有一個算式是:

訓練圖總數 X 每張訓練步數 X Epochs數量 = 總訓練數。

以我的20張訓練圖為例:

20張 X 10步 X 20個Epochs = 4000。

這個數字要超過4000,這樣LoRA的品質才會好,而通常低於6000,免得Colab的每日免費時數被用完。

當訓練數量低於2000,出來的LoRA非常難看,角色的特徵能被抓出來,但是成品的臉型邊緣會一團模糊,更細部的特徵例如雀斑、膚色會大面積不穩定在臉上擴散。當訓練數量到達3000以後,大部分的品質會趨於穩定,但是眼睛的特徵會過於模糊,使得人物的神色委靡。直到了4000以上的LoRA才能拿來用。

當一切都設定好之後,就可以按下左邊的開始圖示跑訓練了!

剛開始跑的時候,程式會要求你授權,讓它能存取你的Google雲端硬碟,請記得要允許。

如果一切正常的話,你就會在這區塊的最下方看到系統跑訓練的log了!

raw-image

通常需要十到二十分鐘才能跑完。

當訓練完成後會出現連結,但其實,成果檔案就在你的雲端硬碟的目錄上:

我的雲端硬碟 -> Loras -> <專案名稱> -> output

你會在這個目錄上看到不只一個safetensors檔案,數字最大的那個就是最後訓練的成果LoRA檔案了。

就這樣,你已經輕鬆烘焙出你自己的LoRA了!

恭喜你,完成了!

是時候把你的LoRA模組放到stable-diffusion-webui的models/Lora目錄裡面,然後重開整個webui,就能看見它出現在Lora標籤下了,馬上用它來生出你想要的角色圖,驗證並同時犒賞犒賞自己吧!

我把用同一個LoRA跑出來的圖都放在 敬業的外拍Cosplayer -- Stable Diffusion繪製 裡面了,有興趣就看一下成果吧,你會發現角色的五官特徵大致上是一致的。

附註:有些真人向模型因為額外訓練素材的偏好,出來的女角色都會有強烈的髮色與瞳色偏好,權重不夠高的LoRA還無法直接蓋過,但LoRA權重過高又會影響整個畫風,這種情況下必須使用提示詞強制改變髮色與瞳色。


不論是哪種髮型跟服裝,你都能清楚看見角色的特徵是一致的。

不論是哪種髮型跟服裝,你都能清楚看見角色的特徵是一致的。


LoRA目錄:


avatar-img
子不語怪・力・亂・神
27.2K會員
429內容數
寫奇幻小說,畫圖,心得,各式各樣作品的故鄉。
留言
avatar-img
留言分享你的想法!
這篇討論的是LoRA訓練裡面,可能是最重要的一步,就是選圖的標準,以及提示詞的選取策略。 最近在詳細研究到底要如何練出優質穩定的LoRA,參考了幾個Youtuber,以及Reddit上的影片跟文字分享,把一些訣竅整理條列在下面。
這篇要來討論,我們是否能靠著一張圖,就能鍛鍊出LoRA。
接續上一篇,我們開始用準備好的訓練素材圖跟規範圖來烘焙我們的高品質LoRA。
這篇討論的是LoRA訓練裡面,可能是最重要的一步,就是選圖的標準,以及提示詞的選取策略。 最近在詳細研究到底要如何練出優質穩定的LoRA,參考了幾個Youtuber,以及Reddit上的影片跟文字分享,把一些訣竅整理條列在下面。
這篇要來討論,我們是否能靠著一張圖,就能鍛鍊出LoRA。
接續上一篇,我們開始用準備好的訓練素材圖跟規範圖來烘焙我們的高品質LoRA。