src/transformers/models/bridgetower/modeling_bridgetower.py/BridgeTowerForContrastiveLearning/__init__
class BridgeTowerForContrastiveLearning:    def __init__(self, config):
        super().__init__(config)

        self.bridgetower = BridgeTowerModel(config)

        self.itc_text_head = BridgeTowerContrastiveHead(config.hidden_size, config.contrastive_hidden_size)
        self.itc_image_head = BridgeTowerContrastiveHead(config.hidden_size, config.contrastive_hidden_size)
        self.itc_cross_modal_head = BridgeTowerContrastiveHead(config.hidden_size * 2, config.contrastive_hidden_size)

        self.logit_scale = nn.Parameter(torch.ones([]) * self.config.logit_scale_init_value)
        # Initialize weights and apply final processing
        self.post_init()