這邊繼續
上一集 的內容,進入這一章節時,你應該是已經安裝好stable diffusion webui跟Kohya's GUI了。
這一章就真的要開始準備訓練Lora模型了,步驟有點雜,我拆成四個小步驟來看,這一章節也是最重要的,以後忘了步驟時,也只要回頭來看這一篇就行了。
熟悉這個操作過程以後你就會發現其實並不是真的那麼難,只是小步驟多令人忘而怯步。熟練以後這些操作也只是幾分鐘的事而已,現在只是因為我拆成逐步教學所以才會看起來很多很雜。
第一步:前置作業-準備圖片
接著要做的事情是準備你想畫的人物圖或物品圖,動漫或寫實都行,不限於人物,只要是明確的單一物品都可以,這些素材將成為訓練圖片,
以人物為例,假設你要畫的是林志玲(抱歉我是叔叔了,我只認識林志玲),你就要準備十幾張林志玲的圖片,最好是以各種角度各種表情的臉部圖片為主,人物長相要清晰清楚,也不要混到其它人的臉。大約十幾張到二十幾張就很充足了,越多不會越好,而太少也不行。
圖片準備好後要將圖片轉為512*512的尺吋,這邊方法很多我就不展開細講了,因為每個人的狀況和習慣都不同,看你要抓大圖縮成小圖,或是抓小圖放大成大圖,或是用圖片編輯軟體用剪的都可以,最重要的是確保不要在轉換過程中造成圖片的失真模糊或扭曲變形。手邊沒工具的話,stable diffusion webui也有內建一些簡單的放大縮小功能。
如果真的對圖片編輯毫無概念毫無方向的話,我講一下我用的軟體名稱是FastStone Image Viewer,它可以提供最基本的裁剪與放大縮小功能。而
BIRME 也是很方便的免費圖片批次處理網站。
第二步:圖片預處理:
這邊先啟動stable diffusion webui並打開網頁介面,切換到Train功能頁籤,接著選擇下層的Preprocess images頁籤。(注意這邊要啟動的是stable diffusion webui ,不是Kohya’s GUI,Kohya’s GUI還沒有要上場。)
這個頁籤有兩個欄位要填寫,Source directory設定你放訓練圖的資料夾位址,而Destination directory設定預處理後的圖片儲存的新資料夾位址。
接著再往下看,建議勾選Create flipped copies,這會把你的圖片反轉一次,讓你一張圖變兩張圖,使你的訓練圖數量直接加倍。
而Use BLIP for caption與Use deepbooru for caption這兩個選擇則是二選一,你的訓練圖是寫實風格就勾選Use BLIP for caption,如果是動漫類或二次元風格就勾選Use deepbooru for caption。
其它設定都不用動,確認好後就按下右下角的Preprocess按鈕。
查看stable diffusion webui的終端視窗可知執行進度,這邊不會跑太久,執行完成後的畫面大約像下圖這樣:
預處理完成後的檔案會儲存在上一步設定的Destination directory資料夾內,檔案結構會類似下圖這種,一張圖跟著一個文字檔:
將這些檔案全部集中到一個訓練圖資料夾中,例如下圖我是把檔案全部放到G:\Asuka訓練圖集\這個資料夾下,資料夾名稱可以自取,不一定要叫做XXX訓練圖集:
接著在裡面再建一個子資料夾,名稱取為「每張圖訓練步數_角色名稱 」,例如我希望每個圖片的訓練步數是100步,而角色名稱是Asuka,就將這個子資料夾名稱取為「100_Asuka」。
接著將這些訓練圖與文字檔全丟到這個子資料夾裡面去:
這邊要注意的是,子資料夾名稱的結構是「每張圖訓練步數_角色名稱 」,其中的角色名稱不重要,隨便取自己能辨識的即可,每張圖訓練步數才是重點 。
Lora的訓練步數最低不可低於1500步,所以假設你有15張訓練圖的話,那每張圖就要訓練100步,若只有10張圖,此時你的每張圖訓練步數就要改為150步,以上面的例子來說,子資料夾名稱就要改為「150_Asuka」。
另外,據說每張圖的最低訓練步數不可低於100步,也就是說,就算你有30張訓練圖你也不能把單圖訓練步數降低到50步,以上述為例就是把子資料夾名稱改為50_Asuka這樣是不行的,最低步數就是100。(這段只是提醒一下公眾說法,我本人實測的結果是只要圖片數夠多且質量不要太差,步數設成100以下好像也差不多,但如果你不是特別想做測試的話,就照大眾做法就行了。)
第三步:啟動Kohya's GUI
首先啟動Kohya’s GUI,點擊Kohya’s GUI軟體根目錄下的gui.bat即可啟動。
啟動畫面類似stable diffusion webui,啟動後會給你一個網址,注意看它給你的網址,它是會變動的,如果你同時也開啟了stable diffusion webui則這邊的啟動port會變成7861。以下圖的網址為例,就是打開瀏覽器,然後進入網址:
http://127.0.0.1:7861/
第四步:設定訓練參數並開始訓練
這一步算是整個Lora訓練過程中最讓人覺得麻煩且複雜的地方了,但下面那一長串的說明,說穿了也只是設定了兩個小頁籤的幾個參數而已,不要覺得難,只是字多而已。
第一個頁籤: 打開Kohya’s GUI介面後先切到DreamboothLoRA功能頁籤,然後點擊Configuration file。
接著點擊Open按鈕讀取現成的設定檔 ,這邊你如果熟練的話也可以直接自己手動設定就好,不一定要讀取設定檔,讀取設定檔是懶人加新手做法。
至於現成的設定檔 從哪來呢? 直接從下述網址下載就好 ,依你的顯卡狀況選一個下載就好,顯卡還不錯就選一般版,顯卡較低階就選低配版(一般來說顯卡記憶體有8G以上可以使用一般版),設定檔存哪都可以,自己記得就好。
上面的網址是google雲端硬碟的介面,點進去後它會預設以文字檔開啟,這邊直接點右上角的下載鈕就可以了。
接著是再往下看到Source model頁籤,先將Model Quick Pick改為”custom”,接著在Pretrained model name or path欄位選擇你要用來訓練的基礎繪圖模組,這邊直接選擇你平常在用的繪圖模組就行了,位置通常是在”stable diffusion webui安裝資料夾\models\Stable-diffusion\”。
如果你想訓練的Lora是寫實人物就選擇寫實派的繪圖模組,例如Chilloutmix,而如果是想訓練二次元人物就選擇二次元繪圖模組,例如anything。
另外,江湖中也有傳言說這邊兩個欄位通通都要選擇stable-diffusionV1.5最好,認為這樣訓練出來的Lora相容性與泛用性更高。但我測過覺得好像沒差,我把Chilloutmix訓練出來的Lora拿去用在其它繪圖模組也沒什麼異常。
第二個頁籤: 接著再切換到Folders頁籤,這邊有三個欄位要注意:
第一個欄位是Image folder填入訓練圖來源資料夾,用我剛剛舉的例子來說就是G:\Asuka訓練圖集。注意是圖片的根資料夾 ,而不是「每張圖訓練步數_角色名稱」的那個子資料夾
第二個欄位是Output folder,此處是指定完成訓練的Lora模型檔要儲存的路徑,這邊依自己的習慣選擇就好。
第三個欄位是Model output name,這邊幫這次的Lora模型取個名字,這個名字也會成為Lora模型檔的檔案名稱。
其它細部設定在一開始讀入設定檔後就都自動設定好了,不用再改。當然若你已經用的熟練且進階了,可以自行修改細部設定,同時也代表你不需要看我這篇新手教學了。
主要項目都設定好後,就可以按下Train model按鈕開始訓練了。
訓練進度可以查看終端畫面,它會有個進度條,跑到100%時即代表訓練完成。這段時間略久,具體訓練時間受你的總步數以及顯卡強度而定。數十分鐘至數個小時都有可能,但即使如此,Lora已經是目前眾多自訓練繪圖元件中,訓練過程最簡易與快速的了。
訓練完成後即會產出一個Lora模型檔,儲存位置會在上一步指定的Output folder中,以我舉的例子來說就是放在G:\Asuka_Lora。
恭喜你!到這邊就算完成整個訓練流程了。
如果你本來就懂的使用Lora,那下一篇教學其實你可以跳過了,完成目前這兩篇教學所做的事,你就完整的建立起一個Lora了。
下一篇只是為純新手所寫的,有關繪圖過程中如何呼叫Lora我會在下一篇說明,這個部分其實沒什麼技術性,但真要一步一步說就是免不了一堆廢話。
參考資料:
以下提供我參考過的一些教學網站,如果我的教學讓你看不懂,可以參考下面這些教學。你可能會發現有些小細節每個網站教的都不一樣,但只要大方向對了就沒問題了,那些小細節的影響不大。