View a markdown version of this page

FLUX.2 Klein LoRa 微调和图像生成 - 截止日期云

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

FLUX.2 Klein LoRa 微调和图像生成

此示例演示如何使用 LoRa(Low-Rank 自适应)微调 FLUX.2 Klein 图像生成模型,并在 Deadline Cloud 上大规模生成图像。该工作流程训练来自小型图像数据集的轻量级适配器。然后,它使用该适配器根据文本提示生成新图像,所有这些图像都作为 GPU 队列上的 Deadline Cloud 作业编排。

此示例的源代码可在上的 de adline-cloud-samples 存储库中找到。 GitHub

以下视频演示了 Deadline Cloud 上的 FLUX.2 Klein LoRa 工作流程。

预计时间:30—60 分钟(包括 15—45 分钟的训练时间)。

概述

该示例由两个任务捆绑包组成:

  1. lora_tra Fine-tunes FLUX.2 ining — 使用 LoRa 对你的图像数据集进行 Klein,生成适配器文件。.safetensors

  2. image_g eneration — 使用经过训练的适配器加载基础模型,并根据文本提示生成图像。生成多张图像时,工作将在各个工作人员之间并行进行。

LoRa 是一种参数高效的微调技术,它可以训练小型适配器,而不是修改整个模型的权重。这种方法使训练速度更快(在单个 GPU 上使用 15-45 分钟),并且生成的适配器便于携带且易于版本控制。

作业捆绑包使用扩散器peft 库进行训练和推理。

要完成此示例,请执行以下步骤:

  1. 完成先决条件。

  2. 准备训练数据。

  3. 提交训练作业。

  4. 提交图像生成作业。

  5. 清理资源。

先决条件

开始之前,请确保您拥有:

  • 拥有 GPU 队列的 Deadline Cloud Farm(Linux,NVIDIA A10G GPU,13 GB+ VRAM,推荐 64 GiB以上的系统内存)。

  • 与 GPU 队列关联的队列。

  • 您的工作站上安装了 De adline Cloud CLI

  • 20—50 张拍摄对象的训练图像(.jpg.png.jpeg、或.webp)。

Job 捆绑包结构

flux2_klein_lora/ ├── lora_training/ │ ├── template.yaml # OpenJD job template │ └── train_lora.py # Training script └── image_generation/ ├── template.yaml # OpenJD job template └── generate_image.py # Inference script

准备训练数据

准备您的训练数据
  1. 创建一个包含拍摄对象图像的目录。为获得最佳效果,请使用 20-50 张姿势、光线和背景各不相同的图像。

  2. 或者,在每张.txt图片旁边提供一个字幕文件,以便进行更细致入微的训练:

    training_images/ ├── IMG_001.jpeg ├── IMG_001.txt # "a photo of ohwx dog sitting on grass" ├── IMG_002.jpeg ├── IMG_002.txt # "a photo of ohwx dog running on beach"

    如果不存在字幕文件,则训练脚本会使用实例提示参数自动生成字幕文件。自定义字幕可以产生更高质量的结果,因为它们可以教会模型在触发词和视觉特征之间更具体的关联。

  3. 选择一个唯一的触发词(例如ohwx)。这会将学到的概念绑定到一个与现有模型知识不冲突的代币上。

提交训练作业

提交培训作业
  1. 导航到克隆deadline-cloud-samples存储库中的flux2_klein_lora目录。

  2. 要使用 GUI 提交训练作业,请运行以下命令:

    deadline bundle gui-submit ./lora_training

    或者,要直接使用 CLI 提交训练作业,请运行以下命令:

    deadline bundle submit ./lora_training \ --queue-id gpu-queue-id \ --parameter DatasetPath=~/training_images \ --parameter InstancePrompt="a photo of ohwx dog" \ --parameter OutputDir=/tmp/lora_output \ --parameter MaxTrainSteps=1500 \ --parameter Resolution=512
  3. 在 Deadline Cloud 控制台中或使用deadline job get命令监控任务状态。

训练参数

训练参数
参数 说明 默认
模型版本 flux.2-klein-base-4bflux.2-klein-4b flux.2-klein-base-4b
数据集路径 包含训练图像的目录
实例提示 描述您的主题的文字
解决方案 训练图像分辨率(以像素为单位) 512
网络调光 LoRa 等级(越高 = 容量越大) 16
网络 Alpha LoRa α缩放系数 16
最大训练步数 训练迭代次数 1500
输出目录 在哪里保存训练过的重量

训练输出

训练作业会生成以下构件:

  • flux2_klein_lora.safetensors— 经过训练的 LoRa 适配器,带有嵌入式元数据。

  • 每 300 步保存一次检查点。

要在训练完成后下载输出,请运行以下命令:

deadline job download-output \ --job-id training-job-id \ --queue-id gpu-queue-id

提交图像生成作业

提交图像生成作业
  1. 导航到克隆deadline-cloud-samples存储库中的flux2_klein_lora目录。

  2. 要使用 GUI 提交图像生成作业,请运行以下命令:

    deadline bundle gui-submit ./image_generation

    或者,要直接通过 CLI 提交图像生成作业,请运行以下命令:

    deadline bundle submit ./image_generation \ --queue-id gpu-queue-id \ --parameter LoRAPath=/tmp/lora_output/flux2_klein_lora.safetensors \ --parameter Prompt="a photo of ohwx dog wearing a tuxedo" \ --parameter OutputDir=/tmp/generated_images \ --parameter NumImages=4
  3. 在 Deadline Cloud 控制台中或使用deadline job get命令监控任务状态。

当大NumImages于 1 时,Deadline Cloud 会将工作分配给多个工作人员,以加快生成速度。

生成参数

生成参数
参数 说明 默认
LoRa Path 经过训练的.safetensors文件的路径
提示 文字描述(包括你的触发词)
图像数量 要生成的图像总数 1
宽度 以像素为单位的输出宽度 1024
高度 以像素为单位的输出高度 1024
推理步骤 降噪步骤数 50
指导量表 Classifier-free 指导量表 4.0

发电输出

图像另存为image_0001.pngimage_0002.png、等。要下载它们,请运行以下命令:

deadline job download-output \ --job-id generation-job-id \ --queue-id gpu-queue-id

型号变体

FLUX.2 克莱因模型变体
模型 参数 适用于
flux.2-klein-base-4b 4B Fine-tuning,商业用途
flux.2-klein-4b 4B 快速推理(4 个降噪步骤)

培训建议

以下建议可以帮助您获得最佳结果:

  • 数据集大小 — 20—50 张高质量图像适用于大多数拍摄对象。

  • 分辨率 — 对于具有 24 GB 显存的 GPU,请使用 512。更高的分辨率需要更多的内存。

  • 训练步骤 — 从 1500 开始。如果输出与拍摄对象不相似,则增加。

  • 网络暗淡 — 16 是一个不错的默认设置。对于复杂或抽象的概念,使用 32。

  • 学习率 — 默认值 1e-4 适用于大多数情况。

清理

为避免持续收费,请清理您为此示例创建的资源:

清理示例资源
  1. 在 Deadline Cloud 控制台中,停止或删除您在本示例中使用的 GPU 队列。

  2. 如果不再需要任务附件创建的任何 Amazon Simple Storage Service 对象,请将其删除。

  3. 如果不再需要本地输出文件,请将其删除:

    rm -rf /tmp/lora_output /tmp/generated_images

以下资源提供了更多信息: