Skip to content

Commit 5eea426

Browse files
committed
redo initialization
1 parent d01391b commit 5eea426

1 file changed

Lines changed: 10 additions & 4 deletions

File tree

‎model2vec/train/classifier.py‎

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -80,10 +80,16 @@ def construct_head(self) -> nn.Sequential:
8080
# We always have a layer mapping from hidden to out.
8181
modules.append(nn.Linear(self.hidden_dim, self.out_dim))
8282

83-
for module in modules:
84-
if isinstance(module, nn.Linear):
85-
nn.init.kaiming_uniform_(module.weight)
86-
nn.init.zeros_(module.bias)
83+
linear_modules = [module for module in modules if isinstance(module, nn.Linear)]
84+
if linear_modules:
85+
*initial, last = linear_modules
86+
for module in initial:
87+
if isinstance(module, nn.Linear):
88+
nn.init.kaiming_uniform_(module.weight, nonlinearity="relu")
89+
nn.init.zeros_(module.bias)
90+
# Final layer does not kaiming
91+
nn.init.xavier_uniform_(last.weight)
92+
nn.init.zeros_(last.bias)
8793

8894
return nn.Sequential(*modules)
8995

0 commit comments

Comments
 (0)