dptlab-klein-lora-subject5

⚠️ Known issue: loading this checkpoint warns that the PEFT config contains target modules absent from the state dict (transformer_blocks 0-4 attention). Unresolved — treat these numbers as provisional.

Post-trained with dptlab using the lora recipe with a lora adapter, on top of black-forest-labs/FLUX.2-klein-4B.

Trainable parameters: 13.8M.

Training config

{
  "model_key": "flux2-klein-4b",
  "recipe": "lora",
  "dataset_path": "/root/data/syncd/subject-5",
  "output_dir": "/root/outputs/klein-peft/lora/subject-5",
  "resolution": 512,
  "learning_rate": 0.0001,
  "train_batch_size": 1,
  "gradient_accumulation_steps": 4,
  "max_train_steps": 500,
  "lora_rank": 16,
  "lora_alpha": 16,
  "peft_method": "lora",
  "max_grad_norm": 1.0,
  "use_masks": true,
  "mixed_precision": "bf16",
  "seed": 42,
  "checkpointing_steps": 500,
  "validation_prompts": [],
  "validation_steps": 500,
  "extra": {
    "sampling_steps_for_shift": 4,
    "logit_mean": 0.0,
    "logit_std": 1.0
  }
}

Benchmark

Split: heldout (6 prompts). Prompts describe settings no training image shows.

CLIP-T (prompt) DINO (subject) CLIP-I (subject) Avg. latency (ms)
0.9646 0.4320 0.7062 1558

CLIP-T and DINO pull in opposite directions: an adapter that learned nothing scores well on the first, one that memorized its training shots scores well on the second. Read them together.

See RESULTS.md in the repo for all six methods and the confounds.

Usage

import torch
from diffusers import DiffusionPipeline

pipe = DiffusionPipeline.from_pretrained("black-forest-labs/FLUX.2-klein-4B", torch_dtype=torch.bfloat16).to("cuda")
pipe.load_lora_weights("OnePunchMonk101010/dptlab-klein-lora-subject5")

image = pipe(prompt="your prompt here", num_inference_steps=4, guidance_scale=1.0).images[0]
Downloads last month
12
Inference Providers NEW

Model tree for OnePunchMonk101010/dptlab-klein-lora-subject5

Adapter
(76)
this model