Spaces:
Running
Running
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 |
|