Text-to-Image
Diffusers
flux
flux-diffusers
simpletuner
Not-For-All-Audiences
lora
template:sd-lora
standard
license: other | |
base_model: "flux/unknown-model" | |
tags: | |
- flux | |
- flux-diffusers | |
- text-to-image | |
- diffusers | |
- simpletuner | |
- not-for-all-audiences | |
- lora | |
- template:sd-lora | |
- standard | |
inference: true | |
widget: | |
- text: 'unconditional (blank prompt)' | |
parameters: | |
negative_prompt: 'blurry, cropped, ugly' | |
output: | |
url: ./assets/image_0_0.png | |
- text: 'A Simple Pencil sketch of Marilyn Monroe, showcasing her iconic smile and glamorous hairstyle. The shading captures the softness of her features and the elegance of her famous pose, framed by a hint of her signature wardrobe.' | |
parameters: | |
negative_prompt: 'blurry, cropped, ugly' | |
output: | |
url: ./assets/image_1_0.png | |
# random | |
This is a standard PEFT LoRA derived from [flux/unknown-model](https://huggingface.co/flux/unknown-model). | |
The main validation prompt used during training was: | |
``` | |
A Simple Pencil sketch of Marilyn Monroe, showcasing her iconic smile and glamorous hairstyle. The shading captures the softness of her features and the elegance of her famous pose, framed by a hint of her signature wardrobe. | |
``` | |
## Validation settings | |
- CFG: `3.5` | |
- CFG Rescale: `0.0` | |
- Steps: `35` | |
- Sampler: `FlowMatchEulerDiscreteScheduler` | |
- Seed: `42` | |
- Resolution: `1024x1024` | |
- Skip-layer guidance: | |
Note: The validation settings are not necessarily the same as the [training settings](#training-settings). | |
You can find some example images in the following gallery: | |
<Gallery /> | |
The text encoder **was not** trained. | |
You may reuse the base model text encoder for inference. | |
## Training settings | |
- Training epochs: 1 | |
- Training steps: 500 | |
- Learning rate: 0.0001 | |
- Learning rate schedule: polynomial | |
- Warmup steps: 100 | |
- Max grad norm: 2.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', 'flow_matching_loss=compatible', 'flux_lora_target=all']) | |
- Optimizer: adamw_bf16 | |
- Trainable parameter precision: Pure BF16 | |
- Caption dropout probability: 10.0% | |
- LoRA Rank: 32 | |
- LoRA Alpha: None | |
- LoRA Dropout: 0.1 | |
- LoRA initialisation style: default | |
## Datasets | |
### pencil-sketch-image | |
- Repeats: 10 | |
- Total number of images: 31 | |
- Total number of aspect buckets: 1 | |
- Resolution: 1.048576 megapixels | |
- Cropped: True | |
- Crop style: random | |
- Crop aspect: square | |
- Used for regularisation data: No | |
## Inference | |
```python | |
import torch | |
from diffusers import DiffusionPipeline | |
model_id = '/workspace/FLUX.1-dev' | |
adapter_id = 'mrtuandao/random' | |
pipeline = DiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.bfloat16) # loading directly in bf16 | |
pipeline.load_lora_weights(adapter_id) | |
prompt = "A Simple Pencil sketch of Marilyn Monroe, showcasing her iconic smile and glamorous hairstyle. The shading captures the softness of her features and the elegance of her famous pose, framed by a hint of her signature wardrobe." | |
## Optional: quantise the model to save on vram. | |
## Note: The model was not quantised during training, so it is not necessary to quantise it 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=35, | |
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.5, | |
).images[0] | |
image.save("output.png", format="PNG") | |
``` | |