# Copy this file and name it config.toml | |
# Edit the values to suit your needs | |
[settings] | |
use_shell = false # Use shell furing process run of sd-scripts oython code. Most secure is false but some systems may require it to be true to properly run sd-scripts. | |
# Default folders location | |
[model] | |
models_dir = "./models" # Pretrained model name or path | |
output_name = "new model" # Trained model output name | |
train_data_dir = "./data" # Image folder (containing training images subfolders) / Image folder (containing training images) | |
dataset_config = "./test.toml" # Dataset config file (Optional. Select the toml configuration file to use for the dataset) | |
training_comment = "Some training comment" # Training comment | |
save_model_as = "safetensors" # Save model as (ckpt, safetensors, diffusers, diffusers_safetensors) | |
save_precision = "bf16" # Save model precision (fp16, bf16, float) | |
[folders] | |
output_dir = "./outputs" # Output directory for trained model | |
reg_data_dir = "./data/reg" # Regularisation directory | |
logging_dir = "./logs" # Logging directory | |
[configuration] | |
config_dir = "./presets" # Load/Save Config file | |
[accelerate_launch] | |
dynamo_backend = "no" # Dynamo backend | |
dynamo_mode = "default" # Dynamo mode | |
dynamo_use_dynamic = false # Dynamo use dynamic | |
dynamo_use_fullgraph = false # Dynamo use fullgraph | |
extra_accelerate_launch_args = "" # Extra accelerate launch args | |
gpu_ids = "" # GPU IDs | |
main_process_port = 0 # Main process port | |
mixed_precision = "fp16" # Mixed precision (fp16, bf16, fp8) | |
multi_gpu = false # Multi GPU | |
num_cpu_threads_per_process = 2 # Number of CPU threads per process | |
num_machines = 1 # Number of machines | |
num_processes = 1 # Number of processes | |
[basic] | |
cache_latents = true # Cache latents | |
cache_latents_to_disk = false # Cache latents to disk | |
caption_extension = ".txt" # Caption extension | |
enable_bucket = true # Enable bucket | |
epoch = 1 # Epoch | |
learning_rate = 0.0001 # Learning rate | |
learning_rate_te = 0.0001 # Learning rate text encoder | |
learning_rate_te1 = 0.0001 # Learning rate text encoder 1 | |
learning_rate_te2 = 0.0001 # Learning rate text encoder 2 | |
lr_scheduler = "cosine" # LR Scheduler | |
lr_scheduler_args = "" # LR Scheduler args | |
lr_warmup = 0 # LR Warmup (% of total steps) | |
lr_scheduler_num_cycles = 1 # LR Scheduler num cycles | |
lr_scheduler_power = 1.0 # LR Scheduler power | |
max_bucket_reso = 2048 # Max bucket resolution | |
max_grad_norm = 1.0 # Max grad norm | |
max_resolution = "512,512" # Max resolution | |
max_train_steps = 0 # Max train steps | |
max_train_epochs = 0 # Max train epochs | |
min_bucket_reso = 256 # Min bucket resolution | |
optimizer = "AdamW8bit" # Optimizer (AdamW, AdamW8bit, Adafactor, DAdaptation, DAdaptAdaGrad, DAdaptAdam, DAdaptAdan, DAdaptAdanIP, DAdaptAdamPreprint, DAdaptLion, DAdaptSGD, Lion, Lion8bit, PagedAdam | |
optimizer_args = "" # Optimizer args | |
save_every_n_epochs = 1 # Save every n epochs | |
save_every_n_steps = 1 # Save every n steps | |
seed = 1234 # Seed | |
stop_text_encoder_training = 0 # Stop text encoder training (% of total steps) | |
train_batch_size = 1 # Train batch size | |
[advanced] | |
adaptive_noise_scale = 0 # Adaptive noise scale | |
additional_parameters = "" # Additional parameters | |
bucket_no_upscale = true # Don't upscale bucket resolution | |
bucket_reso_steps = 64 # Bucket resolution steps | |
caption_dropout_every_n_epochs = 0 # Caption dropout every n epochs | |
caption_dropout_rate = 0 # Caption dropout rate | |
color_aug = false # Color augmentation | |
clip_skip = 1 # Clip skip | |
debiased_estimation_loss = false # Debiased estimation loss | |
flip_aug = false # Flip augmentation | |
fp8_base = false # FP8 base training (experimental) | |
full_bf16 = false # Full bf16 training (experimental) | |
full_fp16 = false # Full fp16 training (experimental) | |
gradient_accumulation_steps = 1 # Gradient accumulation steps | |
gradient_checkpointing = false # Gradient checkpointing | |
huber_c = 0.1 # The huber loss parameter. Only used if one of the huber loss modes (huber or smooth l1) is selected with loss_type | |
huber_schedule = "snr" # The type of loss to use and whether it's scheduled based on the timestep | |
ip_noise_gamma = 0 # IP noise gamma | |
ip_noise_gamma_random_strength = false # IP noise gamma random strength (true, false) | |
keep_tokens = 0 # Keep tokens | |
log_tracker_config_dir = "./logs" # Log tracker configs directory | |
log_tracker_name = "" # Log tracker name | |
loss_type = "l2" # Loss type (l2, huber, smooth_l1) | |
masked_loss = false # Masked loss | |
max_data_loader_n_workers = 0 # Max data loader n workers (string) | |
max_timestep = 1000 # Max timestep | |
max_token_length = 150 # Max token length ("75", "150", "225") | |
mem_eff_attn = false # Memory efficient attention | |
min_snr_gamma = 0 # Min SNR gamma | |
min_timestep = 0 # Min timestep | |
multires_noise_iterations = 0 # Multires noise iterations | |
multires_noise_discount = 0 # Multires noise discount | |
no_token_padding = false # Disable token padding | |
noise_offset = 0 # Noise offset | |
noise_offset_random_strength = false # Noise offset random strength (true, false) | |
noise_offset_type = "Original" # Noise offset type ("Original", "Multires") | |
persistent_data_loader_workers = false # Persistent data loader workers | |
prior_loss_weight = 1.0 # Prior loss weight | |
random_crop = false # Random crop | |
save_every_n_steps = 0 # Save every n steps | |
save_last_n_steps = 0 # Save last n steps | |
save_last_n_steps_state = 0 # Save last n steps state | |
save_state = false # Save state | |
save_state_on_train_end = false # Save state on train end | |
scale_v_pred_loss_like_noise_pred = false # Scale v pred loss like noise pred | |
shuffle_caption = false # Shuffle captions | |
state_dir = "./outputs" # Resume from saved training state | |
log_with = "" # Logger to use ["wandb", "tensorboard", "all", ""] | |
vae_batch_size = 0 # VAE batch size | |
vae_dir = "./models/vae" # VAEs folder path | |
v_pred_like_loss = 0 # V pred like loss weight | |
wandb_api_key = "" # Wandb api key | |
wandb_run_name = "" # Wandb run name | |
weighted_captions = false # Weighted captions | |
xformers = "xformers" # CrossAttention (none, sdp, xformers) | |
# This next section can be used to set default values for the Dataset Preparation section | |
# The "Destination training direcroty" field will be equal to "train_data_dir" as specified above | |
[dataset_preparation] | |
class_prompt = "class" # Class prompt | |
images_folder = "/some/folder/where/images/are" # Training images directory | |
instance_prompt = "instance" # Instance prompt | |
reg_images_folder = "/some/folder/where/reg/images/are" # Regularisation images directory | |
reg_images_repeat = 1 # Regularisation images repeat | |
util_regularization_images_repeat_input = 1 # Regularisation images repeat input | |
util_training_images_repeat_input = 40 # Training images repeat input | |
[huggingface] | |
async_upload = false # Async upload | |
huggingface_path_in_repo = "" # Huggingface path in repo | |
huggingface_repo_id = "" # Huggingface repo id | |
huggingface_repo_type = "" # Huggingface repo type | |
huggingface_repo_visibility = "" # Huggingface repo visibility | |
huggingface_token = "" # Huggingface token | |
resume_from_huggingface = "" # Resume from huggingface (ex: {repo_id}/{path_in_repo}:{revision}:{repo_type}) | |
save_state_to_huggingface = false # Save state to huggingface | |
[samples] | |
sample_every_n_steps = 0 # Sample every n steps | |
sample_every_n_epochs = 0 # Sample every n epochs | |
sample_prompts = "" # Sample prompts | |
sample_sampler = "euler_a" # Sampler to use for image sampling | |
[sdxl] | |
sdxl_cache_text_encoder_outputs = false # Cache text encoder outputs | |
sdxl_no_half_vae = true # No half VAE | |
[wd14_caption] | |
always_first_tags = "" # comma-separated list of tags to always put at the beginning, e.g. 1girl,1boy | |
append_tags = false # Append TAGs | |
batch_size = 8 # Batch size | |
caption_extension = ".txt" # Extension for caption file (e.g., .caption, .txt) | |
caption_separator = ", " # Caption Separator | |
character_tag_expand = false # Expand tag tail parenthesis to another tag for character tags. `chara_name_(series)` becomes `chara_name, series` | |
character_threshold = 0.35 # Character threshold | |
debug = false # Debug mode | |
force_download = false # Force model re-download when switching to onnx | |
frequency_tags = false # Frequency tags | |
general_threshold = 0.35 # General threshold | |
max_data_loader_n_workers = 2 # Max dataloader workers | |
onnx = true # ONNX | |
recursive = false # Recursive | |
remove_underscore = false # Remove underscore | |
repo_id = "SmilingWolf/wd-convnext-tagger-v3" # Repo id for wd14 tagger on Hugging Face | |
tag_replacement = "" # Tag replacement in the format of `source1,target1;source2,target2; ...`. Escape `,` and `;` with `\`. e.g. `tag1,tag2;tag3,tag4` | |
thresh = 0.36 # Threshold | |
train_data_dir = "" # Image folder to caption (containing the images to caption) | |
undesired_tags = "" # comma-separated list of tags to remove, e.g. 1girl,1boy | |
use_rating_tags = false # Use rating tags | |
use_rating_tags_as_last_tag = false # Use rating tags as last tagging tags | |
[metadata] | |
metadata_title = "" # Title for model metadata (default is output_name) | |
metadata_author = "" # Author name for model metadata | |
metadata_description = "" # Description for model metadata | |
metadata_license = "" # License for model metadata | |
metadata_tags = "" # Tags for model metadata | |