CoolFace
Modelpublic

kramp/flux-lora-album-covers-rock

sourceHugging Faceotherupdated 12d agoView on Hugging Face
0likes79downloads
Model Card

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

python
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 text column (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_pretrained works.
  • —Adapter trained at 512px; prompts work at 1024 but very fine textures can soften.