Skip to content

Commit 37b098a

Browse files
Break LCL residual block auto setup if no progress is being made.
1 parent 2e88a45 commit 37b098a

1 file changed

Lines changed: 17 additions & 0 deletions

File tree

src/eir/models/input/array/models_locally_connected.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -708,6 +708,13 @@ def generate_lcl_residual_blocks_auto(lcl_parameter_spec: LCParameterSpec):
708708
stochastic_depth_p=s.stochastic_depth_p,
709709
)
710710

711+
if not _is_making_progress(
712+
new_size=cur_block.out_features,
713+
old_size=cur_size,
714+
direction=s.direction,
715+
):
716+
break
717+
711718
block_modules.append(cur_block)
712719

713720
if _do_add_attention(
@@ -740,6 +747,16 @@ def _should_break_auto(
740747
raise ValueError(f"Unknown direction: {direction}")
741748

742749

750+
def _is_making_progress(
751+
new_size: int, old_size: int, direction: Literal["up", "down"]
752+
) -> bool:
753+
if direction == "down":
754+
return new_size < old_size
755+
if direction == "up":
756+
return new_size > old_size
757+
raise ValueError(f"Unknown direction: {direction}")
758+
759+
743760
class LCLAttentionBlock(nn.Module):
744761
def __init__(
745762
self,

0 commit comments

Comments
 (0)