kramp/flux-lora-album-covers-rock
FLUX.1-schnell LoRA — Rock & Metal Album Covers (rocov)
A LoRA adapter for black-forest-labs/FLUX.1-schnell (gated, Apache-2.0), fine-tuned on 6,000 BLIP-captioned rock/metal album covers — the union of the DeathMetal, DoomMetal, HeavyMetal, PsychedelicRock, Punk and Rock classes of eong/20k-Album-Covers-within-20-Genres, captioned with BLIP.
Dataset: kramp/album-covers-rock-metal-blip · Companion SD 1.5 adapter: kramp/sd15-lora-album-covers-rock · Training curves: trackio space
<Gallery />
Usage
import torch
from diffusers import FluxPipeline
pipe = FluxPipeline.from_pretrained("black-forest-labs/FLUX.1-schnell", torch_dtype=torch.bfloat16).to("cuda")
pipe.load_lora_weights("kramp/flux-lora-album-covers-rock")
image = pipe(
"rocov, album cover art, a gothic cathedral under a blood-red moon",
num_inference_steps=8, # schnell is 4-step distilled; 4–12 works
guidance_scale=0.0, # schnell runs without guidance
max_sequence_length=128,
height=1024, width=1024,
).images[0]Keep the rocov, album cover art, prefix on prompts to activate the style; without it the model behaves like base FLUX.1-schnell (see samples/sample_no_trigger.png).
Training
- Script: diffusers `v0.40.0` `train_dreambooth_lora_flux.py` run verbatim (accelerate launch)
- Data: 6,000 covers, 300×300 source images, random-cropped square at 512px, BLIP captions in a
textcolumn (trigger-prefixed), T5 sequence length 128 - Config: rank 16 / alpha 16 LoRA on all transformer linear layers, AdamW, lr 1e-4 constant, bf16, batch 1 × grad-accum 4 (effective batch 4), gradient checkpointing, cached VAE latents
- Schedule: 2,000 optimizer steps ≈ 1.33 epochs, seed 42
- Hardware: A100 80 GB, ~2.8 s/optimizer step, ~1h35m total
- Result: final training loss ≈ 0.48 (from ~0.6–0.7 early); per-step curves on the trackio dashboard
Samples
samples/ contains 7 held-out prompts (not in the training captions) with fixed seeds — the same prompts and seeds used to evaluate the SD 1.5 adapter, for a like-for-like comparison. Note: generated at 1024×1024 while training images were 300×300, so composition detail exceeds what the source covers contained.
Caveats
- Source covers are 300×300; the style is authentic but source resolution caps fine-grain texture.
- FLUX.1-schnell is gated: your account must accept its license before
from_pretrainedworks. - Adapter trained at 512px; prompts work at 1024 but very fine textures can soften.
