Skip to content

Commit 597ba80

Browse files
committed
Allow CLIP loss to be used with models that have logit bias
1 parent 7260a46 commit 597ba80

1 file changed

Lines changed: 14 additions & 3 deletions

File tree

src/open_clip/loss.py

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ def get_ground_truth(self, device, num_logits) -> torch.Tensor:
101101
labels = self.labels[device]
102102
return labels
103103

104-
def get_logits(self, image_features, text_features, logit_scale):
104+
def get_logits(self, image_features, text_features, logit_scale, logit_bias=None):
105105
if self.world_size > 1:
106106
all_image_features, all_text_features = gather_features(
107107
image_features,
@@ -122,10 +122,21 @@ def get_logits(self, image_features, text_features, logit_scale):
122122
else:
123123
logits_per_image = logit_scale * image_features @ text_features.T
124124
logits_per_text = logit_scale * text_features @ image_features.T
125-
125+
126+
if logit_bias is not None:
127+
logits_per_image += logit_bias
128+
logits_per_text += logit_bias
129+
126130
return logits_per_image, logits_per_text
127131

128-
def forward(self, image_features, text_features, logit_scale, output_dict=False):
132+
def forward(
133+
self,
134+
image_features,
135+
text_features,
136+
logit_scale,
137+
logit_bias=None,
138+
output_dict=False,
139+
):
129140
device = image_features.device
130141
logits_per_image, logits_per_text = self.get_logits(image_features, text_features, logit_scale)
131142

0 commit comments

Comments
 (0)