natexcvi commited on
Commit
575359b
1 Parent(s): 3ea82c1

Change score to cosine similarity

Browse files
Files changed (2) hide show
  1. app.py +3 -1
  2. model/model.py +4 -0
app.py CHANGED
@@ -64,7 +64,9 @@ async def calculate_similarity_score(
64
  [model.preprocess(image1_content), model.preprocess(image2_content)]
65
  )
66
  )
67
- return SimilarityResponse(score=float(model.distance(pred[0], pred[1])))
 
 
68
  except Exception as e:
69
  return Response(
70
  content=str(e), status_code=status.HTTP_500_INTERNAL_SERVER_ERROR
 
64
  [model.preprocess(image1_content), model.preprocess(image2_content)]
65
  )
66
  )
67
+ return SimilarityResponse(
68
+ score=float(model.cosine_similarity(pred[0], pred[1]))
69
+ )
70
  except Exception as e:
71
  return Response(
72
  content=str(e), status_code=status.HTTP_500_INTERNAL_SERVER_ERROR
model/model.py CHANGED
@@ -30,6 +30,10 @@ class Model:
30
  def distance(x1: np.ndarray, x2: np.ndarray):
31
  return np.linalg.norm(x1 - x2, ord=2)
32
 
 
 
 
 
33
 
34
  class LandmarkExtractor:
35
  def __init__(self):
 
30
  def distance(x1: np.ndarray, x2: np.ndarray):
31
  return np.linalg.norm(x1 - x2, ord=2)
32
 
33
+ @staticmethod
34
+ def cosine_similarity(x1: np.ndarray, x2: np.ndarray):
35
+ return np.dot(x1, x2) / (np.linalg.norm(x1) * np.linalg.norm(x2))
36
+
37
 
38
  class LandmarkExtractor:
39
  def __init__(self):