技術(shù)先進(jìn)的網(wǎng)站建設(shè)百度一下馬上知道
準(zhǔn)備工作
- 下載秋葉煉丹器
- 整理自己的照片
- 下載底膜 https://rentry.org/lycoris-experiments
實(shí)操步驟
- 解壓整合包 lora-scripts,先點(diǎn)擊“更新”
- 訓(xùn)練圖片收集
比如要訓(xùn)練一個(gè)自己頭像的模型,就可以拍一些自己的照片(20-50張,最少15張),要求畫質(zhì)清晰,臉部輪廓清楚,背景較為簡(jiǎn)單的照片。
建議整理成512*512大小 , 推薦工具
- 使用WD1,4 標(biāo)簽器的預(yù)處理功能進(jìn)行圖片的預(yù)處理
將準(zhǔn)備好的圖片,放入目錄 train/XXX[自定義]/ [數(shù)值, 圖片數(shù)量]_XXX[自定義]
這里可以根據(jù)自己的情況設(shè)置不同的寬高,以及相關(guān)的設(shè)置項(xiàng),設(shè)置完成之后,點(diǎn)擊“預(yù)處理”就可以進(jìn)行圖像的預(yù)處理了,預(yù)處理進(jìn)度會(huì)在右側(cè)顯示。處理完成之后的文件夾內(nèi)文件統(tǒng)一轉(zhuǎn)成了512*512的png格式,并且多了一個(gè)txt文件,這個(gè)文件里面就是圖片內(nèi)容的提示詞。
- 點(diǎn)擊啟動(dòng), 對(duì)照片打標(biāo)簽
執(zhí)行完畢后, 照片文件夾會(huì)自動(dòng)生成txt文件
5. 使用lora訓(xùn)練-新手模式
lora-scripts環(huán)境搭建
若新手從零開始, 請(qǐng)參考本專欄基礎(chǔ)知識(shí), 此處簡(jiǎn)略說(shuō)明下安裝環(huán)境
- 先將lora-scripts項(xiàng)目(
GitHub - Akegarasu/lora-scripts: LoRA training scripts use kohya-ss's trainer, for diffusion model.
https://github.com/Akegarasu/lora-scripts
)克隆到本地,可以放在stable-diffusion下面,也可以放在其他目錄下面。
- 克隆完之后,進(jìn)入該目錄刪除sd-scripts文件夾,然后克隆sd-scripts項(xiàng)目(
GitHub - kohya-ss/sd-scripts
https://github.com/kohya-ss/sd-scripts
)到該目錄下。
- 安裝環(huán)境,有兩種方式。一種是在lora-scripts下直接執(zhí)行./install.ps1命令,自動(dòng)安裝相關(guān)環(huán)境。另外一種是進(jìn)入到lora-scripts/sd-scripts中,使用以下命令進(jìn)行安裝(可以參考該項(xiàng)目下的說(shuō)明文檔)。
## 創(chuàng)建并激活虛擬環(huán)境
python -m venv venv
.\venv\Scripts\activate## 安裝cuda
pip install torch==1.12.1+cu116 torchvision==0.13.1+cu116 --extra-index-url https://download.pytorch.org/whl/cu116## 安裝相關(guān)包,可以加上 -i 國(guó)內(nèi)源 快一點(diǎn)兒!
pip install --upgrade -r requirements.txt## 安裝xformers,這里可以先用下載工具把文件下載下來(lái),用本地路徑安裝,不然網(wǎng)絡(luò)不穩(wěn)定很容易中斷
pip install -U -I --no-deps https://github.com/C43H66N12O12S2/stable-diffusion-webui/releases/download/f/xformers-0.0.14.dev0-cp310-cp310-win_amd64.whl## 復(fù)制相關(guān)文件到虛擬環(huán)境
cp .\bitsandbytes_windows\*.dll .\venv\Lib\site-packages\bitsandbytes\
cp .\bitsandbytes_windows\cextension.py .\venv\Lib\site-packages\bitsandbytes\cextension.py
cp .\bitsandbytes_windows\main.py .\venv\Lib\site-packages\bitsandbytes\cuda_setup\main.py## 加速器配置
accelerate config
這里要注意的是,cuda和xformers的版本這里是對(duì)應(yīng)好的,如果版本不對(duì)會(huì)報(bào)錯(cuò)。另外,后面的相關(guān)操作都是在venv的虛擬環(huán)境下操作的,所以如果重新進(jìn)入的話,需要重新激活虛擬環(huán)境。
accelerate config這個(gè)命令進(jìn)入之后,對(duì)于多項(xiàng)選擇的可以用上下鍵,或者使用(0,1,2…)去選擇相關(guān)的選項(xiàng),yes or no的直接輸入然后回車,大部分配置項(xiàng)選擇默認(rèn)就可以了,我這里沒(méi)有使用DeepSpeed,所以這一項(xiàng),我選擇的No,根據(jù)自己的實(shí)際情況去選就行了,不知道啥意思的可以挨個(gè)查下。
- 準(zhǔn)備訓(xùn)練
訓(xùn)練有兩種方式,方式一:直接執(zhí)行訓(xùn)練命令(執(zhí)行 ./train.ps1),方式二:使用webui的方式(執(zhí)行 ./run_gui.ps1 打開web頁(yè)面)。
(1)將預(yù)處理過(guò)的圖片目錄(qige)拷貝到lora-scripts/train/qg_imgs目錄下(train目錄不存在可以新建一個(gè),這里要注意,圖片和文本存放的最終目錄是lora-scripts/train/qg_imgs/qige)
(2)修改配置。
方式一,直接修改train.ps1文件,修改以下配置
## Train data path | 設(shè)置訓(xùn)練用模型、圖片
$pretrained_model = "./sd-models/chilloutmix_NiPrunedFp32Fix.safetensors" # base model path | 底模路徑
$train_data_dir = "./train/qg_imgs" # train dataset path | 訓(xùn)練數(shù)據(jù)集路徑## Train related params | 訓(xùn)練相關(guān)參數(shù)
$resolution = "512,512" # image resolution w,h. 圖片分辨率,寬,高。支持非正方形,但必須是 64 倍數(shù)。
$batch_size = 2 # batch size
$max_train_epoches = 20 # max train epoches | 最大訓(xùn)練 epoch
$save_every_n_epochs = 2 # save every n epochs | 每 N 個(gè) epoch 保存一次$output_name = "qg" # output model name | 模型保存名稱
chilloutmix_NiPrunedFp32Fix.safetensors 的下載地址為:
naonovn/chilloutmix_NiPrunedFp32Fix at main
We’re on a journey to advance and democratize artificial intelligence through open source and open science.
https://huggingface.co/naonovn/chilloutmix_NiPrunedFp32Fix/tree/main
也可以使用其他的模型,上面的模型地址也可以改成stable-diffusion中已有的模型路徑,可以節(jié)約點(diǎn)兒磁盤空間,畢竟單個(gè)模型都是好幾個(gè)G。另外這個(gè)目錄設(shè)置要注意,不是到最后那一層的目錄,是到最后一層的上一層目錄。
方式二,直接在webui上設(shè)置,比較直觀
- 開始訓(xùn)練
本文最開始 的幾個(gè)步驟
如果使用的是方式二,可以直接點(diǎn)擊右側(cè)的“直接開始訓(xùn)練”按鈕就可以開始訓(xùn)練,與方式一一樣,相關(guān)的輸出信息可以在命令行終端上看到。一般不會(huì)一下就成功,可以根據(jù)相關(guān)的報(bào)錯(cuò)信息進(jìn)行修改。我用的是3060的顯卡,之前將batch_size和max_train_epoches設(shè)置得較大,中途會(huì)出現(xiàn)顯存不夠用的情況,然后逐步調(diào)整,才最終跑完。訓(xùn)練的過(guò)程見(jiàn)下圖。
最后會(huì)在output目錄中,輸出訓(xùn)練好的模型文件。
- 模型使用
將訓(xùn)練好的模型.safetensors文件拷貝到stable-diffusion文件夾下的models/lora/文件夾下,在提示詞中加入lora:訓(xùn)練的模型:權(quán)重就可以生成自己的圖像了,效果還行。如果用更多圖片,有更強(qiáng)悍的機(jī)器,訓(xùn)練出來(lái)的效果應(yīng)該會(huì)更好…