Skip to content

Commit

Permalink
Update Lycoris support
Browse files Browse the repository at this point in the history
  • Loading branch information
bmaltais committed Oct 7, 2024
1 parent 52d1cc5 commit faa3d19
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 16 deletions.
24 changes: 10 additions & 14 deletions kohya_gui/lora_gui.py
Original file line number Diff line number Diff line change
Expand Up @@ -1135,39 +1135,39 @@ def train_model(

if LoRA_type == "LyCORIS/BOFT":
network_module = "lycoris.kohya"
network_args = f" preset={LyCORIS_preset} conv_dim={conv_dim} conv_alpha={conv_alpha} module_dropout={module_dropout} use_tucker={use_tucker} use_scalar={use_scalar} rank_dropout={rank_dropout} rank_dropout_scale={rank_dropout_scale} constrain={constrain} rescaled={rescaled} algo=boft train_norm={train_norm}"
network_args = f" preset={LyCORIS_preset} conv_dim={conv_dim} conv_alpha={conv_alpha} module_dropout={module_dropout} use_tucker={use_tucker} rank_dropout={rank_dropout} rank_dropout_scale={rank_dropout_scale} algo=boft train_norm={train_norm}"

if LoRA_type == "LyCORIS/Diag-OFT":
network_module = "lycoris.kohya"
network_args = f" preset={LyCORIS_preset} conv_dim={conv_dim} conv_alpha={conv_alpha} module_dropout={module_dropout} use_tucker={use_tucker} use_scalar={use_scalar} rank_dropout={rank_dropout} rank_dropout_scale={rank_dropout_scale} constrain={constrain} rescaled={rescaled} algo=diag-oft train_norm={train_norm}"
network_args = f" preset={LyCORIS_preset} conv_dim={conv_dim} conv_alpha={conv_alpha} module_dropout={module_dropout} use_tucker={use_tucker} rank_dropout={rank_dropout} rank_dropout_scale={rank_dropout_scale} constraint={constrain} rescaled={rescaled} algo=diag-oft train_norm={train_norm}"

if LoRA_type == "LyCORIS/DyLoRA":
network_module = "lycoris.kohya"
network_args = f' preset={LyCORIS_preset} conv_dim={conv_dim} conv_alpha={conv_alpha} use_tucker={use_tucker} block_size={unit} rank_dropout={rank_dropout} module_dropout={module_dropout} algo="dylora" train_norm={train_norm}'

if LoRA_type == "LyCORIS/GLoRA":
network_module = "lycoris.kohya"
network_args = f' preset={LyCORIS_preset} conv_dim={conv_dim} conv_alpha={conv_alpha} rank_dropout={rank_dropout} module_dropout={module_dropout} rank_dropout_scale={rank_dropout_scale} algo="glora" train_norm={train_norm}'
network_args = f' preset={LyCORIS_preset} conv_dim={conv_dim} conv_alpha={conv_alpha} use_tucker={use_tucker} rank_dropout={rank_dropout} module_dropout={module_dropout} rank_dropout_scale={rank_dropout_scale} algo="glora" train_norm={train_norm}'

if LoRA_type == "LyCORIS/iA3":
network_module = "lycoris.kohya"
network_args = f" preset={LyCORIS_preset} conv_dim={conv_dim} conv_alpha={conv_alpha} train_on_input={train_on_input} algo=ia3"

if LoRA_type == "LoCon" or LoRA_type == "LyCORIS/LoCon":
network_module = "lycoris.kohya"
network_args = f" preset={LyCORIS_preset} conv_dim={conv_dim} conv_alpha={conv_alpha} rank_dropout={rank_dropout} bypass_mode={bypass_mode} dora_wd={dora_wd} module_dropout={module_dropout} use_tucker={use_tucker} use_scalar={use_scalar} rank_dropout_scale={rank_dropout_scale} algo=locon train_norm={train_norm}"
network_args = f" preset={LyCORIS_preset} conv_dim={conv_dim} conv_alpha={conv_alpha} use_tucker={use_tucker} rank_dropout={rank_dropout} bypass_mode={bypass_mode} dora_wd={dora_wd} module_dropout={module_dropout} use_tucker={use_tucker} use_scalar={use_scalar} rank_dropout_scale={rank_dropout_scale} algo=locon train_norm={train_norm}"

if LoRA_type == "LyCORIS/LoHa":
network_module = "lycoris.kohya"
network_args = f' preset={LyCORIS_preset} conv_dim={conv_dim} conv_alpha={conv_alpha} rank_dropout={rank_dropout} bypass_mode={bypass_mode} dora_wd={dora_wd} module_dropout={module_dropout} use_tucker={use_tucker} use_scalar={use_scalar} rank_dropout_scale={rank_dropout_scale} algo="loha" train_norm={train_norm}'
network_args = f' preset={LyCORIS_preset} conv_dim={conv_dim} conv_alpha={conv_alpha} use_tucker={use_tucker} rank_dropout={rank_dropout} bypass_mode={bypass_mode} dora_wd={dora_wd} module_dropout={module_dropout} use_tucker={use_tucker} use_scalar={use_scalar} rank_dropout_scale={rank_dropout_scale} algo=loha train_norm={train_norm}'

if LoRA_type == "LyCORIS/LoKr":
network_module = "lycoris.kohya"
network_args = f" preset={LyCORIS_preset} conv_dim={conv_dim} conv_alpha={conv_alpha} rank_dropout={rank_dropout} bypass_mode={bypass_mode} dora_wd={dora_wd} module_dropout={module_dropout} factor={factor} use_cp={use_cp} use_scalar={use_scalar} decompose_both={decompose_both} rank_dropout_scale={rank_dropout_scale} algo=lokr train_norm={train_norm}"
network_args = f" preset={LyCORIS_preset} conv_dim={conv_dim} conv_alpha={conv_alpha} use_tucker={use_tucker} rank_dropout={rank_dropout} bypass_mode={bypass_mode} dora_wd={dora_wd} module_dropout={module_dropout} factor={factor} use_cp={use_cp} use_scalar={use_scalar} decompose_both={decompose_both} rank_dropout_scale={rank_dropout_scale} algo=lokr train_norm={train_norm}"

if LoRA_type == "LyCORIS/Native Fine-Tuning":
network_module = "lycoris.kohya"
network_args = f" preset={LyCORIS_preset} rank_dropout={rank_dropout} module_dropout={module_dropout} use_tucker={use_tucker} use_scalar={use_scalar} rank_dropout_scale={rank_dropout_scale} algo=full train_norm={train_norm}"
network_args = f" preset={LyCORIS_preset} rank_dropout={rank_dropout} module_dropout={module_dropout} rank_dropout_scale={rank_dropout_scale} algo=full train_norm={train_norm}"

if LoRA_type == "Flux1":
# Add a list of supported network arguments for Flux1 below when supported
Expand Down Expand Up @@ -1731,7 +1731,7 @@ def list_presets(path):
visible=False,
interactive=True,
allow_custom_value=True,
# info="https://github.com/KohakuBlueleaf/LyCORIS/blob/0006e2ffa05a48d8818112d9f70da74c0cd30b99/docs/Preset.md"
info="Use path_to_config_file.toml to choose config file (for LyCORIS module settings)"
)
with gr.Group():
with gr.Row():
Expand Down Expand Up @@ -2186,9 +2186,10 @@ def update_LoRA_settings(
"LyCORIS/BOFT",
"LyCORIS/Diag-OFT",
"LyCORIS/DyLoRA",
"LyCORIS/GLoRA",
"LyCORIS/LoCon",
"LyCORIS/LoHa",
"LyCORIS/Native Fine-Tuning",
"LyCORIS/LoKr",
},
},
},
Expand All @@ -2197,12 +2198,9 @@ def update_LoRA_settings(
"update_params": {
"visible": LoRA_type
in {
"LyCORIS/BOFT",
"LyCORIS/Diag-OFT",
"LyCORIS/LoCon",
"LyCORIS/LoHa",
"LyCORIS/LoKr",
"LyCORIS/Native Fine-Tuning",
},
},
},
Expand All @@ -2226,7 +2224,6 @@ def update_LoRA_settings(
"update_params": {
"visible": LoRA_type
in {
"LyCORIS/BOFT",
"LyCORIS/Diag-OFT",
},
},
Expand All @@ -2236,7 +2233,6 @@ def update_LoRA_settings(
"update_params": {
"visible": LoRA_type
in {
"LyCORIS/BOFT",
"LyCORIS/Diag-OFT",
},
},
Expand Down
4 changes: 2 additions & 2 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ huggingface-hub==0.24.5
imagesize==1.4.1
invisible-watermark==0.2.0
lion-pytorch==0.0.6
lycoris_lora==2.2.0.post3
# lycoris_lora==3.0.0.post1
# lycoris_lora==2.2.0.post3
lycoris_lora==3.1.0
omegaconf==2.3.0
onnx==1.16.1
prodigyopt==1.0
Expand Down

0 comments on commit faa3d19

Please sign in to comment.