# Lora train
## 提要
- 前言
- 環境配置
- 訓練流程
- 相關文件
## 前言
LoRA是一種微調 ( fine tuning ) 模型的方式,內容包含:什麼是LoRA、LoRA的演算法、及LoRA的特色。這邊簡單說明,LoRA 是一種不改變 SD 本身模型前提下,用額外附加權重的方式來轉移學習的方法。

## 環境配置
1. [git](https://git-scm.com/downloads)
2. [Python](https://www.python.org/downloads)(windows安裝時記得勾選增加環境數量)

3. [Kohya's GUI](https://github.com/bmaltais/kohya_ss)

4. [Stable Diffusion web UI](https://github.com/AUTOMATIC1111/stable-diffusion-webui)

5. [Kohya 中文化(非必要)](https://blog.csdn.net/kganamg/article/details/135662996)
6. [Stable Diffusion web UI 中文化(非必要)](https://github.com/benlisquare/stable-diffusion-webui-localization-zh_TW?tab=readme-ov-file)
## 訓練流程
### 1. 準備訓練集
準備涵蓋訓練對象多種不同的角度的圖片(**20-30張**)

### 2. 圖片預處理
- 裁減([工具](https://www.birme.net/?target_height=768))
統一將所有圖片尺寸進行統一
- 安裝打標工具

- 打標
1. 選擇TAGGER頁籤
2. 批次進行處理
3. 輸入資料夾
4. 輸出資料夾
5. 額外增加提示詞(主要用在該物品專有名詞)

6. 結果
圖片名稱對應記事本名稱為一組,記事本內容主要為該照片ai辨識可能為特徵的提示詞(越靠前權重越高),可以依據該物體特徵添加或減少提示詞([二次元參考題示詞](https://danbooru.donmai.us/))。

### 3. 開始訓練
- DreamBooth介紹

- 資料夾建立範例
```
注意:資料夾不可為中文
```

```
重複次數
二次元圖片5-10
三次元圖片10-30
6_NingGuang主要放步驟2所產生的訓練集(包含記事本)
```

- 選擇大模型和路徑設定
1. 選擇lora頁籤
2. 選擇訓練頁籤
3. 選擇大模型
4. 模型名稱
5. 圖片路徑(以上述例子來說圖片路徑為image,不是6_NingGuang)
6. 產出模型路徑
7. 正則化圖片位置(避免圖像過擬合)
8. log路徑

- 調整參數
1. 直接下拉選擇系統配置好的參數
2. 填寫最大訓練步數
建議:圖片張數20-30 最大訓練步數1200-1500

- 開始訓練


## 相關文件
[參考影片](https://www.bilibili.com/video/BV16e411e7Zx/?spm_id_from=333.999.0.0&vd_source=50237a2fa3844ddaa2214b06f276131a)