gattaplayer's picture
Model card auto-generated by SimpleTuner
252e503 verified
metadata
license: other
base_model: terminusresearch/FluxBooru-v0.3
tags:
  - flux
  - flux-diffusers
  - text-to-image
  - diffusers
  - simpletuner
  - not-for-all-audiences
  - lora
  - template:sd-lora
  - lycoris
inference: true
widget:
  - text: unconditional (blank prompt)
    parameters:
      negative_prompt: blurry, cropped, ugly
    output:
      url: ./assets/image_0_0.png
  - text: >-
      leirix, a woman lying on a soft pink surface, wearing an elaborate golden
      jewelry decor with sharp, angular details, including a crown, large
      earrings, and a series of golden straps wrapping around her body, her
      expression is confident and playful, with her hand gently touching her
      hair, the armor contrasts with the soft, delicate appearance of the
      setting, with subtle green foliage framing the edges, the overall mood is
      luxurious and sensual, high detail with a focus on the character's beauty,
      the golden accents, and the soft atmosphere of the scene
    parameters:
      negative_prompt: blurry, cropped, ugly
    output:
      url: ./assets/image_1_0.png
  - text: >-
      leirix, a young woman enjoying a sunny day at the beach, with long,
      flowing blonde hair that catches the light beautifully and bright,
      expressive blue eyes, wearing a sleek, one-piece athletic swimsuit with
      shades of blue and white, perfectly complementing her sun-kissed skin,
      sitting on a light blue beach towel, her posture relaxed as she leans back
      slightly, with the serene ocean and sandy beach stretching out behind her,
      sunlight casts a warm glow, creating soft shadows and highlighting the
      contours of her figure, scene exudes a peaceful, summery vibe, with the
      clear sky and calm waves in the background
    parameters:
      negative_prompt: blurry, cropped, ugly
    output:
      url: ./assets/image_2_0.png
  - text: >-
      leirix, a young woman with short spiky black hair wearing a pink top and a
      yellow jacket, creating magical orbs of light with her hands, slightly
      smiling confidently, a vibrant and energetic atmosphere with colorful
      glowing lights, sparkles, and a soft-focus disco ball background, dynamic
      pose with fluid motion, playful expression, bright and vibrant color
      palette, detailed and stylized, magical effects surrounding her hands
    parameters:
      negative_prompt: blurry, cropped, ugly
    output:
      url: ./assets/image_3_0.png
  - text: >-
      leirix, a woman with long blonde wavy hair and bright blue eyes standing
      by a pool in a black bikini, her body is toned and curves gracefully, she
      has a large tattoo of a lion and roses on her left arm and another tattoo
      on her thigh, her face has soft features with a slight, confident smile
      and a hint of flirtation, her eyes sparkle as she gazes over her shoulder,
      her lips slightly parted, the background features lush green plants with
      rich, textured foliage casting deeper shadows and adding layers of depth,
      while the distant buildings are blurred into a soft, monochromatic wash of
      color, sunlight casts a warm glow on her skin, water droplets glisten as
      they reflect the light, adding to the relaxed, tropical atmosphere
    parameters:
      negative_prompt: blurry, cropped, ugly
    output:
      url: ./assets/image_4_0.png
  - text: >-
      leirix, a woman in a red outfit with a plunging neckline, her long dark
      hair cascading around her shoulders, sitting on a red surface surrounded
      by open comic books, her gaze is direct and confident with a slight smile,
      she is wearing gold jewelry on her arms and neck, the background is rich
      red, emphasizing the color contrast between her outfit and the comics, the
      comics show vibrant panels with the same character, the scene is intimate
      and seductive, high detail, focused on her expression and the iconic
      superhero vibe
    parameters:
      negative_prompt: blurry, cropped, ugly
    output:
      url: ./assets/image_5_0.png
  - text: >-
      leirix, a young woman in a dynamic crouching pose with black and red
      spandex suit featuring a white web pattern on the torso and a bold
      lightning symbol on the chest, her arms are raised with webs shooting out
      of her hands, her posture is aggressive and ready for action, the
      background is a vibrant red orange, where the halftone pattern forms a
      three-dimensional effect, with shadows and highlights giving the illusion
      of depth, creating a sense of volume behind the character, the webbing
      extends outward like a vortex, its lines twisting and spiraling around the
      scene, wrapping the composition in dynamic movement, her body is athletic
      with defined muscles and sharp details, her suit has white highlights on
      the shoulders and legs
    parameters:
      negative_prompt: blurry, cropped, ugly
    output:
      url: ./assets/image_6_0.png
  - text: >-
      leirix, a woman with long dark hair and red flower adorning her hair,
      wearing a red outfit, holding a rose delicately in her hand, surrounded by
      an ornate, intricate frame featuring a background with skulls, skeletons,
      bats, and red petals, the frame has a stained-glass aesthetic with vibrant
      colors and fine details that enhance the mystical and dark atmosphere, the
      character's expression is serene yet captivating, high contrast, white
      page
    parameters:
      negative_prompt: blurry, cropped, ugly
    output:
      url: ./assets/image_7_0.png
  - text: >-
      leirix, a strong woman standing in a dark cave, holding a flaming torch in
      one hand, wearing a golden and green outfit with a fur-lined cloak, her
      expression fierce and determined, her dark hair flowing slightly in the
      air, a figure in the background is dimly lit, adding a mysterious element,
      the lighting contrasts between warm orange from the torch and cool blue
      from the shadows, high detail with focus on the character's confident
      stance and the dynamic lighting effects
    parameters:
      negative_prompt: blurry, cropped, ugly
    output:
      url: ./assets/image_8_0.png

leirix-fluxbooru-lokr-1.5e-5-bs6-ga4-v03

This is a LyCORIS adapter derived from terminusresearch/FluxBooru-v0.3.

No validation prompt was used during training.

None

Validation settings

  • CFG: 5.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
leirix, a woman lying on a soft pink surface, wearing an elaborate golden jewelry decor with sharp, angular details, including a crown, large earrings, and a series of golden straps wrapping around her body, her expression is confident and playful, with her hand gently touching her hair, the armor contrasts with the soft, delicate appearance of the setting, with subtle green foliage framing the edges, the overall mood is luxurious and sensual, high detail with a focus on the character's beauty, the golden accents, and the soft atmosphere of the scene
Negative Prompt
blurry, cropped, ugly
Prompt
leirix, a young woman enjoying a sunny day at the beach, with long, flowing blonde hair that catches the light beautifully and bright, expressive blue eyes, wearing a sleek, one-piece athletic swimsuit with shades of blue and white, perfectly complementing her sun-kissed skin, sitting on a light blue beach towel, her posture relaxed as she leans back slightly, with the serene ocean and sandy beach stretching out behind her, sunlight casts a warm glow, creating soft shadows and highlighting the contours of her figure, scene exudes a peaceful, summery vibe, with the clear sky and calm waves in the background
Negative Prompt
blurry, cropped, ugly
Prompt
leirix, a young woman with short spiky black hair wearing a pink top and a yellow jacket, creating magical orbs of light with her hands, slightly smiling confidently, a vibrant and energetic atmosphere with colorful glowing lights, sparkles, and a soft-focus disco ball background, dynamic pose with fluid motion, playful expression, bright and vibrant color palette, detailed and stylized, magical effects surrounding her hands
Negative Prompt
blurry, cropped, ugly
Prompt
leirix, a woman with long blonde wavy hair and bright blue eyes standing by a pool in a black bikini, her body is toned and curves gracefully, she has a large tattoo of a lion and roses on her left arm and another tattoo on her thigh, her face has soft features with a slight, confident smile and a hint of flirtation, her eyes sparkle as she gazes over her shoulder, her lips slightly parted, the background features lush green plants with rich, textured foliage casting deeper shadows and adding layers of depth, while the distant buildings are blurred into a soft, monochromatic wash of color, sunlight casts a warm glow on her skin, water droplets glisten as they reflect the light, adding to the relaxed, tropical atmosphere
Negative Prompt
blurry, cropped, ugly
Prompt
leirix, a woman in a red outfit with a plunging neckline, her long dark hair cascading around her shoulders, sitting on a red surface surrounded by open comic books, her gaze is direct and confident with a slight smile, she is wearing gold jewelry on her arms and neck, the background is rich red, emphasizing the color contrast between her outfit and the comics, the comics show vibrant panels with the same character, the scene is intimate and seductive, high detail, focused on her expression and the iconic superhero vibe
Negative Prompt
blurry, cropped, ugly
Prompt
leirix, a young woman in a dynamic crouching pose with black and red spandex suit featuring a white web pattern on the torso and a bold lightning symbol on the chest, her arms are raised with webs shooting out of her hands, her posture is aggressive and ready for action, the background is a vibrant red orange, where the halftone pattern forms a three-dimensional effect, with shadows and highlights giving the illusion of depth, creating a sense of volume behind the character, the webbing extends outward like a vortex, its lines twisting and spiraling around the scene, wrapping the composition in dynamic movement, her body is athletic with defined muscles and sharp details, her suit has white highlights on the shoulders and legs
Negative Prompt
blurry, cropped, ugly
Prompt
leirix, a woman with long dark hair and red flower adorning her hair, wearing a red outfit, holding a rose delicately in her hand, surrounded by an ornate, intricate frame featuring a background with skulls, skeletons, bats, and red petals, the frame has a stained-glass aesthetic with vibrant colors and fine details that enhance the mystical and dark atmosphere, the character's expression is serene yet captivating, high contrast, white page
Negative Prompt
blurry, cropped, ugly
Prompt
leirix, a strong woman standing in a dark cave, holding a flaming torch in one hand, wearing a golden and green outfit with a fur-lined cloak, her expression fierce and determined, her dark hair flowing slightly in the air, a figure in the background is dimly lit, adding a mysterious element, the lighting contrasts between warm orange from the torch and cool blue from the shadows, high detail with focus on the character's confident stance and the dynamic lighting effects
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: 56
  • Training steps: 8880
  • Learning rate: 1.5e-05
    • Learning rate schedule: polynomial
    • Warmup steps: 100
  • Max grad norm: 0.01
  • Effective batch size: 12
    • Micro-batch size: 3
    • Gradient accumulation steps: 2
    • Number of GPUs: 2
  • Gradient checkpointing: True
  • Prediction type: flow-matching (extra parameters=['flux_schedule_auto_shift', 'shift=0.0', 'flux_guidance_mode=constant', 'flux_guidance_value=3.5', 'flow_matching_loss=compatible'])
  • Optimizer: optimi-lionweight_decay=1e-3
  • Trainable parameter precision: Pure BF16
  • Caption dropout probability: 10.0%

LyCORIS Config:

{
    "algo": "lokr",
    "multiplier": 1.0,
    "linear_dim": 10000,
    "linear_alpha": 1,
    "factor": 12,
    "apply_preset": {
        "target_module": [
            "Attention",
            "FeedForward"
        ],
        "module_algo_map": {
            "Attention": {
                "factor": 12
            },
            "FeedForward": {
                "factor": 6
            }
        }
    }
}

Datasets

LEIRIX-FLUX-V03-512

  • Repeats: 2
  • Total number of images: ~146
  • Total number of aspect buckets: 2
  • Resolution: 0.262144 megapixels
  • Cropped: True
  • Crop style: random
  • Crop aspect: closest
  • Used for regularisation data: No

LEIRIX-FLUX-V03-768

  • Repeats: 2
  • Total number of images: ~148
  • Total number of aspect buckets: 3
  • Resolution: 0.589824 megapixels
  • Cropped: True
  • Crop style: random
  • Crop aspect: closest
  • Used for regularisation data: No

LEIRIX-FLUX-V03-1024

  • Repeats: 2
  • Total number of images: ~148
  • Total number of aspect buckets: 4
  • Resolution: 1.048576 megapixels
  • Cropped: True
  • Crop style: random
  • Crop aspect: closest
  • Used for regularisation data: No

LEIRIX-FLUX-CROP-V03-512

  • Repeats: 0
  • Total number of images: ~146
  • Total number of aspect buckets: 1
  • Resolution: 0.262144 megapixels
  • Cropped: True
  • Crop style: random
  • Crop aspect: square
  • Used for regularisation data: No

LEIRIX-FLUX-CROP-V03-768

  • Repeats: 0
  • Total number of images: ~146
  • Total number of aspect buckets: 1
  • Resolution: 0.589824 megapixels
  • Cropped: True
  • Crop style: random
  • Crop aspect: square
  • Used for regularisation data: No

LEIRIX-FLUX-CROP-V03-1024

  • Repeats: 0
  • Total number of images: ~146
  • Total number of aspect buckets: 1
  • Resolution: 1.048576 megapixels
  • Cropped: True
  • Crop style: random
  • Crop aspect: square
  • Used for regularisation data: No

Inference

import torch
from diffusers import DiffusionPipeline
from lycoris import create_lycoris_from_weights


def download_adapter(repo_id: str):
    import os
    from huggingface_hub import hf_hub_download
    adapter_filename = "pytorch_lora_weights.safetensors"
    cache_dir = os.environ.get('HF_PATH', os.path.expanduser('~/.cache/huggingface/hub/models'))
    cleaned_adapter_path = repo_id.replace("/", "_").replace("\\", "_").replace(":", "_")
    path_to_adapter = os.path.join(cache_dir, cleaned_adapter_path)
    path_to_adapter_file = os.path.join(path_to_adapter, adapter_filename)
    os.makedirs(path_to_adapter, exist_ok=True)
    hf_hub_download(
        repo_id=repo_id, filename=adapter_filename, local_dir=path_to_adapter
    )

    return path_to_adapter_file
    
model_id = 'terminusresearch/FluxBooru-v0.3'
adapter_repo_id = 'gattaplayer/leirix-fluxbooru-lokr-1.5e-5-bs6-ga4-v03'
adapter_filename = 'pytorch_lora_weights.safetensors'
adapter_file_path = download_adapter(repo_id=adapter_repo_id)
pipeline = DiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.bfloat16) # loading directly in bf16
lora_scale = 1.0
wrapper, _ = create_lycoris_from_weights(lora_scale, adapter_file_path, pipeline.transformer)
wrapper.merge_to()

prompt = "An astronaut is riding a horse through the jungles of Thailand."


## 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
image = 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=5.0,
).images[0]
image.save("output.png", format="PNG")