训练自己的Lora
【DataSet】【Lora trainer】【SD Lora trainer】
前置的知识
- batch size:模型一次性处理几张图片。一次性多处理图片,模型能够综合捕捉多张图片的特征,最终的成品效果可能会好。但是处理多个batch size也意味着更大的显存。同时batch size和Step的关系也是相反的。多batch size意味着每张图片能分到的step变小了。
- Epoch轮数。重复训练几轮的意思。
- Step:步数。 Step = 图片数量 * 重复次数(repeat) * 轮数(epoch) ÷ batch size。距离,假设你有50张图片,每张图片的repeat设置为10次,训练10个epoch。那么 Step = 50 * 10 * 10 ÷ 2= 2500步。
- Learning rate:学习率就代表着收敛的速度。我建议是可变的学习率,前面几个step大点,后面几个step小点。常见的学习率调整算法
- Learning rate scheduler:
- Optimizer:优化器,这个后面进阶再去了解
- network alpho:缩放因子防止模型过拟合
- network dim :模型的层数 network alpho推荐设置为 netwrok dim的一半。
- Lora的选型
- warnup:warmup是针对学习率learning rate优化的一种策略,主要过程是,在预热期间,学习率从0线性(也可非线性)增加到优化器中的初始预设lr,之后使其学习率从优化器中的初始lr线性降低到0
界面介绍
如何完成自己的DataSet
因为自己练出的Lora实在太丑,愤而不写了。不如用别人的