国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

喂飯級Lora繪圖模型訓(xùn)練教程

2023-03-08 16:46 作者:GamersRay  | 我要投稿

? ? ? ? 好久沒更新專欄和視頻了, 玩sovits比較多, 因為這段時間各種新插件都陸續(xù)成型問世, 已經(jīng)慢慢走向穩(wěn)定出圖了, 但是我的時間和精力已經(jīng)跟不上新玩具的發(fā)布速度了, 我想等大伙玩明白了再去玩(擺爛)



????????前段時間因為前段時間工作較忙一直沒時間寫這個教程, 所以拖了十幾天, 而且最近的環(huán)境也變得很怪, 恰爛錢的, ai繪圖詐騙的, 甚至還整個什么綠色AI模型白名單(換個名字恰爛錢), 實在是太魔幻了...

????????我習(xí)慣寫專欄主要是為了方便查看, 我自己不是很想做視頻讀書, 也不喜歡用機器配音讀書, 所以一直都是用專欄寫, 而且我寫的東西文本量一般比較大, 你們肯定也不喜歡聽別人念經(jīng), 對吧. 而且這個教程詳細程度已經(jīng)足夠第一次用電腦的人按著步驟操作就能完成部署與訓(xùn)練, 喂飯級不是白叫的, 如果你不懂, 可以在評論區(qū)問, 雖然我也不一定能解答你, 但可能撞到剛好懂這個問題的有緣人解答你.


為什么這次的專欄沒有新渲染圖?

因為我的主力機寄了, 還沒時間修, 不過用老庫存圖應(yīng)該也不影響講解吧


????? ? 因為編寫時間短且文本量較大, 可能有錯別字或錯誤名稱等, 見諒

各種參數(shù)的含義可以參考秋葉的視頻:

? ? ? ??

其他人寫的我看過比較好的視頻和專欄:


????????lora訓(xùn)練這個東西其實是沒有例規(guī)怎么做才對, 現(xiàn)在其實就是八仙過海各顯神通.?我這篇專欄可能和其他人寫的有出入, 不要見怪, 你可以都試試, 實踐是檢驗真理的唯一標準, 找到最適合自己且效果較好的的才是王道.

????????為了達到喂飯級別的效果, 本文會以五部分組成, 順序如下:

????????????????1. 本專欄所用到的插件的詳細安裝方式

????????????????2.本專欄所使用的GuiLora訓(xùn)練腳本安裝使用方法, 及我平時使用的參數(shù)

????????????????3.數(shù)據(jù)集選擇與處理(三種打標方式)

????????????????4.訓(xùn)練流程

????????????????5.后記

????????由于b站專欄我找不到怎么快速跳轉(zhuǎn)分段, 所以我在不同分段插入一個分段標記如下, 找到你需要的部分, 多動手去嘗試, 嘗試完有問題的可以問一下, 大家交流交流, 指不定是能解決的, 不說客套話, 正文開始.

第一部分:本專欄所用到的插件的詳細安裝方式

先記一下我用到的幾個插件:

1.tagger

2.webui標簽處理插件

3.txt批量修改工具

安裝方法及說明:

一.Waifu Diffusion 1.4 標簽器(tagger)

為什么是用tagger而不是用Deepboorn?

其實我一開始也是用Deepboorn的, 后面發(fā)現(xiàn)Deepboorn經(jīng)常打錯標, 用tagger就好了很少出現(xiàn)打錯標的情況

(1). 打開擴展頁面, 選擇可用:

(2). 鍵盤敲擊crtrl + f, 打開瀏覽器業(yè)內(nèi)搜索, 輸入WD并按回車

(3). 等待安裝完成, 重啟webui

(4). 安裝成功并重啟webui后, 會出現(xiàn)以下備選框

使用教程:

(1). 備選框選擇批量操作, 在輸入目錄下放入已經(jīng)預(yù)處理好的圖片, 可信度閾值設(shè)置為0.3, 開始打標.

二.?數(shù)據(jù)集標簽編輯器

這個插件需要在github下載, github地址為:

https://github.com/toshiaki1729/stable-diffusion-webui-dataset-tag-editor

下載方法:


老規(guī)矩, 下載完后需要重啟webui才能出現(xiàn)新的備選框.

使用教程:

按照下圖進行選擇, 目前選項為移除指定, tag以出現(xiàn)頻率進行排序:

第一步: 清除重復(fù)tag:

第二步, 清除特定tag及保存, 至于要怎么篩選, 第三部分再說:

三.?txt批量修改工具

需要處理完訓(xùn)練集在執(zhí)行, 一般觸發(fā)詞用1girl就行.

1. 不需要安裝解壓即用, 很簡單的一個軟件, 軟件內(nèi)自帶編寫者的簽名, 軟件來源網(wǎng)絡(luò)

鏈接:https://pan.baidu.com/s/1FEOG_8EjG1BWIvAaICDSiA?pwd=hyoa?

提取碼:hyoa?

2. 使用方法:

打開軟件, 選擇添加文件夾, 找到你處理好標簽的訓(xùn)練集所在的位置, 然后按照紅框選擇, 輸入你想要的觸發(fā)詞并在觸發(fā)詞后面加一個英文的逗號, 開始添加到行的首尾執(zhí)行.(注意, 只有txt內(nèi)本身有內(nèi)容才能添加, 空txt會添加失敗)


第二部分:本專欄所使用的GuiLora訓(xùn)練腳本安裝使用方法, 及我平時使用的參數(shù)

????????lora訓(xùn)練腳本有很多個, 比如秋葉的腳本, gui腳本等, 一開始我也是用的秋葉腳本, 用起來很方便快捷且生成lora模型質(zhì)量也沒有問題, 但是后面用著用著發(fā)現(xiàn)找不到keep token, 然后發(fā)現(xiàn)以前占用有問題的gui版好像又修復(fù)好了, 所以有用回了gui版(為了keeptoken)

gui有人在油管搬運了安裝教程視頻

我這里就用文字版簡單概括一下

github項目位置:

github.com/bmaltais/kohya_ss

安裝步驟:

一. 包依賴環(huán)境:

python3.10.9:

https://www.python.org/ftp/python/3.10.9/python-3.10.9-amd64.exe

Git:

https://git-scm.com/download/win

Visual Studio:

https://aka.ms/vs/17/release/vc_redist.x64.exe

二.通過powershell安裝該項目

1.點擊windows鍵, 如下圖所示找到powershell, 右鍵點擊, 以管理員模式運行

2. 輸入如下代碼, 并填寫A

3.在你所想安裝地位置先創(chuàng)建一個文件夾, 我這里示例是在P盤下建立一個文件夾, 并在文件夾內(nèi)建立一個叫kohya_ss的文件夾, 因為等下的腳本需要在kohya_ss文件夾位置下運行, 當然你可以自己修改下面的腳本, 你喜歡就好

像第二步一樣, 用管理員權(quán)限打開powershell, 切換到所需的盤符, 再CD到所在文件夾目錄

安裝完以后, 會出現(xiàn)幾個選項讓你自己選擇參數(shù), 我懶得重新下載一遍, 直接用視頻的截圖代替

這里你需要選擇的是(按順序):

  1. This machine

  2. No distributed training

  3. no

  4. no

  5. no

  6. all

  7. fp16

注意, 視頻內(nèi)說選擇是按鍵盤上下鍵, 如果不生效, 請嘗試按鍵盤上的數(shù)字鍵1,2,3來選擇

第三步, 額外步驟, 非N卡30系, 40系或同期運算卡的請?zhí)^這一步.

有一段優(yōu)化代碼, 下載一個環(huán)境插件實現(xiàn)提速, 再powershell內(nèi)執(zhí)行(記得是第二步的kohya_ss目錄下):

安裝好以后, 在目錄下找到gui.bat

運行后, 復(fù)制下方的http到瀏覽器, 訪問webui


我的設(shè)置參數(shù)已經(jīng)上傳, 下載地址如下, 請根據(jù)自己需要修改:

鏈接:https://pan.baidu.com/s/1FEOG_8EjG1BWIvAaICDSiA?pwd=hyoa?

提取碼:hyoa?

文件名為:?LoraBasicSettings.json

因為gui是英文版的, 怕用的人看不懂, 下面介紹一下頁面:

1.source model頁面

2.Folders頁面

3.Training parameters, 這個頁面參數(shù)太多了, 只挑一部分說

每個頁面下的train model都是一樣的, 就是開始訓(xùn)練的意思

4.lora融合工具, 和SD的模型融合一樣, 感興趣的自己研究

第三部分:數(shù)據(jù)集選擇與處理(三種打標方式)

數(shù)據(jù)集打標一般有三種方式:

1.全標

2.自定義剔除部分特征

3. 單標+體位視角標

三種標效果其實都差不太多, 主要是調(diào)用方法和畫風(fēng)污染的區(qū)別, 我們后面一個個來說, 先說數(shù)據(jù)集的篩選.


(第三部分第一區(qū)塊)訓(xùn)練集與模型質(zhì)量等相關(guān)問題:

1. 如何選取一個好的數(shù)據(jù)集?

首先先放幾個排序:

(1). 高質(zhì)量(人物細節(jié)充足, 包括細節(jié)充足的3D模型截圖) > 低質(zhì)量(細節(jié)不充足, 模糊, 包括細節(jié)較少的人物建模)

(2). 多角度, 表情, 體位的訓(xùn)練集 > 只有正面和少量側(cè)面的訓(xùn)練集 > 只有正面的訓(xùn)練集

(3). 不同的原圖 > 差分(有較大區(qū)別) > 差分(只有表情變化) > 鏡像原圖

(4). 同一張原圖分別裁剪成遠中近 > 純自動處理原圖

(5). 不同服裝同角色的訓(xùn)練集放到不同concept里 >?不同服裝同角色的訓(xùn)練集放到一個concept里

(6). 不同服裝同覺得在一個epoch內(nèi),?repeat * 圖片總數(shù)相近 >?不同服裝同覺得在一個epoch內(nèi),?repeat * 圖片總數(shù)相差較大, 或不同圖片數(shù)采用了相同repeat

(7). (這一條是最近六十多次嘗試的情況下得到的結(jié)果, 樣本量較少不一定有普遍性, 請把每個模型都進行嘗試, 尋找你想要的哪一個)?

(打全標)同一訓(xùn)練集下Epoch在(8-20) >?同一訓(xùn)練集下Epoch在(5-7) >?同一訓(xùn)練集下Epoch在(21-40) >?同一訓(xùn)練集下Epoch在(>40)?

(自定義剔除部分特征與單標+體位視角標)同一訓(xùn)練集下Epoch在(6-10)? >?同一訓(xùn)練集下Epoch在(4-5) >?同一訓(xùn)練集下Epoch在(10-15) >?同一訓(xùn)練集下Epoch在(>15)

(8). 圖片數(shù)量多的訓(xùn)練集, 可以按照需要適度提高repeat

(9). (這個要畫個重點), 進過多次嘗試, lora模型在畫與訓(xùn)練集分辨率比例相同的圖片時, 可以出更好的效果, 比如說你是512*768的訓(xùn)練集, 換下來就是2:3, 那你畫2:3的圖片是, 比例畸形和丟細節(jié)的概率會下降, 打出階段結(jié)論:

生成與訓(xùn)練集同長寬比例的圖 > 正方形訓(xùn)練接的圖生成長方形比例的圖 > 比例差距較大的圖(如2:3訓(xùn)練集的lora畫3:2的full body圖片)

(10). 在沒有明顯關(guān)系的數(shù)據(jù)集內(nèi)切不可把人物切碎, 不然會出鬼圖.(后面素材剪切介紹會詳細說)

2. 如何判定素材質(zhì)量

(1). 細節(jié)是否清晰, 有沒有出現(xiàn)細節(jié)反轉(zhuǎn)(比如瞳色反轉(zhuǎn)等),? 原圖分辨率

(2). 如果是3D模型圖, 就要看模型是細節(jié)較多的建模還是細節(jié)較少的改模, 細節(jié)多可以提高3D模型圖片的比重, 占比30%左右已經(jīng)算是比較高的了, 這部分的作用是補全人物在不同身位的細節(jié), 不用擔(dān)心lora認不出這是人的哪部分, 他甚至能幫你把鞋底的花紋都給學(xué)了

(3). 訓(xùn)練集分辨率在原圖原生支持的情況下高點比較好, 高分辨率可以提高細節(jié)的精細程度, 但是不宜過高, 我覺得最長邊900-1024之間已經(jīng)是極限了, 再提升已無明顯收益, 當然你有錢嗯造, 那你喜歡就好. 一般不建議最短邊小于512, 小于512出來的圖片, 丟細節(jié)幾率太高(不是絕對, 實踐出真知)

(4). 模型nsfw性能與原始訓(xùn)練集有無nsfw有關(guān), nsfw請放在一個獨立的concept中,因為lora內(nèi)不存在的標簽, 就會在底膜里提取, 且nsfw數(shù)據(jù)集不可過多

3.如何判定模型質(zhì)量

(1).老生常談, 模型的細節(jié)還原程度

(2). 輸入訓(xùn)練集原始token的基礎(chǔ)上, 對這些tag進行小量且明顯的修改(如衣服等), 看看會不會吐出原圖, 吐出原圖的話那大概率是過擬合了

(3). 檢查不同concept之間是否出現(xiàn)了融合, 出現(xiàn)了融合會出現(xiàn)二合一, 嚴重影響還原度

(4). 使用時嘗試多個不同的底模, 測試模型泛化性, 如果畫風(fēng)污染嚴重, 一般是過擬合了, 第二種可能就是數(shù)據(jù)集實在過少且過于單一.

(5). 個人認為觸發(fā)詞形lora和多token調(diào)用的lora沒有孰優(yōu)孰劣, 我只看還原度, 但是觸發(fā)詞形確實可以提高調(diào)用效率, 只是需要在數(shù)據(jù)集處理上多花時間.



(第三部分第二區(qū)塊)訓(xùn)練集裁剪及tag處理:

1.如何裁剪好一張素材

????????訓(xùn)練集需要抽取出一小部分質(zhì)量最好的圖, 對圖進行切分來擴充細節(jié), 下圖以BA的設(shè)定集切分為例:

原始圖片:

簡單處理全身照(不一定要其他東西涂掉, 因為tag會自動過濾, 有時間涂掉的話一般會更好):

上本身與下半身:

特寫:

像這樣圖片之間存在明顯關(guān)系, 一般是不會鬼圖的, 比例可以近似于(全身 :?半身 : 局部特寫) = (1 : 1 : 1), 不宜高過(1 : 1 : 2),(注意, 像BA這一類的, 可以增加特寫數(shù)量, 保證光環(huán)質(zhì)量)

其他的圖片, 主要是追求更多的角度, 如下:

背后:

俯視特寫:

側(cè)身

除了視角以外, 就是不同動作與表情的補全, 這里就不一一列舉了, 可以自行嘗試.


2.tag的處理

這里要回收第一部分批量修改插件那部分的話頭, 接著講完

在第三部分開頭我提到了一般有三種打標方法:

1.全標

2.自定義剔除部分特征

3. 單標+體位視角標

一個個來說:

(我個人比較喜歡打全標)

一. 全標
全標一般用在兩種情況: (1). 畫風(fēng), (2). 省事快速地?zé)捜宋锬P?/p>

全標的意思就是tagger打出來的標不做刪標處理, 直接放進去訓(xùn)練, 因為在訓(xùn)練時, lora腳本會自動把圖片拆分, 把相對應(yīng)的部分加入到tag中, 在調(diào)用的時候, 就可以直接用tag調(diào)用所需的部分.

優(yōu)點:?

1.不用處理tag少了一步麻煩

2.訓(xùn)練過程中的損失函數(shù)能真實地反應(yīng)擬合程度, 觀感上擬合度會穩(wěn)定提高.

3.過擬合的可能性是三種訓(xùn)練方法里最低的

缺點:

1.畫風(fēng)污染可能性偏大

2.調(diào)用較困難

3. 需要訓(xùn)練較高epoch

二.自定義剔除部分特征

????????就是tagger打完標以后, 使用數(shù)據(jù)集標簽編輯器刪除特定tag, 使這個tag的內(nèi)容寄存到第一個(也有說法是前4個, 我翻了一下項目沒找到說這部分的內(nèi)容, 也可能是我看的太快看漏了)tag中, 正因如此, 這個詞就成為了你的lora模型的觸發(fā)詞.

????????這里就要引入keep token 這個插件, 因為在lora訓(xùn)練的過程中, 是會讀取tagger文本, 并將其打亂再放入訓(xùn)練的, 所以在沒有keep token的情況下, 你無法保證你的觸發(fā)詞在第一位, 所以就會出現(xiàn)觸發(fā)詞無效的情況.

????????另外, 任何需要刪除tag后進行訓(xùn)練的模型, 那他在訓(xùn)練中的損失函數(shù)參考性就下降了,所以你在訓(xùn)練的過程中很可能會出現(xiàn)損失值在較高位振動的情況, 這是這種訓(xùn)練方法很容易導(dǎo)致的情況, 所以該訓(xùn)練方法下不看損失率, 只看試渲染圖.

下面是剔除tag操作指南:

老規(guī)矩, 打開頁面, 加載訓(xùn)練集文件夾, 然后頻率排序:

可以看到全部tag都讀取好了

這時候就要人工尋找這些tag中屬于人的部分,?處理分為下面幾步:

  1. 因為后續(xù)要加關(guān)鍵詞, 所以1girl, solo這兩個直接刪掉, 等后面加回來

  2. 需要刪掉的部分: 找到人物的特征, 如long hair,?hair_between_eyes,?wings之類的, 刪掉. 如果你想把人物和服裝綁定, 那就把人物服裝tag也刪掉, 如school_uniform, dress,?skirt一類, 還有人物職業(yè)類的詞條, 如angel之類, 也要刪掉

  3. 不能刪掉的部分: (1)人物動作, 如: stand, sit, lying,holding之類; (2)人物表情, 如: smile, close eyes之類; (3)背景, 如simple_background, white_background之類; (4). 圖片類型, 如full_body, upper_body, close_up之類

  4. (BA角色不建議刪除halo關(guān)鍵詞)

例圖刪的標不一定準確, 因為這只是為了演示, 我沒仔細看

處理好以后別忘了回到頁面最上面點擊保存修改

說完剔除tag以后, 說一下怎么回填關(guān)鍵詞:

打開txt批量處理工具(第一章有寫下載地址, 沒下載的翻回去看)

實際使用:

因為片面為了方便校準觸發(fā)詞, 所以把1girl?,solo也刪了, 所以這里要補上

我這里填入了:

azusaoriginal(觸發(fā)詞), 1girl, solo,


打開txt可以看到已經(jīng)寫入成功了

優(yōu)缺點分析:

優(yōu)點:

  1. 可以使用觸發(fā)詞觸發(fā), 方便使用

  2. epoch次數(shù)需求較少

缺點:

1.太容易刪漏了, 有些時候一下不注意觸發(fā)詞觸發(fā)的圖像會少部分細節(jié)

2. 訓(xùn)練過程中損失函數(shù)可能會失效, 實際效果要看試渲染圖才知道(其實也不算是缺點)

三.單標+體位視角標

這個方法最后開始是在群里看到的, 有人提到: "直接把全部標全部刪了, 只留個觸發(fā)詞標就可以一了", 一開始的時候聽了覺得, wc, 這是什么異端玩法, 后面試了試, 唉好像確實可行, 質(zhì)量沒有問題, 不得不感嘆lora訓(xùn)練的親民. 后面看到空佬還寫了個腳本, 就是用前面的單tag外, 另外保留了人物動作, 他的專欄是:


這個方法用腳本一運行就行了, 非常省事

優(yōu)缺點:

優(yōu)點

  1. 標簽處理簡單暴力, 處理的時候很方便

  2. 可以使用觸發(fā)詞觸發(fā), 方便使用

  3. epoch次數(shù)需求較少

缺點:

1.訓(xùn)練過程中損失函數(shù)可能會失效, 實際效果要看試渲染圖才知道(其實也不算是缺點)




第四部分:訓(xùn)練流程及后記

訓(xùn)練流程其實沒什么好說的, gui頁面, 安裝請翻到第二部分, 已經(jīng)做了較為詳細的說明.

主要來講一下其他小問題:

  1. 有說法說打標的標就是負面tag, 我個人覺得這個說法對也不完全對, 應(yīng)該說, 有tag的就會寄存到tag自身, 如果沒有tag的, 就會寄存到關(guān)鍵詞文檔的第一個token中, 即觸發(fā)詞, 觸發(fā)詞需要keep token來固定位置才能成為觸發(fā)詞, 不然可能會失效.

  2. 在訓(xùn)練過程中, 盡量在低epoch中尋找效果較好的模型, 一般來說想提高質(zhì)量需要都是在repeat上拉高一點點數(shù)值, 不是很建議采用高epoch, epoch高了過擬合可能性感覺比repeat高的過擬合可能性大.

  3. 高質(zhì)量素材越多越好

  4. 在訓(xùn)練時, 使用batch size(單批處理圖片數(shù))可以加快訓(xùn)練進度, 但是batch size使用中應(yīng)該遵循圖量少batch size低的關(guān)系, 反之亦然. 我試過一般batch size和圖片數(shù)在1:20左右比較好, 圖片少batch size高很容易過擬合或者扭曲

訓(xùn)練集目錄下文件如何劃分:

盡可能做到以下兩點:

  1. 不同concept(概念, 即同一人物不同衣服), repeat(即文件夾下劃線前面的數(shù)字) * 文件夾內(nèi)圖片數(shù)盡可能相同, 不要差距大到上百

  2. 某些官設(shè)以外的服裝(可以額外建立一個concept存放)

  3. chibi, nsfw, 這類不要超過總訓(xùn)練量的5%, 訓(xùn)練量為全部concept訓(xùn)練數(shù)(即repeat * 文件夾內(nèi)圖片數(shù))相加, 不然有概率出現(xiàn)衣服在些奇奇怪怪的地方缺一塊, 或者人物扭曲

啊, 還有一件事

如果你是用秋葉鏡像(我不知道現(xiàn)在有沒有加入keep token), 沒有keep token 的情況下, 打全標會比較穩(wěn)?

模型最重要的其實不是什么打標技巧, 是訓(xùn)練集的質(zhì)量, 我是只看成果的, 難不難觸發(fā)那些倒是次要的


還有關(guān)于network_dim 和?network_alpha這兩個參數(shù):

1.我建議做畫風(fēng)或者概念事可以拉滿, 人物的話32-32其實已經(jīng)足夠了, 因為這兩個數(shù)值越高, 畫風(fēng)污染的可能性越大

2.一個模型壓到最低network_dim 和?network_alpha(即4-1)會怎樣, 以下是實例

可以看到確實會丟細節(jié), 但是認還是認得出人物的.


如果已經(jīng)確定關(guān)鍵詞融合了怎么補救?

在被融合了的關(guān)鍵詞下, 添加被融合部分的正確token, 有概率能補救, 當然一般建議還是找未融合的備份, 或者檢查訓(xùn)練次數(shù)后重新開始訓(xùn)練



第五部分: 后記

你居然看完了這個專欄, 我很佩服你能把這個大量重復(fù)信息的文檔看完, 這些重復(fù)信息是為了達到喂飯級的效果做出的犧牲, 寫的盡可能詳細.

?因為這個專欄我在編寫的時候是沒有寫大綱的, 所以結(jié)構(gòu)很混亂, 可能會提高你的理解成本, 我在此深表歉意.

因為編寫時間較短, 且基本是我想到什么寫什么的, 很可能有紕漏, 歡迎在評論區(qū)補充更正

還有最后:

這個專欄敲字敲了快7300+個字了, 把我敲麻了, 給我點個贊吧大佬, 謝謝大佬.

喂飯級Lora繪圖模型訓(xùn)練教程的評論 (共 條)

分享到微博請遵守國家法律
饶河县| 丰原市| 瑞安市| 呼和浩特市| 柏乡县| 永平县| 黄浦区| 青田县| 阿拉善盟| 迭部县| 黎川县| 娄烦县| 泸溪县| 章丘市| 乌拉特后旗| 荆门市| 新野县| 美姑县| 明水县| 平果县| 太仆寺旗| 卢湾区| 香格里拉县| 友谊县| 玉田县| 宜宾县| 五常市| 山东省| 隆回县| 通州市| 贡山| 永宁县| 兰坪| 辉县市| 九江市| 南汇区| 乳山市| 蒲江县| 景德镇市| 南开区| 保康县|