logo
pub

用 Flux AI 精调你自己的 Flux Dev LoRA

概述:用 LoRA 微调 Flux AI

想要创造自定义的图像模型吗?你可以用 Flux AI 的 LoRA 来实现哦。这个工具特别适合精准渲染文本、复杂的构图和真实的人体结构。下面是怎么用你自己的图片来进行微调的步骤。你可以在 这里 跟着操作。

微调你的 Flux Dev LoRA 的步骤

步骤 1:准备你的训练图片

先准备一堆图片(简单的主题5-6张,复杂的多准备点)。

  • 指南:
    • 图片要聚焦在主题上。
    • JPEG 或 PNG 格式都行,尺寸和文件名无所谓。
    • 不要未经别人允许就用他们的图片。
  • 把图片压缩成 zip:
    zip -r data.zip data
    
  • 把你的 zip 文件上传到可以公开访问的地方,比如 S3 或 GitHub 页面。

步骤 2:设置你的 Replicate API Token

replicate.com/account 拿到你的 API token,然后在你的环境中设置:

export REPLICATE_API_TOKEN=your_token

步骤 3:在 Replicate 上创建模型

访问 replicate.com/create 来设置你的模型。你可以选择公开或私有。

步骤 4:开始训练

用 Python 启动训练过程。先安装 Replicate Python 包:

pip install replicate

然后,创建你的训练作业:

import replicate

training = replicate.trainings.create(
    version="ostris/flux-dev-lora-trainer",
    input={
        "input_images": "https://your-upload-url/data.zip",
    },
    destination="your-username/your-model"
)
print(training)

微调选项

  • 人脸: 加入这行代码来专注人脸:
    "use_face_detection_instead": True,
    
  • 风格: 调整风格的学习率:
    "lora_lr": 2e-4,
    "caption_prefix": '以 XYZ 的风格,',
    

监控你的训练

replicate.com/trainings 查看你的训练进度,或者通过编程方式:

training.reload()
print(training.status)

运行你训练好的模型

训练完成后,你可以通过 Replicate 网站或 API 来运行模型:

output = replicate.run(
    "your-username/your-model:version",
    input={"prompt": "一张 XYZ 骑着彩虹独角兽的照片"},
)

微调是怎么工作的

你的图片会经过预处理:

  • SwinIR:提升图片分辨率。
  • BLIP:生成文本标题。
  • CLIPSeg:去除不重要的区域。

想了解更多可以看一下 SDXL 模型的 README

进阶用法:与 Diffusers 集成

将训练好的权重加载到 Diffusers:

from diffusers import DiffusionPipeline
pipe = DiffusionPipeline.from_pretrained('stabilityai/stable-diffusion-xl-base-1.0')
pipe.unet.load_state_dict(torch.load("path-to-unet-weights.pth"))
# 现在你可以生成图像了
pipe(prompt="一张 <s0> 的照片").images[0].save("output.png")

常见问题

我可以用 LoRA 处理多个概念吗?

当然可以,LoRA 能处理多个概念,挺灵活的。

LoRA 对风格和人脸哪个更厉害?

LoRA 在风格上表现更好,但在人脸上可能会有点吃力。

我需要准备多少张图片?

最好准备至少10张图片。

我可以把训练好的 LoRA 上传到哪里?

你可以把它上传到 Hugging Face 的仓库。