FLUX.1系列图像生成模型于本月初(2024年8月)发布,迅速在全球范围内引起轰动,其生成的图像质量超越了现有的开源模型。在发布不久后,Replicate平台就支持了Flux的微调功能。
在Replicate上微调Flux非常简单:你只需要几张图片就可以开始。这个过程不需要深厚的技术知识。实际上,你甚至可以完全在网页上创建微调模型,无需编写任何代码。目前,Replicate上已经发布了数百个公开的Flux微调模型,还有数千个私人微调模型。
Flux最令人兴奋的特点之一是它能够以前一代开源图像生成模型(如Stable Diffusion或SDXL)难以实现的方式对人脸进行微调。自Dreambooth技术出现以来,还没有哪种方法能如此轻松地从仅仅几张训练图像中获得如此出色的结果。
在下面的内容中,将指导你使用自己的照片创建Flux微调模型:
1.准备工作
开始之前,你需要准备以下内容:
一个Replicate账户
几张用于训练的个人照片
两到三美元的预算
2.收集你的训练图片
你需要准备几张自己的照片来开始这个过程。这些应该是从不同角度和不同光线条件下拍摄的高质量面部图像。
理论上,你可以用最少两张训练图像来微调Flux,但为了获得最佳效果,建议至少使用10张或更多图像。一般来说,随着你在训练数据中包含更多图像,你会持续获得更好的结果,不过训练过程可能会随着添加的图像数量增加而变长。
在收集训练图像时,请考虑以下几点:
支持的图片格式包括WebP、JPG和PNG。
尽可能使用1024x1024或更高分辨率的图片。
文件名不重要,你可以随意命名你的文件。
图片的纵横比不重要。图像可以是正方形、横向或纵向。
10张图像是一个理想的最小数量。
多样性是关键。为了获得最佳效果,选择具有不同背景、服装、光线和角度的训练图像。
当你收集完图像后,将它们放入一个zip文件中。
3.选择一个独特的触发词
在微调图像模型时,你需要选择一个独特的"触发词"。之后,当你生成图像时,你会在文本提示中使用这个触发词。例如:
photo of YOUR_TRIGGER_WORD_HERE looking super-cool, riding on a segway scooter
在选择触发词时,请考虑以下几点:
它应该是独特的,类似于MY_UNIQ_TRGGR。你可以把它想象成"个性化车牌",但没有长度限制。
避免使用任何语言中已存在的词,如dog或cyberpunk。
不要使用TOK作为触发词,因为如果你将来想要组合多个微调模型,这可能会导致冲突。
大小写并不重要,但使用大写字母可以在视觉上帮助将触发词与文本提示的其余部分区分开来。
以zeke/ziki-flux微调模型为例,选择了ZIKI作为触发词。它简短、独特且容易记住。
记住你的触发词,将在下一步中使用它。
4.创建并训练模型
在Replicate平台上,有几种方法可以微调Flux模型。你可以使用基于网页的训练表单,或者使用API。虽然API非常适合以自动化或编程方式创建和更新微调模型,但在本教程中,我们将只使用基于网页的表单,因为这种方法更简单直观。
首先,访问replicate.com/ostris/flux-dev-lora-trainer来开始基于网页的训练过程。按以下内容输入:
destination:你需要选择要发布的模型。这可以是你已经创建的现有模型,也可以是一个全新的模型,
你的微调Flux模型可以设置为公开或私有。
input_images(输入图像:直接拖放你之前创建的zip文件到指定区域。
trigger_word(触发词):输入你在上一步选择的独特字符串。
steps(步数:建议保持默认的1000步。如果步数少于这个值,你的训练过程可能无法充分学习训练图像中的特征。而如果步数多于这个值,你可能会增加额外的时间和成本,但模型性能的提升可能并不显著。
将其他输入项保持默认值,然后点击Create training(创建训练)按钮。
5.等待训练结束
训练过程相对较快,但仍需要几分钟时间。如果你使用了10张图像和1000步的设置,整个过程大约需要20分钟。
6.在Replicate平台上生成图像
训练过程完成后,你的模型就可以立即使用了。最简单的开始方式是在Replicate平台上直接运行它。
你唯一需要输入的是prompt(提示词)。开始时,其他设置可以保持默认值不变。Flux模型非常擅长理解和执行长篇复杂的提示,因此你的提示词越详细、描述性越强,生成的图像效果就可能越好。请务必在提示中包含你的trigger_word,这样可以激活你新训练的模型在生成的图像中体现出你的个人特征。
你可以直接在Replicate的网页界面上运行你的新微调模型,开始生成图像。
此方法也可以训练其他lora,快试试吧!