Spaces:
Sleeping
Sleeping
Commit
·
2ae9de4
1
Parent(s):
79e7d41
resolve use_fold early in app
Browse files
app.py
CHANGED
@@ -41,9 +41,30 @@ gamma = 0.4
|
|
41 |
threshold = 0.09951 if (normalize_similarity == 'test-train') else 0.6 # 0.381
|
42 |
knn = 300
|
43 |
rst_names = 'convnext_base_384_in22ft1k_colab220 efnv1b7_colab216 hub_efnv2xl_v73'.split()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
cfg_files = [hf_hub_download(modelbox, f'{x}_config.json') for x in rst_names]
|
45 |
emb_files = [hf_hub_download(modelbox, f'{x}_emb.npz') for x in rst_names]
|
46 |
rst_files = [hf_hub_download(modelbox, f'{x}.h5') for x in rst_names]
|
|
|
47 |
n_models = len(rst_names)
|
48 |
|
49 |
|
@@ -77,7 +98,7 @@ def fast_yolo_crop(image):
|
|
77 |
|
78 |
|
79 |
# Preload embeddings for known individuals
|
80 |
-
comp_embeddings = get_comp_embeddings(emb_files)
|
81 |
|
82 |
# Preload embedding models, input sizes
|
83 |
K.clear_session()
|
|
|
41 |
threshold = 0.09951 if (normalize_similarity == 'test-train') else 0.6 # 0.381
|
42 |
knn = 300
|
43 |
rst_names = 'convnext_base_384_in22ft1k_colab220 efnv1b7_colab216 hub_efnv2xl_v73'.split()
|
44 |
+
use_fold = {
|
45 |
+
'efnv1b7_colab216': 4,
|
46 |
+
'efnv1b7_colab225': 1,
|
47 |
+
'efnv1b7_colab197': 0,
|
48 |
+
'efnv1b7_colab227': 5,
|
49 |
+
'efnv1b7_v72': 6,
|
50 |
+
'efnv1b7_colab229': 9,
|
51 |
+
'efnv1b6_colab217': 5,
|
52 |
+
'efnv1b6_colab218': 6,
|
53 |
+
'hub_efnv2xl_colab221': 8,
|
54 |
+
'hub_efnv2xl_v69': 2,
|
55 |
+
'hub_efnv2xl_v73': 0,
|
56 |
+
'efnv1b6_colab226': 2,
|
57 |
+
'hub_efnv2l_v70': 3,
|
58 |
+
'hub_efnv2l_colab200': 2,
|
59 |
+
'hub_efnv2l_colab199': 1,
|
60 |
+
'convnext_base_384_in22ft1k_v68': 0,
|
61 |
+
'convnext_base_384_in22ft1k_colab220': 9,
|
62 |
+
'convnext_base_384_in22ft1k_colab201': 3, # new
|
63 |
+
}
|
64 |
cfg_files = [hf_hub_download(modelbox, f'{x}_config.json') for x in rst_names]
|
65 |
emb_files = [hf_hub_download(modelbox, f'{x}_emb.npz') for x in rst_names]
|
66 |
rst_files = [hf_hub_download(modelbox, f'{x}.h5') for x in rst_names]
|
67 |
+
use_folds = [use_fold[x] for x in rst_names]
|
68 |
n_models = len(rst_names)
|
69 |
|
70 |
|
|
|
98 |
|
99 |
|
100 |
# Preload embeddings for known individuals
|
101 |
+
comp_embeddings = get_comp_embeddings(emb_files, use_folds)
|
102 |
|
103 |
# Preload embedding models, input sizes
|
104 |
K.clear_session()
|
utils.py
CHANGED
@@ -56,41 +56,20 @@ def get_train_idx(use_fold):
|
|
56 |
|
57 |
return np.argsort(train_idx)
|
58 |
|
59 |
-
use_fold = {
|
60 |
-
'efnv1b7_colab216_emb.npz': 4,
|
61 |
-
'efnv1b7_colab225_emb.npz': 1,
|
62 |
-
'efnv1b7_colab197_emb.npz': 0,
|
63 |
-
'efnv1b7_colab227_emb.npz': 5,
|
64 |
-
'efnv1b7_v72_emb.npz': 6,
|
65 |
-
'efnv1b7_colab229_emb.npz': 9,
|
66 |
-
'efnv1b6_colab217_emb.npz': 5,
|
67 |
-
'efnv1b6_colab218_emb.npz': 6,
|
68 |
-
'hub_efnv2xl_colab221_emb.npz': 8,
|
69 |
-
'hub_efnv2xl_v69_emb.npz': 2,
|
70 |
-
'hub_efnv2xl_v73_emb.npz': 0,
|
71 |
-
'efnv1b6_colab226_emb.npz': 2,
|
72 |
-
'hub_efnv2l_v70_emb.npz': 3,
|
73 |
-
'hub_efnv2l_colab200_emb.npz': 2,
|
74 |
-
'hub_efnv2l_colab199_emb.npz': 1,
|
75 |
-
'convnext_base_384_in22ft1k_v68_emb.npz': 0,
|
76 |
-
'convnext_base_384_in22ft1k_colab220_emb.npz': 9,
|
77 |
-
'convnext_base_384_in22ft1k_colab201_emb.npz': 3, # new
|
78 |
-
}
|
79 |
-
|
80 |
|
81 |
-
def get_comp_embeddings(emb_files):
|
82 |
"Load embeddings for competition images [n_images, embedding_size]"
|
83 |
|
84 |
comp_embeddings = []
|
85 |
|
86 |
-
for npz_file in emb_files:
|
87 |
# Get embeddings for all competition images
|
88 |
d = np.load(str(npz_file))
|
89 |
comp_train_emb = d['train']
|
90 |
comp_test_emb = d['test']
|
91 |
|
92 |
# Restore original order of comp_train_emb, targets (use targets as fingerprint-check)
|
93 |
-
comp_train_idx = get_train_idx(use_fold
|
94 |
comp_train_emb = comp_train_emb[comp_train_idx, :]
|
95 |
comp_embs = np.concatenate([comp_train_emb, comp_test_emb], axis=0)
|
96 |
assert comp_embs.shape == (n_images, embedding_size)
|
|
|
56 |
|
57 |
return np.argsort(train_idx)
|
58 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
59 |
|
60 |
+
def get_comp_embeddings(emb_files, use_folds):
|
61 |
"Load embeddings for competition images [n_images, embedding_size]"
|
62 |
|
63 |
comp_embeddings = []
|
64 |
|
65 |
+
for npz_file, use_fold in zip(emb_files, use_folds):
|
66 |
# Get embeddings for all competition images
|
67 |
d = np.load(str(npz_file))
|
68 |
comp_train_emb = d['train']
|
69 |
comp_test_emb = d['test']
|
70 |
|
71 |
# Restore original order of comp_train_emb, targets (use targets as fingerprint-check)
|
72 |
+
comp_train_idx = get_train_idx(use_fold)
|
73 |
comp_train_emb = comp_train_emb[comp_train_idx, :]
|
74 |
comp_embs = np.concatenate([comp_train_emb, comp_test_emb], axis=0)
|
75 |
assert comp_embs.shape == (n_images, embedding_size)
|