A LoRA for generating very muscular bodybuilder women with flat pecs/small breasts.
Usage Tips (For v3-Artstyle)
str0ng woman - Main keyword that should be used.
Other keywords you can also add into prompt:
muscular, bodybuilder, flexing, pecs, abs, biceps, veins
Usage Tips (For v2)
str0ng woman - Main keyword that should be used.
beautiful face - Put in positive prompt for making face more feminine.
ugly face - Put in negative prompt for making face more feminine.
Other keywords you can also add into prompt for better results:
muscular, bodybuilder, flexing
Description
First release.
FAQ
Comments (6)
Hi Lucanna! Could I add you on discord? I wanted to ask about your training process
Hi, you can ask your questions here so everyone can benefit from info.
@lucanna I have tried to train several models on SDXL/SD1.5 that always come out unsatisfactory. I have an understanding of the parameters and their usages, but I never am able to create a model that either matches the quality of the dataset or one that is useful in the way that I want to prompt it.
I have also seen all your other models and they seem excellent, I believe it has to do with the dataset preparation or selection that I would be interested in hearing your thoughts on. For example, do you use a regularization set? are you training multi-concept loras?
The most useful answers to me would be along the lines of:
What do you use for training, dreambooth/SD-scripts?
Do you have a copy of the config for the parameters that you would be willing to provide?
Advice on tagging and dataset selection?
@arcticfaded
Yes, I think the most important factor is dataset quality. And then captioning and training settings.
I'm using kohya-ss for training. I'm using a slightly edited version of the settings I've been using for SD 1.5 and it gives pretty good results imo. But there's some tips and tricks for SD XL.
First of all, I don't use regularization images. It's not needed for SDXL.
For creating dataset, first I collect good dataset images and then I use Birme to turn them into 1024x1024. If you don't turn them into square that shows exactly what you are training for, then during training images will get cropped at center and might ruin the training subject.
I use around 50 to 150 images for LoRA. After you prepared your images, divide 600 or 700 by the amount of pictures and you'll find the training steps to use for that LoRA. For example if you have 100 images, 600/100 = 6, you should train with 6 steps.
For tagging, if you are training a person, you have to train it with a celebrity name that somewhat resembles that person. Avoid using unique keywords AI doesn't know. A StableAI engineer explained that when they were experimenting training LoRAs on SDXL, for teaching it a new person, they found that best approach is training it with a celebrity name it knows.
For tagging I generally use WD14 with threshold set around 60% - 65%. It is really good at capturing details. Only problem with it is 1girl stuff. You'd be better adding general, common tags such as "woman," "man," etc yourself as prefix.
If training for a body feature, avoid head out of frame images. That teaches AI to always do head out of frame images and then you end up fighting AI to show face while using LoRA.
Below I'll write the kohya-ss settings I'm using. Just copy-paste it into a txt and change it into json.
@arcticfaded
{
"LoRA_type": "Standard",
"adaptive_noise_scale": 0,
"additional_parameters": "",
"block_alphas": "",
"block_dims": "",
"block_lr_zero_threshold": "",
"bucket_no_upscale": true,
"bucket_reso_steps": 64,
"cache_latents": true,
"cache_latents_to_disk": true,
"caption_dropout_every_n_epochs": 0.0,
"caption_dropout_rate": 0,
"caption_extension": ".txt",
"clip_skip": 2,
"color_aug": false,
"conv_alpha": 1,
"conv_block_alphas": "",
"conv_block_dims": "",
"conv_dim": 1,
"decompose_both": false,
"dim_from_weights": false,
"down_lr_weight": "",
"enable_bucket": true,
"epoch": 3,
"factor": -1,
"flip_aug": true,
"full_bf16": false,
"full_fp16": false,
"gradient_accumulation_steps": 1,
"gradient_checkpointing": false,
"keep_tokens": "0",
"learning_rate": 0.0001,
"logging_dir": "/media/exampleuser/exampledir1/exampledir2/log",
"lora_network_weights": "",
"lr_scheduler": "constant",
"lr_scheduler_args": "",
"lr_scheduler_num_cycles": "3",
"lr_scheduler_power": "",
"lr_warmup": 0,
"max_bucket_reso": 1024,
"max_data_loader_n_workers": "0",
"max_resolution": "1024,1024",
"max_timestep": 1000,
"max_token_length": "225",
"max_train_epochs": "",
"max_train_steps": "",
"mem_eff_attn": false,
"mid_lr_weight": "",
"min_bucket_reso": 256,
"min_snr_gamma": 5,
"min_timestep": 0,
"mixed_precision": "fp16",
"model_list": "custom",
"module_dropout": 0,
"multires_noise_discount": 0,
"multires_noise_iterations": 0,
"network_alpha": 16,
"network_dim": 32,
"network_dropout": 0,
"no_token_padding": false,
"noise_offset": 0,
"noise_offset_type": "Original",
"num_cpu_threads_per_process": 2,
"optimizer": "AdamW8bit",
"optimizer_args": "",
"output_dir": "/media/exampleuser/exampledir1/exampledir2/model",
"output_name": "SDXL_ExampleLoRA_v1",
"persistent_data_loader_workers": false,
"pretrained_model_name_or_path": "/media/exampleuser/exampledir1/exampledir2/stable-diffusion-webui/models/Stable-diffusion/sd_xl_base_1.0.safetensors",
"prior_loss_weight": 1.0,
"random_crop": false,
"rank_dropout": 0,
"reg_data_dir": "",
"resume": "",
"sample_every_n_epochs": 0,
"sample_every_n_steps": 200,
"sample_prompts": "portrait of woman, blonde hair, blue eyes, in forest --w 1024, --h 1024, --s 20",
"sample_sampler": "dpmsolver++",
"save_every_n_epochs": 0,
"save_every_n_steps": 0,
"save_last_n_steps": 0,
"save_last_n_steps_state": 0,
"save_model_as": "safetensors",
"save_precision": "fp16",
"save_state": false,
"scale_v_pred_loss_like_noise_pred": false,
"scale_weight_norms": 2.5,
"sdxl": true,
"sdxl_cache_text_encoder_outputs": false,
"sdxl_no_half_vae": true,
"seed": "",
"shuffle_caption": false,
"stop_text_encoder_training": 0,
"text_encoder_lr": 5e-05,
"train_batch_size": 1,
"train_data_dir": "/media/exampleuser/exampledir1/exampledir2/img",
"train_on_input": true,
"training_comment": "",
"unet_lr": 0.0001,
"unit": 1,
"up_lr_weight": "",
"use_cp": false,
"use_wandb": false,
"v2": false,
"v_parameterization": false,
"v_pred_like_loss": 0.5,
"vae_batch_size": 0,
"wandb_api_key": "",
"weighted_captions": false,
"xformers": "xformers"
}
@arcticfaded
Lastly, always train with base sdxl model for best results. Hope this helps.
