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:
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")