mirror of https://github.com/bmaltais/kohya_ss
Upgrade Gradio release
parent
49c34a0ac2
commit
fd8bfa8a39
|
|
@ -42,6 +42,7 @@ The GUI allows you to set the training parameters and generate and run the requi
|
|||
- [SDXL training](#sdxl-training)
|
||||
- [Masked loss](#masked-loss)
|
||||
- [Change History](#change-history)
|
||||
- [2024/04/10 (v23.1.5)](#20240410-v2315)
|
||||
- [2024/04/08 (v23.1.4)](#20240408-v2314)
|
||||
- [2024/04/08 (v23.1.3)](#20240408-v2313)
|
||||
- [2024/04/08 (v23.1.2)](#20240408-v2312)
|
||||
|
|
@ -407,6 +408,11 @@ ControlNet dataset is used to specify the mask. The mask images should be the RG
|
|||
|
||||
## Change History
|
||||
|
||||
### 2024/04/10 (v23.1.5)
|
||||
|
||||
- Fix issue with Textual Inversion configuration file selection.
|
||||
- Upgrade to gradio 4.19.2 to fix several high security risks associated to earlier versions. Hoping this will not introduce undorseen issues.
|
||||
|
||||
### 2024/04/08 (v23.1.4)
|
||||
|
||||
- Relocate config accordion to the top of the GUI.
|
||||
|
|
|
|||
|
|
@ -332,7 +332,7 @@ def gradio_blip2_caption_gui_tab(headless=False, directory_path=None):
|
|||
)
|
||||
|
||||
top_p = gr.Slider(
|
||||
minimum=-0,
|
||||
minimum=0,
|
||||
maximum=1,
|
||||
value=0.9,
|
||||
step=0.1,
|
||||
|
|
|
|||
|
|
@ -19,9 +19,9 @@ class BasicTraining:
|
|||
def __init__(
|
||||
self,
|
||||
sdxl_checkbox: gr.Checkbox,
|
||||
learning_rate_value: str = "1e-6",
|
||||
learning_rate_value: float = "1e-6",
|
||||
lr_scheduler_value: str = "constant",
|
||||
lr_warmup_value: str = "0",
|
||||
lr_warmup_value: float = "0",
|
||||
finetuning: bool = False,
|
||||
dreambooth: bool = False,
|
||||
config: dict = {},
|
||||
|
|
|
|||
|
|
@ -257,7 +257,7 @@ class SourceModel:
|
|||
min_width=60,
|
||||
)
|
||||
with gr.Column():
|
||||
gr.Box(visible=False)
|
||||
gr.Group(visible=False)
|
||||
|
||||
with gr.Row():
|
||||
self.training_comment = gr.Textbox(
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ PYTHON = sys.executable
|
|||
|
||||
|
||||
def save_configuration(
|
||||
save_as,
|
||||
save_as_bool,
|
||||
file_path,
|
||||
pretrained_model_name_or_path,
|
||||
v2,
|
||||
|
|
@ -160,8 +160,6 @@ def save_configuration(
|
|||
|
||||
original_file_path = file_path
|
||||
|
||||
save_as_bool = True if save_as.get("label") == "True" else False
|
||||
|
||||
if save_as_bool:
|
||||
log.info("Save as...")
|
||||
file_path = get_saveasfile_path(file_path)
|
||||
|
|
@ -301,8 +299,6 @@ def open_configuration(
|
|||
# Get list of function parameters and values
|
||||
parameters = list(locals().items())
|
||||
|
||||
ask_for_file = True if ask_for_file.get("label") == "True" else False
|
||||
|
||||
original_file_path = file_path
|
||||
|
||||
if ask_for_file:
|
||||
|
|
@ -740,8 +736,8 @@ def dreambooth_tab(
|
|||
headless=False,
|
||||
config: KohyaSSGUIConfig = {},
|
||||
):
|
||||
dummy_db_true = gr.Label(value=True, visible=False)
|
||||
dummy_db_false = gr.Label(value=False, visible=False)
|
||||
dummy_db_true = gr.Checkbox(value=True, visible=False)
|
||||
dummy_db_false = gr.Checkbox(value=False, visible=False)
|
||||
dummy_headless = gr.Label(value=headless, visible=False)
|
||||
|
||||
with gr.Tab("Training"), gr.Column(variant="compact"):
|
||||
|
|
@ -764,9 +760,9 @@ def dreambooth_tab(
|
|||
with gr.Accordion("Basic", open="True"):
|
||||
with gr.Group(elem_id="basic_tab"):
|
||||
basic_training = BasicTraining(
|
||||
learning_rate_value="1e-5",
|
||||
learning_rate_value=1e-5,
|
||||
lr_scheduler_value="cosine",
|
||||
lr_warmup_value="10",
|
||||
lr_warmup_value=10,
|
||||
dreambooth=True,
|
||||
sdxl_checkbox=source_model.sdxl_checkbox,
|
||||
config=config,
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ presets_dir = rf"{scriptdir}/presets"
|
|||
|
||||
|
||||
def save_configuration(
|
||||
save_as,
|
||||
save_as_bool,
|
||||
file_path,
|
||||
pretrained_model_name_or_path,
|
||||
v2,
|
||||
|
|
@ -170,8 +170,6 @@ def save_configuration(
|
|||
|
||||
original_file_path = file_path
|
||||
|
||||
save_as_bool = True if save_as.get("label") == "True" else False
|
||||
|
||||
if save_as_bool:
|
||||
log.info("Save as...")
|
||||
file_path = get_saveasfile_path(file_path)
|
||||
|
|
@ -319,9 +317,6 @@ def open_configuration(
|
|||
# Get list of function parameters and values
|
||||
parameters = list(locals().items())
|
||||
|
||||
ask_for_file = True if ask_for_file.get("label") == "True" else False
|
||||
apply_preset = True if apply_preset.get("label") == "True" else False
|
||||
|
||||
# Check if we are "applying" a preset or a config
|
||||
if apply_preset:
|
||||
log.info(f"Applying preset {training_preset}...")
|
||||
|
|
@ -764,8 +759,8 @@ def train_model(
|
|||
|
||||
|
||||
def finetune_tab(headless=False, config: dict = {}):
|
||||
dummy_db_true = gr.Label(value=True, visible=False)
|
||||
dummy_db_false = gr.Label(value=False, visible=False)
|
||||
dummy_db_true = gr.Checkbox(value=True, visible=False)
|
||||
dummy_db_false = gr.Checkbox(value=False, visible=False)
|
||||
dummy_headless = gr.Label(value=headless, visible=False)
|
||||
with gr.Tab("Training"), gr.Column(variant="compact"):
|
||||
gr.Markdown("Train a custom model using kohya finetune python code...")
|
||||
|
|
@ -818,7 +813,7 @@ def finetune_tab(headless=False, config: dict = {}):
|
|||
with gr.Accordion("Basic", open="True"):
|
||||
with gr.Group(elem_id="basic_tab"):
|
||||
basic_training = BasicTraining(
|
||||
learning_rate_value="1e-5",
|
||||
learning_rate_value=1e-5,
|
||||
finetuning=True,
|
||||
sdxl_checkbox=source_model.sdxl_checkbox,
|
||||
config=config,
|
||||
|
|
@ -837,7 +832,7 @@ def finetune_tab(headless=False, config: dict = {}):
|
|||
with gr.Row():
|
||||
gradient_accumulation_steps = gr.Number(
|
||||
label="Gradient accumulate steps",
|
||||
value="1",
|
||||
value=1,
|
||||
)
|
||||
block_lr = gr.Textbox(
|
||||
label="Block LR (SDXL)",
|
||||
|
|
|
|||
|
|
@ -146,7 +146,7 @@ def gradio_group_images_gui_tab(headless=False):
|
|||
group_size = gr.Slider(
|
||||
label="Group size",
|
||||
info="Number of images to group together",
|
||||
value="4",
|
||||
value=4,
|
||||
minimum=1,
|
||||
maximum=64,
|
||||
step=1,
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@ def update_network_args_with_kohya_lora_vars(
|
|||
|
||||
|
||||
def save_configuration(
|
||||
save_as,
|
||||
save_as_bool,
|
||||
file_path,
|
||||
pretrained_model_name_or_path,
|
||||
v2,
|
||||
|
|
@ -233,9 +233,6 @@ def save_configuration(
|
|||
|
||||
original_file_path = file_path
|
||||
|
||||
# Determine whether to save as a new file or overwrite the existing file
|
||||
save_as_bool = True if save_as.get("label") == "True" else False
|
||||
|
||||
# If saving as a new file, get the file path for saving
|
||||
if save_as_bool:
|
||||
log.info("Save as...")
|
||||
|
|
@ -423,12 +420,6 @@ def open_configuration(
|
|||
# Get list of function parameters and values
|
||||
parameters = list(locals().items())
|
||||
|
||||
# Convert 'ask_for_file' and 'apply_preset' from string to boolean based on their 'label' value
|
||||
# This corrects a critical oversight in the original code, where `.get("label")` method calls were
|
||||
# made on boolean variables instead of dictionaries
|
||||
ask_for_file = True if ask_for_file.get("label") == "True" else False
|
||||
apply_preset = True if apply_preset.get("label") == "True" else False
|
||||
|
||||
# Determines if a preset configuration is being applied
|
||||
if apply_preset:
|
||||
if training_preset != "none":
|
||||
|
|
@ -1091,8 +1082,8 @@ def lora_tab(
|
|||
headless=False,
|
||||
config: dict = {},
|
||||
):
|
||||
dummy_db_true = gr.Label(value=True, visible=False)
|
||||
dummy_db_false = gr.Label(value=False, visible=False)
|
||||
dummy_db_true = gr.Checkbox(value=True, visible=False)
|
||||
dummy_db_false = gr.Checkbox(value=False, visible=False)
|
||||
dummy_headless = gr.Label(value=headless, visible=False)
|
||||
|
||||
with gr.Tab("Training"), gr.Column(variant="compact") as tab:
|
||||
|
|
@ -1210,9 +1201,9 @@ def lora_tab(
|
|||
info="Automatically determine the dim(rank) from the weight file.",
|
||||
)
|
||||
basic_training = BasicTraining(
|
||||
learning_rate_value="0.0001",
|
||||
learning_rate_value=0.0001,
|
||||
lr_scheduler_value="cosine",
|
||||
lr_warmup_value="10",
|
||||
lr_warmup_value=10,
|
||||
sdxl_checkbox=source_model.sdxl_checkbox,
|
||||
config=config,
|
||||
)
|
||||
|
|
@ -1220,7 +1211,7 @@ def lora_tab(
|
|||
with gr.Row():
|
||||
text_encoder_lr = gr.Number(
|
||||
label="Text Encoder learning rate",
|
||||
value="0.0001",
|
||||
value=0.0001,
|
||||
info="(Optional)",
|
||||
minimum=0,
|
||||
maximum=1,
|
||||
|
|
@ -1228,7 +1219,7 @@ def lora_tab(
|
|||
|
||||
unet_lr = gr.Number(
|
||||
label="Unet learning rate",
|
||||
value="0.0001",
|
||||
value=0.0001,
|
||||
info="(Optional)",
|
||||
minimum=0,
|
||||
maximum=1,
|
||||
|
|
@ -1286,7 +1277,7 @@ def lora_tab(
|
|||
visible=False,
|
||||
)
|
||||
constrain = gr.Number(
|
||||
value="0.0",
|
||||
value=0.0,
|
||||
label="Constrain OFT",
|
||||
info="Limits the norm of the oft_blocks, ensuring that their magnitude does not exceed a specified threshold, thus controlling the extent of the transformation applied.",
|
||||
visible=False,
|
||||
|
|
|
|||
|
|
@ -269,8 +269,8 @@ def gradio_manual_caption_gui_tab(headless=False, default_images_dir=None):
|
|||
|
||||
with gr.Tab("Manual Captioning"):
|
||||
gr.Markdown("This utility allows quick captioning and tagging of images.")
|
||||
page = gr.Number(-1, visible=False)
|
||||
max_page = gr.Number(1, visible=False)
|
||||
page = gr.Number(value=-1, visible=False)
|
||||
max_page = gr.Number(value=1, visible=False)
|
||||
loaded_images_dir = gr.Text(visible=False)
|
||||
with gr.Group(), gr.Row():
|
||||
images_dir = gr.Dropdown(
|
||||
|
|
@ -336,7 +336,7 @@ def gradio_manual_caption_gui_tab(headless=False, default_images_dir=None):
|
|||
def render_pagination():
|
||||
gr.Button("< Prev", elem_id="open_folder").click(
|
||||
paginate,
|
||||
inputs=[page, max_page, gr.Number(-1, visible=False)],
|
||||
inputs=[page, max_page, gr.Number(value=-1, visible=False)],
|
||||
outputs=[page],
|
||||
)
|
||||
page_count = gr.Label("Page 1", label="Page")
|
||||
|
|
@ -352,7 +352,7 @@ def gradio_manual_caption_gui_tab(headless=False, default_images_dir=None):
|
|||
)
|
||||
gr.Button("Next >", elem_id="open_folder").click(
|
||||
paginate,
|
||||
inputs=[page, max_page, gr.Number(1, visible=False)],
|
||||
inputs=[page, max_page, gr.Number(value=1, visible=False)],
|
||||
outputs=[page],
|
||||
)
|
||||
return page_count
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ executor = CommandExecutor()
|
|||
|
||||
|
||||
def save_configuration(
|
||||
save_as,
|
||||
save_as_bool,
|
||||
file_path,
|
||||
pretrained_model_name_or_path,
|
||||
v2,
|
||||
|
|
@ -159,8 +159,6 @@ def save_configuration(
|
|||
|
||||
original_file_path = file_path
|
||||
|
||||
save_as_bool = True if save_as.get("label") == "True" else False
|
||||
|
||||
if save_as_bool:
|
||||
log.info("Save as...")
|
||||
file_path = get_saveasfile_path(file_path)
|
||||
|
|
@ -301,8 +299,6 @@ def open_configuration(
|
|||
# Get list of function parameters and values
|
||||
parameters = list(locals().items())
|
||||
|
||||
ask_for_file = True if ask_for_file.get("label") == "True" else False
|
||||
|
||||
original_file_path = file_path
|
||||
|
||||
if ask_for_file:
|
||||
|
|
@ -710,8 +706,8 @@ def train_model(
|
|||
|
||||
|
||||
def ti_tab(headless=False, default_output_dir=None, config: dict = {}):
|
||||
dummy_db_true = gr.Label(value=True, visible=False)
|
||||
dummy_db_false = gr.Label(value=False, visible=False)
|
||||
dummy_db_true = gr.Checkbox(value=True, visible=False)
|
||||
dummy_db_false = gr.Checkbox(value=False, visible=False)
|
||||
dummy_headless = gr.Label(value=headless, visible=False)
|
||||
|
||||
current_embedding_dir = (
|
||||
|
|
@ -725,7 +721,7 @@ def ti_tab(headless=False, default_output_dir=None, config: dict = {}):
|
|||
|
||||
# Setup Configuration Files Gradio
|
||||
with gr.Accordion("Configuration", open=False):
|
||||
configuration = ConfigurationFile(headless=headless)
|
||||
configuration = ConfigurationFile(headless=headless, config=config)
|
||||
|
||||
with gr.Accordion("Accelerate launch", open=False), gr.Column():
|
||||
accelerate_launch = AccelerateLaunch(config=config)
|
||||
|
|
@ -824,9 +820,9 @@ def ti_tab(headless=False, default_output_dir=None, config: dict = {}):
|
|||
value="caption",
|
||||
)
|
||||
basic_training = BasicTraining(
|
||||
learning_rate_value="1e-5",
|
||||
learning_rate_value=1e-5,
|
||||
lr_scheduler_value="cosine",
|
||||
lr_warmup_value="10",
|
||||
lr_warmup_value=10,
|
||||
sdxl_checkbox=source_model.sdxl_checkbox,
|
||||
config=config,
|
||||
)
|
||||
|
|
@ -863,10 +859,6 @@ def ti_tab(headless=False, default_output_dir=None, config: dict = {}):
|
|||
)
|
||||
gradio_dataset_balancing_tab(headless=headless)
|
||||
|
||||
# Setup Configuration Files Gradio
|
||||
with gr.Accordion("Configuration", open=False):
|
||||
configuration = ConfigurationFile(headless=headless)
|
||||
|
||||
with gr.Column(), gr.Group():
|
||||
with gr.Row():
|
||||
button_run = gr.Button("Start training", variant="primary")
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ easygui==0.98.3
|
|||
einops==0.7.0
|
||||
fairscale==0.4.13
|
||||
ftfy==6.1.1
|
||||
gradio==3.50.2
|
||||
gradio==4.19.2
|
||||
huggingface-hub==0.20.1
|
||||
imagesize==1.4.1
|
||||
invisible-watermark==0.2.0
|
||||
|
|
|
|||
|
|
@ -5,43 +5,72 @@
|
|||
"bucket_reso_steps": 64,
|
||||
"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,
|
||||
"dataset_config": "",
|
||||
"debiased_estimation_loss": false,
|
||||
"enable_bucket": true,
|
||||
"epoch": 1,
|
||||
"extra_accelerate_launch_args": "",
|
||||
"flip_aug": false,
|
||||
"full_bf16": false,
|
||||
"full_fp16": false,
|
||||
"gradient_accumulation_steps": 1.0,
|
||||
"gpu_ids": "",
|
||||
"gradient_accumulation_steps": 1,
|
||||
"gradient_checkpointing": false,
|
||||
"huber_c": 0.1,
|
||||
"huber_schedule": "snr",
|
||||
"ip_noise_gamma": 0,
|
||||
"ip_noise_gamma_random_strength": false,
|
||||
"keep_tokens": "0",
|
||||
"learning_rate": 5e-05,
|
||||
"learning_rate_te": 1e-05,
|
||||
"learning_rate_te1": 1e-05,
|
||||
"learning_rate_te2": 1e-05,
|
||||
"log_tracker_config": "",
|
||||
"log_tracker_name": "",
|
||||
"logging_dir": "./test/logs",
|
||||
"loss_type": "l2",
|
||||
"lr_scheduler": "constant",
|
||||
"lr_scheduler_args": "",
|
||||
"lr_scheduler_num_cycles": "",
|
||||
"lr_scheduler_power": "",
|
||||
"lr_warmup": 0,
|
||||
"main_process_port": 0,
|
||||
"masked_loss": false,
|
||||
"max_bucket_reso": 2048,
|
||||
"max_data_loader_n_workers": "0",
|
||||
"max_resolution": "512,512",
|
||||
"max_timestep": 1000,
|
||||
"max_token_length": "75",
|
||||
"max_train_epochs": "",
|
||||
"max_train_steps": "",
|
||||
"mem_eff_attn": false,
|
||||
"min_bucket_reso": 256,
|
||||
"min_snr_gamma": 0,
|
||||
"min_timestep": 0,
|
||||
"mixed_precision": "bf16",
|
||||
"model_list": "runwayml/stable-diffusion-v1-5",
|
||||
"multi_gpu": false,
|
||||
"multires_noise_discount": 0,
|
||||
"multires_noise_iterations": 0,
|
||||
"no_token_padding": false,
|
||||
"noise_offset": "0.05",
|
||||
"noise_offset": 0.05,
|
||||
"noise_offset_random_strength": false,
|
||||
"noise_offset_type": "Original",
|
||||
"num_cpu_threads_per_process": 2,
|
||||
"num_machines": 1,
|
||||
"num_processes": 1,
|
||||
"optimizer": "AdamW",
|
||||
"optimizer_args": "",
|
||||
"output_dir": "./test/output",
|
||||
"output_name": "db-AdamW",
|
||||
"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,
|
||||
"reg_data_dir": "",
|
||||
"resume": "",
|
||||
|
|
@ -49,6 +78,7 @@
|
|||
"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,
|
||||
|
|
@ -56,7 +86,9 @@
|
|||
"save_model_as": "safetensors",
|
||||
"save_precision": "fp16",
|
||||
"save_state": false,
|
||||
"save_state_on_train_end": false,
|
||||
"scale_v_pred_loss_like_noise_pred": false,
|
||||
"sdxl": false,
|
||||
"seed": "1234",
|
||||
"shuffle_caption": false,
|
||||
"stop_text_encoder_training": 0,
|
||||
|
|
@ -65,9 +97,11 @@
|
|||
"use_wandb": false,
|
||||
"v2": false,
|
||||
"v_parameterization": false,
|
||||
"v_pred_like_loss": 0,
|
||||
"vae": "",
|
||||
"vae_batch_size": 0,
|
||||
"wandb_api_key": "",
|
||||
"wandb_run_name": "",
|
||||
"weighted_captions": false,
|
||||
"xformers": true
|
||||
"xformers": "xformers"
|
||||
}
|
||||
|
|
@ -7,7 +7,7 @@
|
|||
"bucket_reso_steps": 1,
|
||||
"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,
|
||||
"caption_extension": ".txt",
|
||||
"caption_metadata_filename": "meta-1_cap.json",
|
||||
|
|
@ -18,26 +18,34 @@
|
|||
"dataset_config": "",
|
||||
"dataset_repeats": "50",
|
||||
"epoch": 2,
|
||||
"extra_accelerate_launch_args": "",
|
||||
"flip_aug": false,
|
||||
"full_bf16": false,
|
||||
"full_fp16": false,
|
||||
"full_path": true,
|
||||
"gpu_ids": "",
|
||||
"gradient_accumulation_steps": 1.0,
|
||||
"gradient_accumulation_steps": 1,
|
||||
"gradient_checkpointing": false,
|
||||
"huber_c": 0.1,
|
||||
"huber_schedule": "snr",
|
||||
"image_folder": ".\\test\\img\\10_darius kawasaki person",
|
||||
"ip_noise_gamma": 0,
|
||||
"ip_noise_gamma_random_strength": false,
|
||||
"keep_tokens": 0,
|
||||
"latent_metadata_filename": "meta-1_lat.json",
|
||||
"learning_rate": 1e-05,
|
||||
"learning_rate_te": 5e-06,
|
||||
"learning_rate_te1": 5e-06,
|
||||
"learning_rate_te2": 0.0,
|
||||
"learning_rate_te2": 0,
|
||||
"log_tracker_config": "",
|
||||
"log_tracker_name": "",
|
||||
"logging_dir": "./test/ft",
|
||||
"loss_type": "l2",
|
||||
"lr_scheduler": "cosine_with_restarts",
|
||||
"lr_scheduler_args": "",
|
||||
"lr_warmup": 10,
|
||||
"main_process_port": 0,
|
||||
"masked_loss": false,
|
||||
"max_bucket_reso": "1024",
|
||||
"max_data_loader_n_workers": "0",
|
||||
"max_resolution": "512,512",
|
||||
|
|
@ -55,6 +63,7 @@
|
|||
"multires_noise_discount": 0,
|
||||
"multires_noise_iterations": 0,
|
||||
"noise_offset": 0,
|
||||
"noise_offset_random_strength": false,
|
||||
"noise_offset_type": "Original",
|
||||
"num_cpu_threads_per_process": 2,
|
||||
"num_machines": 1,
|
||||
|
|
@ -71,6 +80,7 @@
|
|||
"sample_every_n_steps": 0,
|
||||
"sample_prompts": "",
|
||||
"sample_sampler": "euler_a",
|
||||
"save_as_bool": false,
|
||||
"save_every_n_epochs": 1,
|
||||
"save_every_n_steps": 0,
|
||||
"save_last_n_steps": 0,
|
||||
|
|
@ -78,6 +88,7 @@
|
|||
"save_model_as": "safetensors",
|
||||
"save_precision": "bf16",
|
||||
"save_state": false,
|
||||
"save_state_on_train_end": false,
|
||||
"scale_v_pred_loss_like_noise_pred": false,
|
||||
"sdxl_cache_text_encoder_outputs": false,
|
||||
"sdxl_checkbox": false,
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
{
|
||||
"LoRA_type": "Kohya LoCon",
|
||||
"LyCORIS_preset": "full",
|
||||
"adaptive_noise_scale": 0,
|
||||
"additional_parameters": "",
|
||||
"block_alphas": "",
|
||||
|
|
@ -7,71 +8,100 @@
|
|||
"block_lr_zero_threshold": "",
|
||||
"bucket_no_upscale": true,
|
||||
"bucket_reso_steps": 64,
|
||||
"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,
|
||||
"conv_alpha": 8,
|
||||
"conv_alphas": "",
|
||||
"conv_block_alphas": "",
|
||||
"conv_block_dims": "",
|
||||
"conv_dim": 16,
|
||||
"conv_dims": "",
|
||||
"dataset_config": "",
|
||||
"debiased_estimation_loss": false,
|
||||
"decompose_both": false,
|
||||
"dim_from_weights": false,
|
||||
"dora_wd": false,
|
||||
"down_lr_weight": "",
|
||||
"enable_bucket": true,
|
||||
"epoch": 1,
|
||||
"extra_accelerate_launch_args": "",
|
||||
"factor": -1,
|
||||
"flip_aug": false,
|
||||
"fp8_base": false,
|
||||
"full_bf16": false,
|
||||
"full_fp16": false,
|
||||
"gpu_ids": "",
|
||||
"gradient_accumulation_steps": 4,
|
||||
"gradient_checkpointing": false,
|
||||
"huber_c": 0.1,
|
||||
"huber_schedule": "snr",
|
||||
"ip_noise_gamma": 0,
|
||||
"ip_noise_gamma_random_strength": false,
|
||||
"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_warmup": 0,
|
||||
"main_process_port": 0,
|
||||
"masked_loss": false,
|
||||
"max_bucket_reso": 2048,
|
||||
"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": "",
|
||||
"mem_eff_attn": false,
|
||||
"mid_lr_weight": "",
|
||||
"min_bucket_reso": 256,
|
||||
"min_snr_gamma": 0,
|
||||
"min_timestep": 0,
|
||||
"mixed_precision": "bf16",
|
||||
"model_list": "runwayml/stable-diffusion-v1-5",
|
||||
"module_dropout": 0.1,
|
||||
"multi_gpu": false,
|
||||
"multires_noise_discount": 0,
|
||||
"multires_noise_iterations": 0,
|
||||
"network_alpha": 8,
|
||||
"network_dim": 16,
|
||||
"network_dropout": 0.1,
|
||||
"no_token_padding": false,
|
||||
"noise_offset": "0.05",
|
||||
"noise_offset": 0.05,
|
||||
"noise_offset_random_strength": false,
|
||||
"noise_offset_type": "Original",
|
||||
"num_cpu_threads_per_process": 2,
|
||||
"num_machines": 1,
|
||||
"num_processes": 1,
|
||||
"optimizer": "AdamW",
|
||||
"optimizer_args": "",
|
||||
"output_dir": "./test/output",
|
||||
"output_name": "locon-AdamW",
|
||||
"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": "",
|
||||
"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,
|
||||
|
|
@ -79,6 +109,7 @@
|
|||
"save_model_as": "safetensors",
|
||||
"save_precision": "fp16",
|
||||
"save_state": false,
|
||||
"save_state_on_train_end": false,
|
||||
"scale_v_pred_loss_like_noise_pred": false,
|
||||
"scale_weight_norms": 1,
|
||||
"sdxl": false,
|
||||
|
|
@ -90,17 +121,23 @@
|
|||
"text_encoder_lr": 0.0001,
|
||||
"train_batch_size": 1,
|
||||
"train_data_dir": "./test/img",
|
||||
"train_norm": false,
|
||||
"train_on_input": false,
|
||||
"training_comment": "",
|
||||
"unet_lr": 0.0001,
|
||||
"unit": 1,
|
||||
"up_lr_weight": "",
|
||||
"use_cp": false,
|
||||
"use_scalar": false,
|
||||
"use_tucker": false,
|
||||
"use_wandb": false,
|
||||
"v2": false,
|
||||
"v_parameterization": false,
|
||||
"v_pred_like_loss": 0,
|
||||
"vae": "",
|
||||
"vae_batch_size": 0,
|
||||
"wandb_api_key": "",
|
||||
"wandb_run_name": "",
|
||||
"weighted_captions": false,
|
||||
"xformers": true
|
||||
"xformers": "xformers"
|
||||
}
|
||||
Loading…
Reference in New Issue