使用fluxgym轻松进行flux lora模型训练
flux lora模型训练
视频链接
还在准备中 …
资源
链接:https://pan.quark.cn/s/2b619b26b655
里面包含了
- fluxgym整合包
- 训练所需的模型文件
- 图片素材(方便快速上手体验)
- 图片裁剪工作流、lora效果XY表对比工作流
安装预启动
-
下载资源并解压整合包(压缩解压工具推荐 7-zip ,下载地址 https://www.7-zip.org 开源的就是最好的🥰)
-
将模型移动到models文件夹中,最后的目录结构如下
├─models| | ├─clip │ clip_l.safetensors │ t5xxl_fp16.safetensors ├─unet │ .gitkeep │ flux1-dev.sft └─vae ae.sft
如果之前已经下载过flux模型,可以参考 https://www.zwenooo.link/posts/published/windows-link/ 进行模型复用
-
回到fluxgym的根目录下,点击
start.bat
启动程序(启动前需要关闭科学上网,如果没开请忽略) -
出现 http://127.0.0.1:7860/ 表示启动成功,点击进入fluxgym,界面如下:
训练
Step 1. LoRA Info
-
The name of your LoRA
- lora名字(只能英文)
- 要求唯一
-
Trigger word/sentence
-
触发词/或者句子
-
如果是单个特征训练,直接固定写触发词就好了,或者加一些视角描述。比如我这里训练的图像是一只熊,另外我需要他带有特殊的标记那这里我就填
zwen_bear,
我有尝试过这里的逗号加不加都可。特别是不带有描述的时候,可以直接写触发词。带有描述的时候可以尝试把触发词带入到自然描述语言中,比如:The frontal shot of the zwen_bear(zwen_bear的正面照) -
如果是复杂特征训练,触发词是需要带上逗号的,比如让ai学习一种绘画风格,此时我们需要对图片进行打标,需要触发词和标签文本分割开来,后面step 2.Dataset 会介绍到打标动作。
-
-
Base model
- 选择flux-dev
-
VRAM
- 显存,根据显卡能力选择;我使用的4060ti 16G,所以我这里为了保险选了12G。
-
Repeat trains per image(默认10次)
- 每张图重复训练的次数
-
Max Train Epochs
- 最大训练轮次(默认是16轮)
- 比如我有16张图,16张图训练完了就叫做一轮。
-
Expected training steps
- 预期的培训步数
- 当图片数据集上传后,这个数值会被自动算出来。
- 预期的培训步数 = 每张图重复训练的次数 * 最大训练轮次 * 图片数量
-
Sample Image Prompts (Separate with new lines)
- 采样图像提示词,多个用新行分割
- 用于训练过程中的生图提示词
-
Sample Image Every N Steps(默认0)
- 每N步采样图像
- 训练过程中,每多少步采样一次图像,方便你看到训练效果,图像的提示词为刚刚上面填的那个。
-
Resize dataset images(默认512*512)
- 调整数据集图像的大小
- 即使我们上传的图片大小规律不一,他也会统一帮我们裁切的指定的尺寸。
Step 2. Dataset
-
上传数据集,要求是4 ~ 30张
- 可以发现,每张图的
Caption
都被自动填上了触发词
- 可以发现,每张图的
-
打标签(提示词反推)
-
前面提到过打标签是根据训练的目的来的,如果是单一特征,其实就需要一个提示词就好,当然能够手动调整触发词融入到自然语言中效果是更好的;
如果是复杂特征训练,则需要使用提示词反推工具来帮助我们进行图片打标,比如fluxgym就自带了
Florece-2
-
Step 3. Train
不过在点击Start training
之前,大家可以检查一下下面的参数是否正确,主要看里面的路径以及模型名字是否正确。
点击Start training之后就是漫长的等待了。提供一个参考,我的 4060ti 16G 训练16张512*512的图片,一共2560步,耗时约4个小时。
其它高级参数
可以发现在下方还有一个Advanced options
,展开之后里面有各种密密麻麻的参数,粗略的数了一下有164个😵💫。
这个fluxgym的作者非常贴心的将常用的参数放在了前面,下面我们也介绍下前面几个参数,对于其他参数有兴趣的小伙伴可以自行查阅资料进行探索。
Seed (种子)
- 作用: 种子用于初始化随机数生成器,确保实验的可重复性。通过设置相同的种子,每次运行代码时生成的随机数序列都是相同的,从而保证实验结果的一致性。
- 示例值: 42
- 解释: 在这个例子中,种子被设置为42,这意味着每次运行代码时,随机初始化、数据打乱等操作都会产生相同的结果。
Number of Workers (工作线程数)
- 作用: 这个参数指定了数据加载时使用的工作线程数。更多的线程可以加快数据加载速度,尤其是在数据集较大时。然而,线程数过多可能会导致内存占用过高或系统资源竞争。
- 示例值: 2
- 解释: 在这个例子中,数据加载器将使用2个工作线程来并行加载数据。
Learning Rate (学习率)
- 作用: 学习率控制模型参数在每次更新时的步长。较大的学习率可能导致训练不稳定,较小的学习率可能导致训练速度过慢或陷入局部最优。
- 示例值: 8e-4
- 解释: 在这个例子中,学习率被设置为0.0008,这是一个相对较小的学习率,适合精细调整模型参数。
Save every N epochs (每N个周期保存一次)
- 作用: 这个参数指定了每隔多少个训练周期(epoch)保存一次模型。保存模型可以用于后续的评估、继续训练或部署。
- 示例值: 4
- 解释: 在这个例子中,模型将每训练4个周期保存一次。比如最大轮次填16,则会每4轮保存一次,最终会输出4个模型。
Guidance Scale (引导尺度)
- 作用: 这个参数通常用于生成模型(如扩散模型)中,控制生成过程中对条件信息的依赖程度。较高的引导尺度会使生成结果更符合条件信息,但可能导致生成结果的多样性降低。
- 示例值: 1
- 解释: 在这个例子中,引导尺度被设置为1,表示对条件信息的依赖程度较低。
效果效果
横轴: lora名字(我们一共训练16轮,每4轮保存一次,因此存在四个模型)
纵轴: lora强度
原图(16张)
提示词 1
zwen_bear ,A cozy scene of a zwen_bear sitting comfortably in a forest cabin, reading a thick book. The bear is wearing reading glasses, deeply engrossed in the pages. A warm fire crackles in the stone fireplace, casting a soft glow on the wooden walls. There are shelves filled with books around the room, and a fluffy rug beneath the bear's paws. Outside the window, you can see snow gently falling, adding to the peaceful atmosphere.
译文:
zwen_bear,一只zwen_bear舒适地坐在森林小屋里,读着一本厚厚的书的惬意场景。熊戴着老花镜,全神贯注地看着书。温暖的炉火在石头壁炉中噼啪作响,在木质墙壁上投射出柔和的光辉。房间里有摆满了书的书架,熊掌下面有一张毛绒绒的地毯。窗外,可以看到雪花轻轻飘落,增添了宁静的气氛。
提示词 2
zwen_bear,A curious zwen_bear sitting in a lush meadow, surrounded by colorful wildflowers, with a book in its paws. The bear looks serene, wearing a small hat, reading under the shade of a large oak tree. Sunlight filters through the leaves, creating dappled patterns on the ground. Birds can be seen flying overhead, and a gentle breeze rustles the leaves. The bear's expression is thoughtful, lost in the world of its book, while a nearby stream softly babbles in the background.
译文:
zwen_bear,一只好奇的zwen_bear坐在郁郁葱葱的草地上,周围是五颜六色的野花,爪子里拿着一本书。这只熊看起来很安详,戴着一顶小帽子,在一棵大橡树的树荫下看书。阳光透过树叶,在地面上形成斑驳的图案。可以看到鸟儿在头顶上飞翔,微风吹得树叶沙沙作响。熊的表情若有所思,沉浸在书的世界里,而附近的小溪在背景中轻声潺潺。
提示词 3
zwen_bear,zwen_bear and the girl are hugging.
译文
zwen_bear,zwen_bear和那个女孩在拥抱。
写在最后
不管是在图像还是语音的训练中,高质量的数据集和准确的标签对模型的训练效果至关重要。对于普通玩家来说,与其过早纠结于参数调优,不如先将精力放在数据集的整理上。当效果不理想或遇到瓶颈时,再进一步查阅资料,调整参数或优化模型。