Commit
·
2ec353b
1
Parent(s):
06f0c97
Add normalization to feature extraction and diversity scoring functions
Browse files
medvqa/submission_samples/gi-2025/submission_task2.py
CHANGED
@@ -1,3 +1,4 @@
|
|
|
|
1 |
from datasets import Dataset
|
2 |
from sklearn.metrics.pairwise import cosine_similarity
|
3 |
from scipy.linalg import sqrtm
|
@@ -123,7 +124,6 @@ def extract_features(batch):
|
|
123 |
inputs = processor(images=batch['image'], return_tensors="pt").to(DEVICE)
|
124 |
with torch.no_grad():
|
125 |
feats = modelx(**inputs).last_hidden_state[:, 0, :]
|
126 |
-
feats = feats / feats.norm(p=2, dim=-1, keepdim=True)
|
127 |
return {'features': feats.cpu().numpy()}
|
128 |
|
129 |
|
@@ -143,10 +143,13 @@ def fid_score(feat1, feat2):
|
|
143 |
|
144 |
|
145 |
def diversity_score(features):
|
|
|
146 |
return pdist(features).mean()
|
147 |
|
148 |
|
149 |
def mean_cosine_sim(feat1, feat2):
|
|
|
|
|
150 |
return cosine_similarity(feat1, feat2).mean()
|
151 |
|
152 |
|
|
|
1 |
+
from sklearn.preprocessing import normalize
|
2 |
from datasets import Dataset
|
3 |
from sklearn.metrics.pairwise import cosine_similarity
|
4 |
from scipy.linalg import sqrtm
|
|
|
124 |
inputs = processor(images=batch['image'], return_tensors="pt").to(DEVICE)
|
125 |
with torch.no_grad():
|
126 |
feats = modelx(**inputs).last_hidden_state[:, 0, :]
|
|
|
127 |
return {'features': feats.cpu().numpy()}
|
128 |
|
129 |
|
|
|
143 |
|
144 |
|
145 |
def diversity_score(features):
|
146 |
+
features = normalize(features, axis=1)
|
147 |
return pdist(features).mean()
|
148 |
|
149 |
|
150 |
def mean_cosine_sim(feat1, feat2):
|
151 |
+
feat1 = normalize(feat1, axis=1)
|
152 |
+
feat2 = normalize(feat2, axis=1)
|
153 |
return cosine_similarity(feat1, feat2).mean()
|
154 |
|
155 |
|