def fix_init_weight_and_init_embedding(self):
        """
        Fix the initial weight and the initial embedding.
        Initializing with truncated normal distribution.
        """
        trunc_normal_(self.cls_token, std=0.02)
        trunc_normal_(self.temporal_embedding, std=0.02)

        if self.position_embedding is not None:
            trunc_normal_(self.position_embedding, std=0.02)

        if isinstance(self.final_layer, nn.Linear):
            trunc_normal_(self.final_layer.weight, std=0.02)

        for layer_id, layer in enumerate(self.blocks):
            rescale_parameter(layer.attn.proj.weight.data, layer_id + 1)
            rescale_parameter(layer.mlp[-2].weight.data, layer_id + 1)

        if isinstance(self.final_layer, nn.Linear):
            self.final_layer.weight.data.mul_(self.init_scale)
            self.final_layer.bias.data.mul_(self.init_scale)

        Fix the initial weight and the initial embedding.
        Initializing with truncated normal distribution.
        
braindecode/models/labram.py