Skip to content

[FEATURE] Initialization strategies "smallest_and_zeros" and "channel_causal" for channel-slicing slimmable WaveNet#642

Merged
sdatkinson merged 3 commits intomainfrom
slim-init
Mar 11, 2026
Merged

[FEATURE] Initialization strategies "smallest_and_zeros" and "channel_causal" for channel-slicing slimmable WaveNet#642
sdatkinson merged 3 commits intomainfrom
slim-init

Conversation

@sdatkinson
Copy link
Owner

Add a few different ways to initialize the weights of the slimmable WaveNet

- Initialize smallest slice (allowed_channels[0]) with standard Conv1d init
- Zero out extra weight/bias for larger channel dimensions
- Pass init_strategy from slimmable kwargs through layer factories
- Add tests for weight/bias layout, forward, and default-init fallback

Made-with: Cursor
…lues

- Remove equality check; allow allowed_in != allowed_out when lengths match
- Zero w[:c_out, c_in:, :] for each (c_in, c_out) pair
- Add test for LayerConv paired case; remove test that expected raise

Made-with: Cursor
Iterate (c_in, c_out) pairs by minimum ratio thresholds, alternating
increment of c_in or c_out according to which threshold is reached next.
Zero w[:c_out, c_in:, :] for each pair.

Made-with: Cursor
@sdatkinson sdatkinson merged commit fdc9150 into main Mar 11, 2026
5 checks passed
@sdatkinson sdatkinson deleted the slim-init branch March 11, 2026 02:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant