update defaults

This commit is contained in:
xander
2024-08-14 12:18:50 +02:00
parent 85facac79e
commit a83027d28c
15 changed files with 31151 additions and 29 deletions
+83
View File
@@ -0,0 +1,83 @@
#!/bin/bash
python main.py scripts/gridsearch_configs/faces/faces_000.json
python main.py scripts/gridsearch_configs/faces/faces_001.json
python main.py scripts/gridsearch_configs/faces/faces_002.json
python main.py scripts/gridsearch_configs/faces/faces_003.json
python main.py scripts/gridsearch_configs/faces/faces_004.json
python main.py scripts/gridsearch_configs/faces/faces_005.json
python main.py scripts/gridsearch_configs/faces/faces_006.json
python main.py scripts/gridsearch_configs/faces/faces_007.json
python main.py scripts/gridsearch_configs/faces/faces_008.json
python main.py scripts/gridsearch_configs/faces/faces_009.json
python main.py scripts/gridsearch_configs/faces/faces_010.json
python main.py scripts/gridsearch_configs/faces/faces_011.json
python main.py scripts/gridsearch_configs/faces/faces_012.json
python main.py scripts/gridsearch_configs/faces/faces_013.json
python main.py scripts/gridsearch_configs/faces/faces_014.json
python main.py scripts/gridsearch_configs/faces/faces_015.json
python main.py scripts/gridsearch_configs/faces/faces_016.json
python main.py scripts/gridsearch_configs/faces/faces_017.json
python main.py scripts/gridsearch_configs/faces/faces_018.json
python main.py scripts/gridsearch_configs/faces/faces_019.json
python main.py scripts/gridsearch_configs/faces/faces_020.json
python main.py scripts/gridsearch_configs/faces/faces_021.json
python main.py scripts/gridsearch_configs/faces/faces_022.json
python main.py scripts/gridsearch_configs/faces/faces_023.json
python main.py scripts/gridsearch_configs/faces/faces_024.json
python main.py scripts/gridsearch_configs/faces/faces_025.json
python main.py scripts/gridsearch_configs/faces/faces_026.json
python main.py scripts/gridsearch_configs/faces/faces_027.json
python main.py scripts/gridsearch_configs/faces/faces_028.json
python main.py scripts/gridsearch_configs/faces/faces_029.json
python main.py scripts/gridsearch_configs/faces/faces_030.json
python main.py scripts/gridsearch_configs/faces/faces_031.json
python main.py scripts/gridsearch_configs/faces/faces_032.json
python main.py scripts/gridsearch_configs/faces/faces_033.json
python main.py scripts/gridsearch_configs/faces/faces_034.json
python main.py scripts/gridsearch_configs/faces/faces_035.json
python main.py scripts/gridsearch_configs/faces/faces_036.json
python main.py scripts/gridsearch_configs/faces/faces_037.json
python main.py scripts/gridsearch_configs/faces/faces_038.json
python main.py scripts/gridsearch_configs/faces/faces_039.json
python main.py scripts/gridsearch_configs/faces/faces_040.json
python main.py scripts/gridsearch_configs/faces/faces_041.json
python main.py scripts/gridsearch_configs/faces/faces_042.json
python main.py scripts/gridsearch_configs/faces/faces_043.json
python main.py scripts/gridsearch_configs/faces/faces_044.json
python main.py scripts/gridsearch_configs/faces/faces_045.json
python main.py scripts/gridsearch_configs/faces/faces_046.json
python main.py scripts/gridsearch_configs/faces/faces_047.json
python main.py scripts/gridsearch_configs/faces/faces_048.json
python main.py scripts/gridsearch_configs/faces/faces_049.json
python main.py scripts/gridsearch_configs/faces/faces_050.json
python main.py scripts/gridsearch_configs/faces/faces_051.json
python main.py scripts/gridsearch_configs/faces/faces_052.json
python main.py scripts/gridsearch_configs/faces/faces_053.json
python main.py scripts/gridsearch_configs/faces/faces_054.json
python main.py scripts/gridsearch_configs/faces/faces_055.json
python main.py scripts/gridsearch_configs/faces/faces_056.json
python main.py scripts/gridsearch_configs/faces/faces_057.json
python main.py scripts/gridsearch_configs/faces/faces_058.json
python main.py scripts/gridsearch_configs/faces/faces_059.json
python main.py scripts/gridsearch_configs/faces/faces_060.json
python main.py scripts/gridsearch_configs/faces/faces_061.json
python main.py scripts/gridsearch_configs/faces/faces_062.json
python main.py scripts/gridsearch_configs/faces/faces_063.json
python main.py scripts/gridsearch_configs/faces/faces_064.json
python main.py scripts/gridsearch_configs/faces/faces_065.json
python main.py scripts/gridsearch_configs/faces/faces_066.json
python main.py scripts/gridsearch_configs/faces/faces_067.json
python main.py scripts/gridsearch_configs/faces/faces_068.json
python main.py scripts/gridsearch_configs/faces/faces_069.json
python main.py scripts/gridsearch_configs/faces/faces_070.json
python main.py scripts/gridsearch_configs/faces/faces_071.json
python main.py scripts/gridsearch_configs/faces/faces_072.json
python main.py scripts/gridsearch_configs/faces/faces_073.json
python main.py scripts/gridsearch_configs/faces/faces_074.json
python main.py scripts/gridsearch_configs/faces/faces_075.json
python main.py scripts/gridsearch_configs/faces/faces_076.json
python main.py scripts/gridsearch_configs/faces/faces_077.json
python main.py scripts/gridsearch_configs/faces/faces_078.json
python main.py scripts/gridsearch_configs/faces/faces_079.json
python main.py scripts/gridsearch_configs/faces/faces_080.json
+62
View File
@@ -0,0 +1,62 @@
#!/bin/bash
nohup python main.py scripts/gridsearch_configs/faces3/faces3_000.json
> scripts/gridsearch_configs/faces3/faces3_000.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/faces3/faces3_001.json
> scripts/gridsearch_configs/faces3/faces3_001.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/faces3/faces3_002.json
> scripts/gridsearch_configs/faces3/faces3_002.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/faces3/faces3_003.json
> scripts/gridsearch_configs/faces3/faces3_003.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/faces3/faces3_004.json
> scripts/gridsearch_configs/faces3/faces3_004.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/faces3/faces3_005.json
> scripts/gridsearch_configs/faces3/faces3_005.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/faces3/faces3_006.json
> scripts/gridsearch_configs/faces3/faces3_006.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/faces3/faces3_007.json
> scripts/gridsearch_configs/faces3/faces3_007.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/faces3/faces3_008.json
> scripts/gridsearch_configs/faces3/faces3_008.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/faces3/faces3_009.json
> scripts/gridsearch_configs/faces3/faces3_009.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/faces3/faces3_010.json
> scripts/gridsearch_configs/faces3/faces3_010.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/faces3/faces3_011.json
> scripts/gridsearch_configs/faces3/faces3_011.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/faces3/faces3_012.json
> scripts/gridsearch_configs/faces3/faces3_012.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/faces3/faces3_013.json
> scripts/gridsearch_configs/faces3/faces3_013.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/faces3/faces3_014.json
> scripts/gridsearch_configs/faces3/faces3_014.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/faces3/faces3_015.json
> scripts/gridsearch_configs/faces3/faces3_015.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/faces3/faces3_016.json
> scripts/gridsearch_configs/faces3/faces3_016.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/faces3/faces3_017.json
> scripts/gridsearch_configs/faces3/faces3_017.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/faces3/faces3_018.json
> scripts/gridsearch_configs/faces3/faces3_018.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/faces3/faces3_019.json
> scripts/gridsearch_configs/faces3/faces3_019.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/faces3/faces3_020.json
> scripts/gridsearch_configs/faces3/faces3_020.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/faces3/faces3_021.json
> scripts/gridsearch_configs/faces3/faces3_021.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/faces3/faces3_022.json
> scripts/gridsearch_configs/faces3/faces3_022.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/faces3/faces3_023.json
> scripts/gridsearch_configs/faces3/faces3_023.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/faces3/faces3_024.json
> scripts/gridsearch_configs/faces3/faces3_024.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/faces3/faces3_025.json
> scripts/gridsearch_configs/faces3/faces3_025.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/faces3/faces3_026.json
> scripts/gridsearch_configs/faces3/faces3_026.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/faces3/faces3_027.json
> scripts/gridsearch_configs/faces3/faces3_027.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/faces3/faces3_028.json
> scripts/gridsearch_configs/faces3/faces3_028.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/faces3/faces3_029.json
> scripts/gridsearch_configs/faces3/faces3_029.log 2>&1 &
+1
View File
@@ -69,6 +69,7 @@ class Eden_LoRa_trainer:
config = TrainingConfig(
name=lora_name,
output_dir="output",
lora_training_urls=training_images_folder_path,
concept_mode=mode,
ckpt_path=ckpt_path,
+30874
View File
File diff suppressed because it is too large Load Diff
+13 -10
View File
@@ -12,6 +12,8 @@ https://storage.googleapis.com/public-assets-xander/A_workbox/lora_training_sets
Styles:
https://storage.googleapis.com/public-assets-xander/A_workbox/lora_training_sets/does.zip
https://edenartlab-lfs.s3.amazonaws.com/datasets/clipx.zip
/home/rednax/Documents/datasets/good_styles/eden_crystals
"""
@@ -32,12 +34,12 @@ def hamming_distance(dict1, dict2):
#######################################################################################
# Setup the base experiment config:
exp_name = "faces"
exp_name = "styles_final"
caption_prefix = ""
mask_target_prompts = ""
n_exp = 100 # how many random experiment settings to generate
min_hamming_distance = 2 # min_n_params that have to be different from any previous experiment to be scheduled
nohup = False
nohup = True
output_sh_path = f"gridsearch_configs/{exp_name}.sh"
# Define training hyperparameters and their possible values
@@ -47,28 +49,29 @@ hyperparameters = {
"output_dir": [f"lora_models/{exp_name}"],
"sd_model_version": ["sdxl"],
"lora_training_urls": [
"https://storage.googleapis.com/public-assets-xander/A_workbox/lora_training_sets/xander.zip",
"https://storage.googleapis.com/public-assets-xander/A_workbox/lora_training_sets/gene.zip",
"https://storage.googleapis.com/public-assets-xander/A_workbox/lora_training_sets/mira.zip"
"https://edenartlab-lfs.s3.amazonaws.com/datasets/clipx.zip",
"/home/rednax/Documents/datasets/good_styles/eden_crystals",
"/home/rednax/Documents/datasets/journey_small"
],
"concept_mode": ['face'],
"sample_imgs_lora_scale": [0.7],
"concept_mode": ['style'],
"sample_imgs_lora_scale": [0.8],
"disable_ti": ['false'],
"caption_dropout": [0.0, 0.2],
"seed": [0],
"resolution": [512],
"train_batch_size": [4],
"n_sample_imgs": [8],
"max_train_steps": [300],
"checkpointing_steps": [200],
"checkpointing_steps": [300],
"gradient_accumulation_steps": [1],
"n_tokens": [3],
"ti_lr": [0.001],
"ti_weight_decay": [0.000],
"l1_penalty": [0.0],
"token_warmup_steps": [0, 60],
"tok_cov_reg_w": [0, 500],
"token_warmup_steps": [0],
"tok_cov_reg_w": [500],
"token_attention_loss_w": [0e-7, 2e-7],
"freeze_ti_after_completion_f": [1.0, 0.75, 0.5],
+18 -11
View File
@@ -19,17 +19,23 @@ def load_training_args(directory):
return None
# Step 4: Traverse the directory structure and collect data
def collect_data(root_dir):
def collect_data(root_dir, mode):
data = []
for root, dirs, files in os.walk(root_dir):
if 'checkpoint-360' in dirs:
checkpoints_dir = os.path.join(root, 'checkpoint-360')
score = count_jpg_files(checkpoints_dir)
training_args = load_training_args(root)
if training_args:
data.append((training_args, score))
else:
print(f"Warning: No training_args.json found in {root}")
if "checkpoints" in dirs:
checkpoints_dir = os.path.join(root,"checkpoints")
if mode == "final_checkpoint":
checkpoint_dirs = sorted([f for f in os.listdir(checkpoints_dir) if os.path.isdir(os.path.join(checkpoints_dir, f))])
checkpoint_dir = os.path.join(checkpoints_dir, checkpoint_dirs[-1])
score = count_jpg_files(checkpoint_dir)
training_args = load_training_args(checkpoint_dir)
if mode == "n_validation_grids":
score = count_jpg_files(checkpoints_dir)
training_args = load_training_args(checkpoints_dir)
data.append((training_args, score))
print(f"Collected data from {len(data)} runs")
return data
@@ -172,11 +178,12 @@ def create_plots(data, varying_params, outdir, top = 0.15):
print(f"Plots have been saved as PNG files in {outdir}")
if __name__ == "__main__":
root_dir = "/home/rednax/SSD2TB/Github_repos/diffusion_trainer/lora_models/faces"
root_dir = "/home/rednax/SSD2TB/Github_repos/diffusion_trainer/lora_models/faces3"
outdir = os.path.join('.', os.path.basename(root_dir))
# Collect data
data = collect_data(root_dir)
data = collect_data(root_dir, mode = "final_checkpoint")
#data = collect_data(root_dir, mode = "n_validation_grids")
# Identify varying hyperparameters
varying_params = identify_varying_hyperparams(data)
Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 506 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

+92
View File
@@ -0,0 +1,92 @@
#!/bin/bash
nohup python main.py scripts/gridsearch_configs/styles_final/styles_final_000.json
> scripts/gridsearch_configs/styles_final/styles_final_000.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/styles_final/styles_final_001.json
> scripts/gridsearch_configs/styles_final/styles_final_001.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/styles_final/styles_final_002.json
> scripts/gridsearch_configs/styles_final/styles_final_002.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/styles_final/styles_final_003.json
> scripts/gridsearch_configs/styles_final/styles_final_003.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/styles_final/styles_final_004.json
> scripts/gridsearch_configs/styles_final/styles_final_004.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/styles_final/styles_final_005.json
> scripts/gridsearch_configs/styles_final/styles_final_005.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/styles_final/styles_final_006.json
> scripts/gridsearch_configs/styles_final/styles_final_006.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/styles_final/styles_final_007.json
> scripts/gridsearch_configs/styles_final/styles_final_007.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/styles_final/styles_final_008.json
> scripts/gridsearch_configs/styles_final/styles_final_008.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/styles_final/styles_final_009.json
> scripts/gridsearch_configs/styles_final/styles_final_009.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/styles_final/styles_final_010.json
> scripts/gridsearch_configs/styles_final/styles_final_010.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/styles_final/styles_final_011.json
> scripts/gridsearch_configs/styles_final/styles_final_011.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/styles_final/styles_final_012.json
> scripts/gridsearch_configs/styles_final/styles_final_012.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/styles_final/styles_final_013.json
> scripts/gridsearch_configs/styles_final/styles_final_013.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/styles_final/styles_final_014.json
> scripts/gridsearch_configs/styles_final/styles_final_014.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/styles_final/styles_final_015.json
> scripts/gridsearch_configs/styles_final/styles_final_015.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/styles_final/styles_final_016.json
> scripts/gridsearch_configs/styles_final/styles_final_016.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/styles_final/styles_final_017.json
> scripts/gridsearch_configs/styles_final/styles_final_017.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/styles_final/styles_final_018.json
> scripts/gridsearch_configs/styles_final/styles_final_018.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/styles_final/styles_final_019.json
> scripts/gridsearch_configs/styles_final/styles_final_019.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/styles_final/styles_final_020.json
> scripts/gridsearch_configs/styles_final/styles_final_020.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/styles_final/styles_final_021.json
> scripts/gridsearch_configs/styles_final/styles_final_021.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/styles_final/styles_final_022.json
> scripts/gridsearch_configs/styles_final/styles_final_022.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/styles_final/styles_final_023.json
> scripts/gridsearch_configs/styles_final/styles_final_023.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/styles_final/styles_final_024.json
> scripts/gridsearch_configs/styles_final/styles_final_024.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/styles_final/styles_final_025.json
> scripts/gridsearch_configs/styles_final/styles_final_025.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/styles_final/styles_final_026.json
> scripts/gridsearch_configs/styles_final/styles_final_026.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/styles_final/styles_final_027.json
> scripts/gridsearch_configs/styles_final/styles_final_027.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/styles_final/styles_final_028.json
> scripts/gridsearch_configs/styles_final/styles_final_028.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/styles_final/styles_final_029.json
> scripts/gridsearch_configs/styles_final/styles_final_029.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/styles_final/styles_final_030.json
> scripts/gridsearch_configs/styles_final/styles_final_030.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/styles_final/styles_final_031.json
> scripts/gridsearch_configs/styles_final/styles_final_031.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/styles_final/styles_final_032.json
> scripts/gridsearch_configs/styles_final/styles_final_032.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/styles_final/styles_final_033.json
> scripts/gridsearch_configs/styles_final/styles_final_033.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/styles_final/styles_final_034.json
> scripts/gridsearch_configs/styles_final/styles_final_034.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/styles_final/styles_final_035.json
> scripts/gridsearch_configs/styles_final/styles_final_035.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/styles_final/styles_final_036.json
> scripts/gridsearch_configs/styles_final/styles_final_036.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/styles_final/styles_final_037.json
> scripts/gridsearch_configs/styles_final/styles_final_037.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/styles_final/styles_final_038.json
> scripts/gridsearch_configs/styles_final/styles_final_038.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/styles_final/styles_final_039.json
> scripts/gridsearch_configs/styles_final/styles_final_039.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/styles_final/styles_final_040.json
> scripts/gridsearch_configs/styles_final/styles_final_040.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/styles_final/styles_final_041.json
> scripts/gridsearch_configs/styles_final/styles_final_041.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/styles_final/styles_final_042.json
> scripts/gridsearch_configs/styles_final/styles_final_042.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/styles_final/styles_final_043.json
> scripts/gridsearch_configs/styles_final/styles_final_043.log 2>&1 &
nohup python main.py scripts/gridsearch_configs/styles_final/styles_final_044.json
> scripts/gridsearch_configs/styles_final/styles_final_044.log 2>&1 &
+8 -8
View File
@@ -24,8 +24,8 @@ class ModelPaths:
model_paths = ModelPaths()
# Default download urls in case no local model is found:
#SDXL_URL = "https://edenartlab-lfs.s3.amazonaws.com/comfyui/models2/checkpoints/zavychromaxl_v90.safetensors"
SDXL_URL = "https://huggingface.co/RunDiffusion/Juggernaut-XL-v6/resolve/main/juggernautXL_version6Rundiffusion.safetensors"
SDXL_URL = "https://edenartlab-lfs.s3.amazonaws.com/comfyui/models2/checkpoints/zavychromaxl_v90.safetensors"
#SDXL_URL = "https://huggingface.co/RunDiffusion/Juggernaut-XL-v6/resolve/main/juggernautXL_version6Rundiffusion.safetensors"
SD15_URL = "https://huggingface.co/KamCastle/jugg/resolve/main/juggernaut_reborn.safetensors"
pretrained_models = {
@@ -56,7 +56,7 @@ class TrainingConfig(BaseModel):
unet_optimizer_type: Literal["adamw", "prodigy", "AdamW8bit"] = "adamw"
unet_lr_warmup_steps: int = None # slowly increase the learning rate of the adamw unet optimizer
unet_lr: float = 0.001
unet_lr: float = 0.0005
prodigy_d_coef: float = 1.0
unet_prodigy_growth_factor: float = 1.05 # lower values make the lr go up slower (1.01 is for 1k step runs, 1.02 is for 500 step runs)
lora_weight_decay: float = 0.002
@@ -65,14 +65,14 @@ class TrainingConfig(BaseModel):
token_warmup_steps: int = 0 # warmup the token embeddings with a pure txt loss
ti_weight_decay: float = 0.0
ti_optimizer: Literal["adamw", "prodigy"] = "adamw"
freeze_ti_after_completion_f: float = 0.7 # freeze the TI after this fraction of the training is done
freeze_unet_before_completion_f: float = 0.3 # freeze the UNET before this fraction of the training is done
freeze_ti_after_completion_f: float = 0.6 # freeze the TI after this fraction of the training is done
freeze_unet_before_completion_f: float = 0.3 # freeze the UNET before this fraction of the training is done
token_attention_loss_w: float = 2e-7
token_attention_loss_w: float = 3e-7
cond_reg_w: float = 0.0e-5
tok_cond_reg_w: float = 0.0e-5
tok_cov_reg_w: float = 500. # regularizes the token covariance matrix wrt pretrained, normal tokens
l1_penalty: float = 0.01 # Makes the unet lora matrix more sparse
tok_cov_reg_w: float = 0. # regularizes the token covariance matrix wrt pretrained, normal tokens
l1_penalty: float = 0.01 # Makes the unet lora matrix more sparse
noise_offset: float = 0.02 # Noise offset training to improve very dark / very bright images
snr_gamma: float = 5.0