Align toml file content to sd-scripts defaults

pull/2306/head
bmaltais 2024-04-16 21:17:53 -04:00
parent 13b836ad76
commit 8bda4f203c
6 changed files with 128 additions and 110 deletions

View File

@ -98,7 +98,7 @@ class BasicTraining:
step=1,
# precision=0,
minimum=0,
value=self.config.get("basic.max_train_epochs", 0),
value=self.config.get("basic.max_train_epochs", 1600),
)
# Initialize the maximum train steps input
self.max_train_steps = gr.Number(

View File

@ -51,7 +51,7 @@ use_shell = False
PYTHON = sys.executable
TRAIN_BUTTON_VISIBLE = [gr.Button(visible=True), gr.Button(visible=False)]
TRAIN_BUTTON_VISIBLE = [gr.Button(visible=True), gr.Button(visible=False), gr.Textbox(value=time.time())]
def save_configuration(
@ -662,7 +662,7 @@ def train_model(
"save_state_to_huggingface": save_state_to_huggingface,
"resume_from_huggingface": resume_from_huggingface,
"async_upload": async_upload,
"adaptive_noise_scale": adaptive_noise_scale,
"adaptive_noise_scale": adaptive_noise_scale if adaptive_noise_scale != 0 else None,
"bucket_no_upscale": bucket_no_upscale,
"bucket_reso_steps": bucket_reso_steps,
"cache_latents": cache_latents,
@ -670,7 +670,7 @@ def train_model(
"caption_dropout_every_n_epochs": caption_dropout_every_n_epochs,
"caption_dropout_rate": caption_dropout_rate,
"caption_extension": caption_extension,
"clip_skip": int(clip_skip),
"clip_skip": clip_skip if clip_skip != 0 else None,
"color_aug": color_aug,
"dataset_config": dataset_config,
"debiased_estimation_loss": debiased_estimation_loss,
@ -685,13 +685,13 @@ def train_model(
"gradient_checkpointing": gradient_checkpointing,
"huber_c": huber_c,
"huber_schedule": huber_schedule,
"ip_noise_gamma": ip_noise_gamma,
"ip_noise_gamma": ip_noise_gamma if ip_noise_gamma != 0 else None,
"ip_noise_gamma_random_strength": ip_noise_gamma_random_strength,
"keep_tokens": int(keep_tokens),
"learning_rate": learning_rate, # both for sd1.5 and sdxl
"learning_rate_te": learning_rate_te if not sdxl else None, # only for sd1.5
"learning_rate_te1": learning_rate_te1 if sdxl else None, # only for sdxl
"learning_rate_te2": learning_rate_te2 if sdxl else None, # only for sdxl
"learning_rate_te": learning_rate_te if not sdxl and not 0 else None, # only for sd1.5 and not 0
"learning_rate_te1": learning_rate_te1 if sdxl and not 0 else None, # only for sdxl and not 0
"learning_rate_te2": learning_rate_te2 if sdxl and not 0 else None, # only for sdxl and not 0
"logging_dir": logging_dir,
"log_tracker_name": log_tracker_name,
"log_tracker_config": log_tracker_config,
@ -705,10 +705,10 @@ def train_model(
"lr_warmup_steps": lr_warmup_steps,
"max_bucket_reso": max_bucket_reso,
"max_data_loader_n_workers": max_data_loader_n_workers,
"max_timestep": max_timestep,
"max_timestep": max_timestep if max_timestep!= 0 else None,
"max_token_length": int(max_token_length),
"max_train_epochs": max_train_epochs,
"max_train_steps": int(max_train_steps),
"max_train_epochs": max_train_epochs if max_train_epochs != 0 else None,
"max_train_steps": max_train_steps if max_train_steps != 0 else None,
"mem_eff_attn": mem_eff_attn,
"metadata_author": metadata_author,
"metadata_description": metadata_description,
@ -716,13 +716,13 @@ def train_model(
"metadata_tags": metadata_tags,
"metadata_title": metadata_title,
"min_bucket_reso": int(min_bucket_reso),
"min_snr_gamma": min_snr_gamma,
"min_timestep": int(min_timestep),
"min_snr_gamma": min_snr_gamma if min_snr_gamma != 0 else None,
"min_timestep": min_timestep if min_timestep != 0 else None,
"mixed_precision": mixed_precision,
"multires_noise_discount": multires_noise_discount,
"multires_noise_iterations": multires_noise_iterations,
"multires_noise_iterations": multires_noise_iterations if multires_noise_iterations != 0 else None,
"no_token_padding": no_token_padding,
"noise_offset": noise_offset,
"noise_offset": noise_offset if noise_offset != 0 else None,
"noise_offset_random_strength": noise_offset_random_strength,
"noise_offset_type": noise_offset_type,
"optimizer_type": optimizer,
@ -740,31 +740,31 @@ def train_model(
"reg_data_dir": reg_data_dir,
"resolution": max_resolution,
"resume": resume,
"sample_every_n_epochs": sample_every_n_epochs,
"sample_every_n_steps": sample_every_n_steps,
"sample_every_n_epochs": sample_every_n_epochs if sample_every_n_epochs != 0 else None,
"sample_every_n_steps": sample_every_n_steps if sample_every_n_steps != 0 else None,
"sample_prompts": create_prompt_file(output_dir, output_dir),
"sample_sampler": sample_sampler,
"save_every_n_epochs": save_every_n_epochs,
"save_every_n_steps": save_every_n_steps,
"save_last_n_steps": save_last_n_steps,
"save_last_n_steps_state": save_last_n_steps_state,
"save_every_n_epochs": save_every_n_epochs if save_every_n_epochs!= 0 else None,
"save_every_n_steps": save_every_n_steps if save_every_n_steps != 0 else None,
"save_last_n_steps": save_last_n_steps if save_last_n_steps != 0 else None,
"save_last_n_steps_state": save_last_n_steps_state if save_last_n_steps_state != 0 else None,
"save_model_as": save_model_as,
"save_precision": save_precision,
"save_state": save_state,
"save_state_on_train_end": save_state_on_train_end,
"scale_v_pred_loss_like_noise_pred": scale_v_pred_loss_like_noise_pred,
"sdpa": True if xformers == "sdpa" else None,
"seed": int(seed),
"seed": seed if seed != 0 else None,
"shuffle_caption": shuffle_caption,
"stop_text_encoder_training": stop_text_encoder_training,
"stop_text_encoder_training": stop_text_encoder_training if stop_text_encoder_training!= 0 else None,
"train_batch_size": train_batch_size,
"train_data_dir": train_data_dir,
"use_wandb": use_wandb,
"v2": v2,
"v_parameterization": v_parameterization,
"v_pred_like_loss": v_pred_like_loss,
"v_pred_like_loss": v_pred_like_loss if v_pred_like_loss != 0 else None,
"vae": vae,
"vae_batch_size": vae_batch_size,
"vae_batch_size": vae_batch_size if vae_batch_size != 0 else None,
"wandb_api_key": wandb_api_key,
"wandb_run_name": wandb_run_name,
"weighted_captions": weighted_captions,
@ -772,11 +772,11 @@ def train_model(
}
# Given dictionary `config_toml_data`
# Remove all values = ""
# Remove all values = "" and values = False
config_toml_data = {
key: value
for key, value in config_toml_data.items()
if value != "" and value != False
if value != "" and value is not False
}
tmpfilename = "./outputs/tmpfiledbooth.toml"
@ -792,8 +792,7 @@ def train_model(
# Initialize a dictionary with always-included keyword arguments
kwargs_for_training = {
"max_data_loader_n_workers": max_data_loader_n_workers,
"additional_parameters": additional_parameters
"additional_parameters": additional_parameters,
}
# Pass the dynamically constructed keyword arguments to the function

View File

@ -56,7 +56,7 @@ document_symbol = "\U0001F4C4" # 📄
PYTHON = sys.executable
presets_dir = rf"{scriptdir}/presets"
TRAIN_BUTTON_VISIBLE = [gr.Button(visible=True), gr.Button(visible=False)]
TRAIN_BUTTON_VISIBLE = [gr.Button(visible=True), gr.Button(visible=False), gr.Textbox(value=time.time())]
def save_configuration(
@ -735,7 +735,7 @@ def train_model(
"save_state_to_huggingface": save_state_to_huggingface,
"resume_from_huggingface": resume_from_huggingface,
"async_upload": async_upload,
"adaptive_noise_scale": adaptive_noise_scale,
"adaptive_noise_scale": adaptive_noise_scale if adaptive_noise_scale != 0 else None,
"block_lr": block_lr,
"bucket_no_upscale": bucket_no_upscale,
"bucket_reso_steps": bucket_reso_steps,
@ -745,7 +745,7 @@ def train_model(
"caption_dropout_every_n_epochs": caption_dropout_every_n_epochs,
"caption_dropout_rate": caption_dropout_rate,
"caption_extension": caption_extension,
"clip_skip": int(clip_skip),
"clip_skip": clip_skip if clip_skip != 0 else None,
"color_aug": color_aug,
"dataset_config": dataset_config,
"dataset_repeats": int(dataset_repeats),
@ -761,7 +761,7 @@ def train_model(
"huber_c": huber_c,
"huber_schedule": huber_schedule,
"in_json": in_json,
"ip_noise_gamma": ip_noise_gamma,
"ip_noise_gamma": ip_noise_gamma if ip_noise_gamma != 0 else None,
"ip_noise_gamma_random_strength": ip_noise_gamma_random_strength,
"keep_tokens": int(keep_tokens),
"learning_rate": learning_rate, # both for sd1.5 and sdxl
@ -783,10 +783,10 @@ def train_model(
"lr_warmup_steps": lr_warmup_steps,
"max_bucket_reso": int(max_bucket_reso),
"max_data_loader_n_workers": max_data_loader_n_workers,
"max_timestep": max_timestep,
"max_timestep": max_timestep if max_timestep!= 0 else None,
"max_token_length": int(max_token_length),
"max_train_epochs": max_train_epochs,
"max_train_steps": int(max_train_steps),
"max_train_epochs": max_train_epochs if max_train_epochs != 0 else None,
"max_train_steps": max_train_steps if max_train_steps != 0 else None,
"mem_eff_attn": mem_eff_attn,
"metadata_author": metadata_author,
"metadata_description": metadata_description,
@ -794,13 +794,13 @@ def train_model(
"metadata_tags": metadata_tags,
"metadata_title": metadata_title,
"min_bucket_reso": int(min_bucket_reso),
"min_snr_gamma": min_snr_gamma,
"min_timestep": int(min_timestep),
"min_snr_gamma": min_snr_gamma if min_snr_gamma != 0 else None,
"min_timestep": min_timestep if min_timestep != 0 else None,
"mixed_precision": mixed_precision,
"multires_noise_discount": multires_noise_discount,
"multires_noise_iterations": multires_noise_iterations,
"multires_noise_iterations": multires_noise_iterations if multires_noise_iterations != 0 else None,
"no_half_vae": no_half_vae,
"noise_offset": noise_offset,
"noise_offset": noise_offset if noise_offset != 0 else None,
"noise_offset_random_strength": noise_offset_random_strength,
"noise_offset_type": noise_offset_type,
"optimizer_type": optimizer,
@ -812,21 +812,21 @@ def train_model(
"random_crop": random_crop,
"resolution": max_resolution,
"resume": resume,
"sample_every_n_epochs": sample_every_n_epochs,
"sample_every_n_steps": sample_every_n_steps,
"sample_every_n_epochs": sample_every_n_epochs if sample_every_n_epochs != 0 else None,
"sample_every_n_steps": sample_every_n_steps if sample_every_n_steps != 0 else None,
"sample_prompts": create_prompt_file(output_dir, output_dir),
"sample_sampler": sample_sampler,
"save_every_n_epochs": save_every_n_epochs,
"save_every_n_steps": save_every_n_steps,
"save_last_n_steps": save_last_n_steps,
"save_last_n_steps_state": save_last_n_steps_state,
"save_every_n_epochs": save_every_n_epochs if save_every_n_epochs!= 0 else None,
"save_every_n_steps": save_every_n_steps if save_every_n_steps != 0 else None,
"save_last_n_steps": save_last_n_steps if save_last_n_steps != 0 else None,
"save_last_n_steps_state": save_last_n_steps_state if save_last_n_steps_state != 0 else None,
"save_model_as": save_model_as,
"save_precision": save_precision,
"save_state": save_state,
"save_state_on_train_end": save_state_on_train_end,
"scale_v_pred_loss_like_noise_pred": scale_v_pred_loss_like_noise_pred,
"sdpa": True if xformers == "sdpa" else None,
"seed": int(seed),
"seed": seed if seed != 0 else None,
"shuffle_caption": shuffle_caption,
"train_batch_size": train_batch_size,
"train_data_dir": image_folder,
@ -834,8 +834,8 @@ def train_model(
"use_wandb": use_wandb,
"v2": v2,
"v_parameterization": v_parameterization,
"v_pred_like_loss": v_pred_like_loss,
"vae_batch_size": vae_batch_size,
"v_pred_like_loss": v_pred_like_loss if v_pred_like_loss != 0 else None,
"vae_batch_size": vae_batch_size if vae_batch_size != 0 else None,
"wandb_api_key": wandb_api_key,
"wandb_run_name": wandb_run_name,
"weighted_captions": weighted_captions,
@ -847,7 +847,7 @@ def train_model(
config_toml_data = {
key: value
for key, value in config_toml_data.items()
if value != "" and value != False
if value != "" and value is not False
}
tmpfilename = "./outputs/tmpfilefinetune.toml"
@ -863,7 +863,6 @@ def train_model(
# Initialize a dictionary with always-included keyword arguments
kwargs_for_training = {
"max_data_loader_n_workers": max_data_loader_n_workers,
"additional_parameters": additional_parameters,
}

View File

@ -62,7 +62,7 @@ document_symbol = "\U0001F4C4" # 📄
presets_dir = rf"{scriptdir}/presets"
TRAIN_BUTTON_VISIBLE = [gr.Button(visible=True), gr.Button(visible=False)]
TRAIN_BUTTON_VISIBLE = [gr.Button(visible=True), gr.Button(visible=False), gr.Textbox(value=time.time())]
def update_network_args_with_kohya_lora_vars(
@ -1023,7 +1023,7 @@ def train_model(
"save_state_to_huggingface": save_state_to_huggingface,
"resume_from_huggingface": resume_from_huggingface,
"async_upload": async_upload,
"adaptive_noise_scale": adaptive_noise_scale,
"adaptive_noise_scale": adaptive_noise_scale if adaptive_noise_scale != 0 else None,
"bucket_no_upscale": bucket_no_upscale,
"bucket_reso_steps": bucket_reso_steps,
"cache_latents": cache_latents,
@ -1034,7 +1034,7 @@ def train_model(
"caption_dropout_every_n_epochs": caption_dropout_every_n_epochs,
"caption_dropout_rate": caption_dropout_rate,
"caption_extension": caption_extension,
"clip_skip": int(clip_skip),
"clip_skip": clip_skip if clip_skip != 0 else None,
"color_aug": color_aug,
"dataset_config": dataset_config,
"debiased_estimation_loss": debiased_estimation_loss,
@ -1051,7 +1051,7 @@ def train_model(
"gradient_checkpointing": gradient_checkpointing,
"huber_c": huber_c,
"huber_schedule": huber_schedule,
"ip_noise_gamma": ip_noise_gamma,
"ip_noise_gamma": ip_noise_gamma if ip_noise_gamma != 0 else None,
"ip_noise_gamma_random_strength": ip_noise_gamma_random_strength,
"keep_tokens": int(keep_tokens),
"learning_rate": learning_rate,
@ -1070,10 +1070,10 @@ def train_model(
"max_bucket_reso": max_bucket_reso,
"max_data_loader_n_workers": max_data_loader_n_workers,
"max_grad_norm": max_grad_norm,
"max_timestep": max_timestep,
"max_timestep": max_timestep if max_timestep!= 0 else None,
"max_token_length": int(max_token_length),
"max_train_epochs": max_train_epochs,
"max_train_steps": int(max_train_steps),
"max_train_epochs": max_train_epochs if max_train_epochs != 0 else None,
"max_train_steps": max_train_steps if max_train_steps != 0 else None,
"mem_eff_attn": mem_eff_attn,
"metadata_author": metadata_author,
"metadata_description": metadata_description,
@ -1081,11 +1081,11 @@ def train_model(
"metadata_tags": metadata_tags,
"metadata_title": metadata_title,
"min_bucket_reso": int(min_bucket_reso),
"min_snr_gamma": min_snr_gamma,
"min_timestep": int(min_timestep),
"min_snr_gamma": min_snr_gamma if min_snr_gamma != 0 else None,
"min_timestep": min_timestep if min_timestep != 0 else None,
"mixed_precision": mixed_precision,
"multires_noise_discount": multires_noise_discount,
"multires_noise_iterations": multires_noise_iterations,
"multires_noise_iterations": multires_noise_iterations if multires_noise_iterations != 0 else None,
"network_alpha": network_alpha,
"network_args": str(network_args).replace('"', "").split(),
"network_dim": network_dim,
@ -1094,7 +1094,7 @@ def train_model(
"network_train_unet_only": network_train_unet_only,
"network_train_text_encoder_only": network_train_text_encoder_only,
"no_half_vae": True if sdxl and sdxl_no_half_vae else None,
"noise_offset": noise_offset,
"noise_offset": noise_offset if noise_offset != 0 else None,
"noise_offset_random_strength": noise_offset_random_strength,
"noise_offset_type": noise_offset_type,
"optimizer_type": optimizer,
@ -1108,14 +1108,14 @@ def train_model(
"reg_data_dir": reg_data_dir,
"resolution": max_resolution,
"resume": resume,
"sample_every_n_epochs": sample_every_n_epochs,
"sample_every_n_steps": sample_every_n_steps,
"sample_every_n_epochs": sample_every_n_epochs if sample_every_n_epochs != 0 else None,
"sample_every_n_steps": sample_every_n_steps if sample_every_n_steps != 0 else None,
"sample_prompts": create_prompt_file(output_dir, output_dir),
"sample_sampler": sample_sampler,
"save_every_n_epochs": save_every_n_epochs,
"save_every_n_steps": save_every_n_steps,
"save_last_n_steps": save_last_n_steps,
"save_last_n_steps_state": save_last_n_steps_state,
"save_every_n_epochs": save_every_n_epochs if save_every_n_epochs!= 0 else None,
"save_every_n_steps": save_every_n_steps if save_every_n_steps != 0 else None,
"save_last_n_steps": save_last_n_steps if save_last_n_steps != 0 else None,
"save_last_n_steps_state": save_last_n_steps_state if save_last_n_steps_state != 0 else None,
"save_model_as": save_model_as,
"save_precision": save_precision,
"save_state": save_state,
@ -1123,20 +1123,20 @@ def train_model(
"scale_v_pred_loss_like_noise_pred": scale_v_pred_loss_like_noise_pred,
"scale_weight_norms": scale_weight_norms,
"sdpa": True if xformers == "sdpa" else None,
"seed": int(seed),
"seed": seed if seed != 0 else None,
"shuffle_caption": shuffle_caption,
"stop_text_encoder_training": stop_text_encoder_training,
"text_encoder_lr": text_encoder_lr,
"stop_text_encoder_training": stop_text_encoder_training if stop_text_encoder_training!= 0 else None,
"text_encoder_lr": text_encoder_lr if not 0 else None,
"train_batch_size": train_batch_size,
"train_data_dir": train_data_dir,
"training_comment": training_comment,
"unet_lr": unet_lr,
"unet_lr": unet_lr if not 0 else None,
"use_wandb": use_wandb,
"v2": v2,
"v_parameterization": v_parameterization,
"v_pred_like_loss": v_pred_like_loss,
"v_pred_like_loss": v_pred_like_loss if v_pred_like_loss != 0 else None,
"vae": vae,
"vae_batch_size": vae_batch_size,
"vae_batch_size": vae_batch_size if vae_batch_size != 0 else None,
"wandb_api_key": wandb_api_key,
"wandb_run_name": wandb_run_name,
"weighted_captions": weighted_captions,
@ -1148,7 +1148,7 @@ def train_model(
config_toml_data = {
key: value
for key, value in config_toml_data.items()
if value != "" and value != False
if value != "" and value is not False
}
tmpfilename = "./outputs/tmpfilelora.toml"
@ -1164,7 +1164,6 @@ def train_model(
# Define a dictionary of parameters
run_cmd_params = {
"max_data_loader_n_workers": max_data_loader_n_workers,
"additional_parameters": additional_parameters,
}

View File

@ -51,7 +51,7 @@ executor = CommandExecutor()
huggingface = None
use_shell = False
TRAIN_BUTTON_VISIBLE = [gr.Button(visible=True), gr.Button(visible=False)]
TRAIN_BUTTON_VISIBLE = [gr.Button(visible=True), gr.Button(visible=False), gr.Textbox(value=time.time())]
def save_configuration(
@ -686,14 +686,14 @@ def train_model(
"save_state_to_huggingface": save_state_to_huggingface,
"resume_from_huggingface": resume_from_huggingface,
"async_upload": async_upload,
"adaptive_noise_scale": adaptive_noise_scale,
"adaptive_noise_scale": adaptive_noise_scale if adaptive_noise_scale != 0 else None,
"bucket_no_upscale": bucket_no_upscale,
"bucket_reso_steps": bucket_reso_steps,
"cache_latents": cache_latents,
"cache_latents_to_disk": cache_latents_to_disk,
"caption_dropout_every_n_epochs": caption_dropout_every_n_epochs,
"caption_extension": caption_extension,
"clip_skip": int(clip_skip),
"clip_skip": clip_skip if clip_skip != 0 else None,
"color_aug": color_aug,
"dataset_config": dataset_config,
"dynamo_backend": dynamo_backend,
@ -706,7 +706,7 @@ def train_model(
"huber_c": huber_c,
"huber_schedule": huber_schedule,
"init_word": init_word,
"ip_noise_gamma": ip_noise_gamma,
"ip_noise_gamma": ip_noise_gamma if ip_noise_gamma != 0 else None,
"ip_noise_gamma_random_strength": ip_noise_gamma_random_strength,
"keep_tokens": int(keep_tokens),
"learning_rate": learning_rate,
@ -723,10 +723,10 @@ def train_model(
"lr_warmup_steps": lr_warmup_steps,
"max_bucket_reso": max_bucket_reso,
"max_data_loader_n_workers": max_data_loader_n_workers,
"max_timestep": max_timestep,
"max_timestep": max_timestep if max_timestep!= 0 else None,
"max_token_length": int(max_token_length),
"max_train_epochs": max_train_epochs,
"max_train_steps": int(max_train_steps),
"max_train_epochs": max_train_epochs if max_train_epochs != 0 else None,
"max_train_steps": max_train_steps if max_train_steps != 0 else None,
"mem_eff_attn": mem_eff_attn,
"metadata_author": metadata_author,
"metadata_description": metadata_description,
@ -734,14 +734,14 @@ def train_model(
"metadata_tags": metadata_tags,
"metadata_title": metadata_title,
"min_bucket_reso": int(min_bucket_reso),
"min_snr_gamma": min_snr_gamma,
"min_timestep": int(min_timestep),
"min_snr_gamma": min_snr_gamma if min_snr_gamma != 0 else None,
"min_timestep": min_timestep if min_timestep != 0 else None,
"mixed_precision": mixed_precision,
"multires_noise_discount": multires_noise_discount,
"multires_noise_iterations": multires_noise_iterations,
"multires_noise_iterations": multires_noise_iterations if multires_noise_iterations != 0 else None,
"no_half_vae": sdxl_no_half_vae,
"no_token_padding": no_token_padding,
"noise_offset": noise_offset,
"noise_offset": noise_offset if noise_offset != 0 else None,
"noise_offset_random_strength": noise_offset_random_strength,
"noise_offset_type": noise_offset_type,
"num_vectors_per_token": int(num_vectors_per_token),
@ -756,32 +756,32 @@ def train_model(
"reg_data_dir": reg_data_dir,
"resolution": max_resolution,
"resume": resume,
"sample_every_n_epochs": sample_every_n_epochs,
"sample_every_n_steps": sample_every_n_steps,
"sample_every_n_epochs": sample_every_n_epochs if sample_every_n_epochs != 0 else None,
"sample_every_n_steps": sample_every_n_steps if sample_every_n_steps != 0 else None,
"sample_prompts": create_prompt_file(output_dir, output_dir),
"sample_sampler": sample_sampler,
"save_every_n_epochs": save_every_n_epochs,
"save_every_n_steps": save_every_n_steps,
"save_last_n_steps": save_last_n_steps,
"save_last_n_steps_state": save_last_n_steps_state,
"save_every_n_epochs": save_every_n_epochs if save_every_n_epochs!= 0 else None,
"save_every_n_steps": save_every_n_steps if save_every_n_steps != 0 else None,
"save_last_n_steps": save_last_n_steps if save_last_n_steps != 0 else None,
"save_last_n_steps_state": save_last_n_steps_state if save_last_n_steps_state != 0 else None,
"save_model_as": save_model_as,
"save_precision": save_precision,
"save_state": save_state,
"save_state_on_train_end": save_state_on_train_end,
"scale_v_pred_loss_like_noise_pred": scale_v_pred_loss_like_noise_pred,
"sdpa": True if xformers == "sdpa" else None,
"seed": int(seed),
"seed": seed if seed != 0 else None,
"shuffle_caption": shuffle_caption,
"stop_text_encoder_training": stop_text_encoder_training,
"stop_text_encoder_training": stop_text_encoder_training if stop_text_encoder_training!= 0 else None,
"token_string": token_string,
"train_batch_size": train_batch_size,
"train_data_dir": train_data_dir,
"use_wandb": use_wandb,
"v2": v2,
"v_parameterization": v_parameterization,
"v_pred_like_loss": v_pred_like_loss,
"v_pred_like_loss": v_pred_like_loss if v_pred_like_loss != 0 else None,
"vae": vae,
"vae_batch_size": vae_batch_size,
"vae_batch_size": vae_batch_size if vae_batch_size != 0 else None,
"wandb_api_key": wandb_api_key,
"wandb_run_name": wandb_run_name,
"weigts": weights,
@ -795,7 +795,7 @@ def train_model(
config_toml_data = {
key: value
for key, value in config_toml_data.items()
if value != "" and value != False
if value != "" and value is not False
}
tmpfilename = "./outputs/tmpfileti.toml"
@ -811,7 +811,6 @@ def train_model(
# Initialize a dictionary with always-included keyword arguments
kwargs_for_training = {
"max_data_loader_n_workers": max_data_loader_n_workers,
"additional_parameters": additional_parameters,
}

View File

@ -3,6 +3,7 @@
"LyCORIS_preset": "full",
"adaptive_noise_scale": 0.005,
"additional_parameters": "",
"async_upload": false,
"block_alphas": "",
"block_dims": "",
"block_lr_zero_threshold": "",
@ -11,12 +12,12 @@
"bypass_mode": false,
"cache_latents": true,
"cache_latents_to_disk": false,
"caption_dropout_every_n_epochs": 0.0,
"caption_dropout_every_n_epochs": 0,
"caption_dropout_rate": 0.05,
"caption_extension": "",
"clip_skip": 2,
"color_aug": false,
"constrain": 0.0,
"constrain": 0,
"conv_alpha": 8,
"conv_block_alphas": "",
"conv_block_dims": "",
@ -27,8 +28,13 @@
"dim_from_weights": false,
"dora_wd": false,
"down_lr_weight": "",
"dynamo_backend": "no",
"dynamo_mode": "default",
"dynamo_use_dynamic": false,
"dynamo_use_fullgraph": false,
"enable_bucket": true,
"epoch": 8,
"extra_accelerate_launch_args": "",
"factor": -1,
"flip_aug": false,
"fp8_base": false,
@ -37,30 +43,43 @@
"gpu_ids": "",
"gradient_accumulation_steps": 1,
"gradient_checkpointing": false,
"huber_c": 0.1,
"huber_schedule": "snr",
"huggingface_path_in_repo": "",
"huggingface_repo_id": "",
"huggingface_repo_type": "",
"huggingface_repo_visibility": "",
"huggingface_token": "",
"ip_noise_gamma": 0.1,
"ip_noise_gamma_random_strength": true,
"keep_tokens": "0",
"keep_tokens": 0,
"learning_rate": 0.0005,
"log_tracker_config": "",
"log_tracker_name": "",
"logging_dir": "./test/logs",
"lora_network_weights": "",
"loss_type": "l2",
"lr_scheduler": "constant",
"lr_scheduler_args": "",
"lr_scheduler_num_cycles": "",
"lr_scheduler_power": "",
"lr_scheduler_num_cycles": 1,
"lr_scheduler_power": 1,
"lr_warmup": 0,
"main_process_port": 0,
"masked_loss": false,
"max_bucket_reso": 2048,
"max_data_loader_n_workers": "0",
"max_data_loader_n_workers": 0,
"max_grad_norm": 1,
"max_resolution": "512,512",
"max_timestep": 1000,
"max_token_length": "75",
"max_train_epochs": "",
"max_train_steps": "",
"max_token_length": 75,
"max_train_epochs": 0,
"max_train_steps": 0,
"mem_eff_attn": false,
"metadata_author": "",
"metadata_description": "",
"metadata_license": "",
"metadata_tags": "",
"metadata_title": "",
"mid_lr_weight": "",
"min_bucket_reso": 256,
"min_snr_gamma": 0,
@ -86,17 +105,19 @@
"output_name": "locon-AdamW8bit",
"persistent_data_loader_workers": false,
"pretrained_model_name_or_path": "runwayml/stable-diffusion-v1-5",
"prior_loss_weight": 1.0,
"prior_loss_weight": 1,
"random_crop": false,
"rank_dropout": 0.1,
"rank_dropout_scale": false,
"reg_data_dir": "",
"rescaled": false,
"resume": "",
"resume_from_huggingface": "",
"sample_every_n_epochs": 0,
"sample_every_n_steps": 25,
"sample_prompts": "a painting of a gas mask , by darius kawasaki",
"sample_sampler": "euler_a",
"save_as_bool": false,
"save_every_n_epochs": 1,
"save_every_n_steps": 0,
"save_last_n_steps": 0,
@ -105,12 +126,13 @@
"save_precision": "fp16",
"save_state": false,
"save_state_on_train_end": false,
"save_state_to_huggingface": false,
"scale_v_pred_loss_like_noise_pred": false,
"scale_weight_norms": 1,
"sdxl": false,
"sdxl_cache_text_encoder_outputs": false,
"sdxl_no_half_vae": true,
"seed": "1234",
"seed": 1234,
"shuffle_caption": false,
"stop_text_encoder_training": 0,
"text_encoder_lr": 0.0001,