Skip to content

Commit 433503f

Browse files
committed
Support disabling conv via conv dim = 0
1 parent 19ef28d commit 433503f

10 files changed

Lines changed: 45 additions & 17 deletions

File tree

networks/dylora.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -217,11 +217,15 @@ def create_network(
217217
unit = kwargs.get("unit", None)
218218
if conv_dim is not None:
219219
conv_dim = int(conv_dim)
220-
assert conv_dim == network_dim, "conv_dim must be same as network_dim"
221-
if conv_alpha is None:
222-
conv_alpha = 1.0
220+
if conv_dim == 0:
221+
conv_dim = None
222+
conv_alpha = None
223223
else:
224-
conv_alpha = float(conv_alpha)
224+
assert conv_dim == network_dim, "conv_dim must be same as network_dim"
225+
if conv_alpha is None:
226+
conv_alpha = 1.0
227+
else:
228+
conv_alpha = float(conv_alpha)
225229

226230
if unit is not None:
227231
unit = int(unit)

networks/loha.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -455,7 +455,10 @@ def create_network(
455455
conv_alpha = kwargs.get("conv_alpha", None)
456456
if conv_lora_dim is not None:
457457
conv_lora_dim = int(conv_lora_dim)
458-
if conv_alpha is None:
458+
if conv_lora_dim == 0:
459+
conv_lora_dim = None
460+
conv_alpha = None
461+
elif conv_alpha is None:
459462
conv_alpha = 1.0
460463
else:
461464
conv_alpha = float(conv_alpha)

networks/lokr.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -449,7 +449,10 @@ def create_network(
449449
conv_alpha = kwargs.get("conv_alpha", None)
450450
if conv_lora_dim is not None:
451451
conv_lora_dim = int(conv_lora_dim)
452-
if conv_alpha is None:
452+
if conv_lora_dim == 0:
453+
conv_lora_dim = None
454+
conv_alpha = None
455+
elif conv_alpha is None:
453456
conv_alpha = 1.0
454457
else:
455458
conv_alpha = float(conv_alpha)

networks/lora.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -458,7 +458,10 @@ def create_network(
458458
conv_alpha = kwargs.get("conv_alpha", None)
459459
if conv_dim is not None:
460460
conv_dim = int(conv_dim)
461-
if conv_alpha is None:
461+
if conv_dim == 0:
462+
conv_dim = None
463+
conv_alpha = None
464+
elif conv_alpha is None:
462465
conv_alpha = 1.0
463466
else:
464467
conv_alpha = float(conv_alpha)
@@ -958,7 +961,7 @@ def __init__(
958961
logger.info(
959962
f"neuron dropout: p={self.dropout}, rank dropout: p={self.rank_dropout}, module dropout: p={self.module_dropout}"
960963
)
961-
if self.conv_lora_dim is not None:
964+
if self.conv_lora_dim is not None and self.conv_lora_dim != 0:
962965
logger.info(
963966
f"apply LoRA to Conv2d with kernel size (3,3). dim (rank): {self.conv_lora_dim}, alpha: {self.conv_alpha}"
964967
)
@@ -1061,7 +1064,7 @@ def create_modules(
10611064

10621065
# extend U-Net target modules if conv2d 3x3 is enabled, or load from weights
10631066
target_modules = LoRANetwork.UNET_TARGET_REPLACE_MODULE
1064-
if modules_dim is not None or self.conv_lora_dim is not None or conv_block_dims is not None:
1067+
if modules_dim is not None or (self.conv_lora_dim is not None and self.conv_lora_dim != 0) or conv_block_dims is not None:
10651068
target_modules += LoRANetwork.UNET_TARGET_REPLACE_MODULE_CONV2D_3X3
10661069

10671070
self.unet_loras, skipped_un = create_modules(True, None, unet, target_modules)

networks/lora_fa.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -463,7 +463,10 @@ def create_network(
463463
conv_alpha = kwargs.get("conv_alpha", None)
464464
if conv_dim is not None:
465465
conv_dim = int(conv_dim)
466-
if conv_alpha is None:
466+
if conv_dim == 0:
467+
conv_dim = None
468+
conv_alpha = None
469+
elif conv_alpha is None:
467470
conv_alpha = 1.0
468471
else:
469472
conv_alpha = float(conv_alpha)
@@ -834,7 +837,7 @@ def __init__(
834837
else:
835838
logger.info(f"create LoRA network. base dim (rank): {lora_dim}, alpha: {alpha}")
836839
logger.info(f"neuron dropout: p={self.dropout}, rank dropout: p={self.rank_dropout}, module dropout: p={self.module_dropout}")
837-
if self.conv_lora_dim is not None:
840+
if self.conv_lora_dim is not None and self.conv_lora_dim != 0:
838841
logger.info(f"apply LoRA to Conv2d with kernel size (3,3). dim (rank): {self.conv_lora_dim}, alpha: {self.conv_alpha}")
839842

840843
# create module instances
@@ -934,7 +937,7 @@ def create_modules(
934937

935938
# extend U-Net target modules if conv2d 3x3 is enabled, or load from weights
936939
target_modules = LoRANetwork.UNET_TARGET_REPLACE_MODULE
937-
if modules_dim is not None or self.conv_lora_dim is not None or conv_block_dims is not None:
940+
if modules_dim is not None or (self.conv_lora_dim is not None and self.conv_lora_dim != 0) or conv_block_dims is not None:
938941
target_modules += LoRANetwork.UNET_TARGET_REPLACE_MODULE_CONV2D_3X3
939942

940943
self.unet_loras, skipped_un = create_modules(True, None, unet, target_modules)

networks/lora_flux.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -481,7 +481,10 @@ def create_network(
481481
conv_alpha = kwargs.get("conv_alpha", None)
482482
if conv_dim is not None:
483483
conv_dim = int(conv_dim)
484-
if conv_alpha is None:
484+
if conv_dim == 0:
485+
conv_dim = None
486+
conv_alpha = None
487+
elif conv_alpha is None:
485488
conv_alpha = 1.0
486489
else:
487490
conv_alpha = float(conv_alpha)

networks/lora_hunyuan_image.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,10 @@ def create_network(
5555
conv_alpha = kwargs.get("conv_alpha", None)
5656
if conv_dim is not None:
5757
conv_dim = int(conv_dim)
58-
if conv_alpha is None:
58+
if conv_dim == 0:
59+
conv_dim = None
60+
conv_alpha = None
61+
elif conv_alpha is None:
5962
conv_alpha = 1.0
6063
else:
6164
conv_alpha = float(conv_alpha)

networks/lora_lumina.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -334,7 +334,10 @@ def create_network(
334334
conv_alpha = kwargs.get("conv_alpha", None)
335335
if conv_dim is not None:
336336
conv_dim = int(conv_dim)
337-
if conv_alpha is None:
337+
if conv_dim == 0:
338+
conv_dim = None
339+
conv_alpha = None
340+
elif conv_alpha is None:
338341
conv_alpha = 1.0
339342
else:
340343
conv_alpha = float(conv_alpha)

networks/lora_sd3.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,10 @@ def create_network(
5050
conv_alpha = kwargs.get("conv_alpha", None)
5151
if conv_dim is not None:
5252
conv_dim = int(conv_dim)
53-
if conv_alpha is None:
53+
if conv_dim == 0:
54+
conv_dim = None
55+
conv_alpha = None
56+
elif conv_alpha is None:
5457
conv_alpha = 1.0
5558
else:
5659
conv_alpha = float(conv_alpha)

networks/network_base.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,7 @@ def create_modules(
261261

262262
# Create modules for UNet/DiT
263263
target_modules = list(arch_config.unet_target_modules)
264-
if modules_dim is not None or conv_lora_dim is not None:
264+
if modules_dim is not None or (conv_lora_dim is not None and conv_lora_dim != 0):
265265
target_modules.extend(arch_config.unet_conv_target_modules)
266266
if train_llm_adapter and arch_config.adapter_target_modules:
267267
target_modules.extend(arch_config.adapter_target_modules)

0 commit comments

Comments
 (0)