TheFrenchDemos commited on
Commit
97cbba6
·
1 Parent(s): 8d981b3

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +28 -8
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(distances, temp=1e-4):
78
  """Convert distance to similarity"""
79
- for ii in range(len(distances)):
80
- contribs = distances[ii].max() - distances[ii]
81
  contribs = contribs / temp
82
  sum_contribs = np.exp(contribs).sum()
83
- distances[ii] = np.exp(contribs) / sum_contribs
84
- return distances
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': sim_value
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 = []