Unverified Commit 5d64ae9d authored by Anton Vlasjuk's avatar Anton Vlasjuk Committed by GitHub
Browse files

fix uncaught init of linear layer in clip's/siglip's for image classification models (#30435)

* fix clip's/siglip's _init_weights to reflect linear layers in "for image classification"

* trigger slow tests
parent 16c8e176
......@@ -450,6 +450,11 @@ class CLIPPreTrainedModel(PreTrainedModel):
module.text_projection.weight,
std=self.config.hidden_size**-0.5 * self.config.initializer_factor,
)
elif isinstance(module, CLIPForImageClassification):
nn.init.normal_(
module.classifier.weight,
std=self.config.vision_config.hidden_size**-0.5 * self.config.initializer_factor,
)
if isinstance(module, nn.LayerNorm):
module.bias.data.zero_()
......
......@@ -492,6 +492,11 @@ class SiglipPreTrainedModel(PreTrainedModel):
logit_scale_init = torch.log(torch.tensor(1.0))
module.logit_scale.data.fill_(logit_scale_init)
module.logit_bias.data.zero_()
elif isinstance(module, SiglipForImageClassification):
nn.init.normal_(
module.classifier.weight,
std=self.config.vision_config.hidden_size**-0.5 * self.config.initializer_factor,
)
elif isinstance(module, (nn.Linear, nn.Conv2d)):
lecun_normal_(module.weight)
if module.bias is not None:
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment