技術先進的網(wǎng)站建設百度一下馬上知道
準備工作
- 下載秋葉煉丹器
- 整理自己的照片
- 下載底膜 https://rentry.org/lycoris-experiments
實操步驟
- 解壓整合包 lora-scripts,先點擊“更新”
- 訓練圖片收集
比如要訓練一個自己頭像的模型,就可以拍一些自己的照片(20-50張,最少15張),要求畫質清晰,臉部輪廓清楚,背景較為簡單的照片。
建議整理成512*512大小 , 推薦工具
- 使用WD1,4 標簽器的預處理功能進行圖片的預處理
將準備好的圖片,放入目錄 train/XXX[自定義]/ [數(shù)值, 圖片數(shù)量]_XXX[自定義]
這里可以根據(jù)自己的情況設置不同的寬高,以及相關的設置項,設置完成之后,點擊“預處理”就可以進行圖像的預處理了,預處理進度會在右側顯示。處理完成之后的文件夾內文件統(tǒng)一轉成了512*512的png格式,并且多了一個txt文件,這個文件里面就是圖片內容的提示詞。
- 點擊啟動, 對照片打標簽
執(zhí)行完畢后, 照片文件夾會自動生成txt文件
5. 使用lora訓練-新手模式
lora-scripts環(huán)境搭建
若新手從零開始, 請參考本專欄基礎知識, 此處簡略說明下安裝環(huán)境
- 先將lora-scripts項目(
GitHub - Akegarasu/lora-scripts: LoRA training scripts use kohya-ss's trainer, for diffusion model.
https://github.com/Akegarasu/lora-scripts
)克隆到本地,可以放在stable-diffusion下面,也可以放在其他目錄下面。
- 克隆完之后,進入該目錄刪除sd-scripts文件夾,然后克隆sd-scripts項目(
GitHub - kohya-ss/sd-scripts
https://github.com/kohya-ss/sd-scripts
)到該目錄下。
- 安裝環(huán)境,有兩種方式。一種是在lora-scripts下直接執(zhí)行./install.ps1命令,自動安裝相關環(huán)境。另外一種是進入到lora-scripts/sd-scripts中,使用以下命令進行安裝(可以參考該項目下的說明文檔)。
## 創(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## 安裝相關包,可以加上 -i 國內源 快一點兒!
pip install --upgrade -r requirements.txt## 安裝xformers,這里可以先用下載工具把文件下載下來,用本地路徑安裝,不然網(wǎng)絡不穩(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## 復制相關文件到虛擬環(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的版本這里是對應好的,如果版本不對會報錯。另外,后面的相關操作都是在venv的虛擬環(huán)境下操作的,所以如果重新進入的話,需要重新激活虛擬環(huán)境。
accelerate config這個命令進入之后,對于多項選擇的可以用上下鍵,或者使用(0,1,2…)去選擇相關的選項,yes or no的直接輸入然后回車,大部分配置項選擇默認就可以了,我這里沒有使用DeepSpeed,所以這一項,我選擇的No,根據(jù)自己的實際情況去選就行了,不知道啥意思的可以挨個查下。
- 準備訓練
訓練有兩種方式,方式一:直接執(zhí)行訓練命令(執(zhí)行 ./train.ps1),方式二:使用webui的方式(執(zhí)行 ./run_gui.ps1 打開web頁面)。
(1)將預處理過的圖片目錄(qige)拷貝到lora-scripts/train/qg_imgs目錄下(train目錄不存在可以新建一個,這里要注意,圖片和文本存放的最終目錄是lora-scripts/train/qg_imgs/qige)
(2)修改配置。
方式一,直接修改train.ps1文件,修改以下配置
## Train data path | 設置訓練用模型、圖片
$pretrained_model = "./sd-models/chilloutmix_NiPrunedFp32Fix.safetensors" # base model path | 底模路徑
$train_data_dir = "./train/qg_imgs" # train dataset path | 訓練數(shù)據(jù)集路徑## Train related params | 訓練相關參數(shù)
$resolution = "512,512" # image resolution w,h. 圖片分辨率,寬,高。支持非正方形,但必須是 64 倍數(shù)。
$batch_size = 2 # batch size
$max_train_epoches = 20 # max train epoches | 最大訓練 epoch
$save_every_n_epochs = 2 # save every n epochs | 每 N 個 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é)約點兒磁盤空間,畢竟單個模型都是好幾個G。另外這個目錄設置要注意,不是到最后那一層的目錄,是到最后一層的上一層目錄。
方式二,直接在webui上設置,比較直觀
- 開始訓練
本文最開始 的幾個步驟
如果使用的是方式二,可以直接點擊右側的“直接開始訓練”按鈕就可以開始訓練,與方式一一樣,相關的輸出信息可以在命令行終端上看到。一般不會一下就成功,可以根據(jù)相關的報錯信息進行修改。我用的是3060的顯卡,之前將batch_size和max_train_epoches設置得較大,中途會出現(xiàn)顯存不夠用的情況,然后逐步調整,才最終跑完。訓練的過程見下圖。
最后會在output目錄中,輸出訓練好的模型文件。
- 模型使用
將訓練好的模型.safetensors文件拷貝到stable-diffusion文件夾下的models/lora/文件夾下,在提示詞中加入lora:訓練的模型:權重就可以生成自己的圖像了,效果還行。如果用更多圖片,有更強悍的機器,訓練出來的效果應該會更好…