Spaces:
Runtime error
Runtime error
Commit
·
97cbba6
1
Parent(s):
8d981b3
Update app.py
Browse files
app.py
CHANGED
@@ -74,14 +74,14 @@ def load_index(index_path):
|
|
74 |
"""Load FAISS index once and cache it"""
|
75 |
return faiss.read_index(index_path)
|
76 |
|
77 |
-
def distance_to_similarity(
|
78 |
"""Convert distance to similarity"""
|
79 |
-
for ii in range(len(
|
80 |
-
contribs =
|
81 |
contribs = contribs / temp
|
82 |
sum_contribs = np.exp(contribs).sum()
|
83 |
-
|
84 |
-
return
|
85 |
|
86 |
def calculate_rewards(subscription, num_generations, author_share, ro_share, num_users_k, similarities, num_authors=1800):
|
87 |
"""Calculate rewards based on user inputs and similarities"""
|
@@ -110,7 +110,7 @@ def calculate_rewards(subscription, num_generations, author_share, ro_share, num
|
|
110 |
'attribution': f"{sim * 100:.0f}%",
|
111 |
'author_month_reward': f"{author_month_reward:.0f}€",
|
112 |
'ro_month_reward': f"{ro_month_reward:.0f}€",
|
113 |
-
'raw_similarity':
|
114 |
})
|
115 |
|
116 |
return rewards
|
@@ -159,12 +159,32 @@ def select_preset(preset_id):
|
|
159 |
params = DEFAULT_PARAMS.copy()
|
160 |
|
161 |
# Get features and search
|
162 |
-
features = get_ft(model, image) #extrait les features, soit le vecteur représentant l’image
|
163 |
-
distances, indices = get_topk(index, features, topk=params['num_neighbors'])
|
164 |
#utilise l’index pour trouver les k voisins de l’image
|
165 |
#retourne
|
166 |
# - distances avec les voisins
|
167 |
# - indices : les positions (dans l'index) des voisins
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
168 |
|
169 |
# Collect valid results first
|
170 |
valid_results = []
|
|
|
74 |
"""Load FAISS index once and cache it"""
|
75 |
return faiss.read_index(index_path)
|
76 |
|
77 |
+
def distance_to_similarity(distance, temp=1e-4):
|
78 |
"""Convert distance to similarity"""
|
79 |
+
for ii in range(len(distance)):
|
80 |
+
contribs = distance[ii].max() - distance[ii]
|
81 |
contribs = contribs / temp
|
82 |
sum_contribs = np.exp(contribs).sum()
|
83 |
+
distance[ii] = np.exp(contribs) / sum_contribs
|
84 |
+
return distance
|
85 |
|
86 |
def calculate_rewards(subscription, num_generations, author_share, ro_share, num_users_k, similarities, num_authors=1800):
|
87 |
"""Calculate rewards based on user inputs and similarities"""
|
|
|
110 |
'attribution': f"{sim * 100:.0f}%",
|
111 |
'author_month_reward': f"{author_month_reward:.0f}€",
|
112 |
'ro_month_reward': f"{ro_month_reward:.0f}€",
|
113 |
+
'raw_similarity': distances
|
114 |
})
|
115 |
|
116 |
return rewards
|
|
|
159 |
params = DEFAULT_PARAMS.copy()
|
160 |
|
161 |
# Get features and search
|
162 |
+
#features = get_ft(model, image) #extrait les features, soit le vecteur représentant l’image
|
163 |
+
#distances, indices = get_topk(index, features, topk=params['num_neighbors'])
|
164 |
#utilise l’index pour trouver les k voisins de l’image
|
165 |
#retourne
|
166 |
# - distances avec les voisins
|
167 |
# - indices : les positions (dans l'index) des voisins
|
168 |
+
# Process image
|
169 |
+
#features = get_ft(model, image) ######## extrait le vecteur de l'image
|
170 |
+
_, indices = get_topk(index, features, topk=params['num_neighbors']) ######## extrait les distances avec les premiers voisins
|
171 |
+
|
172 |
+
# Supposons que vous ayez une fonction pour charger une image
|
173 |
+
def load_image(path):
|
174 |
+
return Image.open(path).convert('RGB')
|
175 |
+
|
176 |
+
# Charger les deux images
|
177 |
+
image1 = load_image(PRESET_IMAGES[1])
|
178 |
+
image2 = load_image(PRESET_IMAGES[2])
|
179 |
+
|
180 |
+
# Extraire les features
|
181 |
+
features1 = get_ft(model, image1)
|
182 |
+
features2 = get_ft(model, image2)
|
183 |
+
|
184 |
+
# Calculer la distance euclidienne
|
185 |
+
distances = np.linalg.norm(features1 - features2)
|
186 |
+
|
187 |
+
print(f"Distance euclidienne entre l'image 1 et l'image 2 : {distances}")
|
188 |
|
189 |
# Collect valid results first
|
190 |
valid_results = []
|