simpletuner-lora

This is a PEFT LoRA derived from black-forest-labs/FLUX.1-dev.

The main validation prompt used during training was:

A picture of nikolai

Validation settings

  • CFG: 3.0
  • CFG Rescale: 0.0
  • Steps: 20
  • Sampler: FlowMatchEulerDiscreteScheduler
  • Seed: 42
  • Resolution: 1024x1024
  • Skip-layer guidance:

Note: The validation settings are not necessarily the same as the training settings.

You can find some example images in the following gallery:

Prompt
unconditional (blank prompt)
Negative Prompt
blurry, cropped, ugly
Prompt
a breathtaking anime-style portrait of nikolai, capturing his essence with vibrant colors and expressive features
Negative Prompt
blurry, cropped, ugly
Prompt
a high-quality, detailed photograph of nikolai as a sous-chef, immersed in the art of culinary creation
Negative Prompt
blurry, cropped, ugly
Prompt
a lifelike and intimate portrait of nikolai, showcasing his unique personality and charm
Negative Prompt
blurry, cropped, ugly
Prompt
a cinematic, visually stunning photo of nikolai, emphasizing his dramatic and captivating presence
Negative Prompt
blurry, cropped, ugly
Prompt
an elegant and timeless portrait of nikolai, exuding grace and sophistication
Negative Prompt
blurry, cropped, ugly
Prompt
a dynamic and adventurous photo of nikolai, captured in an exciting, action-filled moment
Negative Prompt
blurry, cropped, ugly
Prompt
a mysterious and enigmatic portrait of nikolai, shrouded in shadows and intrigue
Negative Prompt
blurry, cropped, ugly
Prompt
a vintage-style portrait of nikolai, evoking the charm and nostalgia of a bygone era
Negative Prompt
blurry, cropped, ugly
Prompt
an artistic and abstract representation of nikolai, blending creativity with visual storytelling
Negative Prompt
blurry, cropped, ugly
Prompt
a futuristic and cutting-edge portrayal of nikolai, set against a backdrop of advanced technology
Negative Prompt
blurry, cropped, ugly
Prompt
A picture of nikolai
Negative Prompt
blurry, cropped, ugly

The text encoder was not trained. You may reuse the base model text encoder for inference.

Training settings

  • Training epochs: 29

  • Training steps: 500

  • Learning rate: 0.0001

    • Learning rate schedule: polynomial
    • Warmup steps: 100
  • Max grad value: 1.0

  • Effective batch size: 1

    • Micro-batch size: 1
    • Gradient accumulation steps: 1
    • Number of GPUs: 1
  • Gradient checkpointing: True

  • Prediction type: flow_matching (extra parameters=['shift=3', 'flux_guidance_mode=constant', 'flux_guidance_value=1.0', 'flux_lora_target=mmdit'])

  • Optimizer: adamw_bf16

  • Trainable parameter precision: Pure BF16

  • Base model precision: fp8-torchao

  • Caption dropout probability: 0.1%

  • LoRA Rank: 16

  • LoRA Alpha: None

  • LoRA Dropout: 0.1

  • LoRA initialisation style: default

  • LoRA mode: Standard

Datasets

dreambooth-subject

  • Repeats: 0
  • Total number of images: 17
  • Total number of aspect buckets: 1
  • Resolution: 1.048576 megapixels
  • Cropped: False
  • Crop style: None
  • Crop aspect: None
  • Used for regularisation data: No

Inference

import torch
from diffusers import DiffusionPipeline

model_id = 'black-forest-labs/FLUX.1-dev'
adapter_id = 'codingrobot/simpletuner-lora'
pipeline = DiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.bfloat16) # loading directly in bf16
pipeline.load_lora_weights(adapter_id)

prompt = "A picture of nikolai"


## Optional: quantise the model to save on vram.
## Note: The model was quantised during training, and so it is recommended to do the same during inference time.
from optimum.quanto import quantize, freeze, qint8
quantize(pipeline.transformer, weights=qint8)
freeze(pipeline.transformer)
    
pipeline.to('cuda' if torch.cuda.is_available() else 'mps' if torch.backends.mps.is_available() else 'cpu') # the pipeline is already in its target precision level
model_output = pipeline(
    prompt=prompt,
    num_inference_steps=20,
    generator=torch.Generator(device='cuda' if torch.cuda.is_available() else 'mps' if torch.backends.mps.is_available() else 'cpu').manual_seed(42),
    width=1024,
    height=1024,
    guidance_scale=3.0,
).images[0]

model_output.save("output.png", format="PNG")
Downloads last month
9
Inference Providers NEW
Examples

Model tree for codingrobot/simpletuner-lora

Adapter
(34126)
this model