Skip to content

Commit eb141a0

Browse files
Merge pull request #2548 from Zheng-Bicheng/develop
Update cosine_similarity.cc
2 parents c521c6a + 9faf1b5 commit eb141a0

File tree

1 file changed

+3
-8
lines changed

1 file changed

+3
-8
lines changed

fastdeploy/vision/utils/cosine_similarity.cc

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,24 +23,19 @@ float CosineSimilarity(const std::vector<float>& a, const std::vector<float>& b,
2323
FDASSERT((a.size() == b.size()) && (a.size() != 0),
2424
"The size of a and b must be equal and >= 1.");
2525
size_t num_val = a.size();
26+
float mul_ab = 0.f;
2627
if (normalized) {
27-
float mul_a = 0.f, mul_b = 0.f, mul_ab = 0.f;
2828
for (size_t i = 0; i < num_val; ++i) {
29-
mul_a += (a[i] * a[i]);
30-
mul_b += (b[i] * b[i]);
3129
mul_ab += (a[i] * b[i]);
3230
}
33-
return (mul_ab / (std::sqrt(mul_a) * std::sqrt(mul_b)));
31+
return mul_ab;
3432
}
3533
auto norm_a = L2Normalize(a);
3634
auto norm_b = L2Normalize(b);
37-
float mul_a = 0.f, mul_b = 0.f, mul_ab = 0.f;
3835
for (size_t i = 0; i < num_val; ++i) {
39-
mul_a += (norm_a[i] * norm_a[i]);
40-
mul_b += (norm_b[i] * norm_b[i]);
4136
mul_ab += (norm_a[i] * norm_b[i]);
4237
}
43-
return (mul_ab / (std::sqrt(mul_a) * std::sqrt(mul_b)));
38+
return mul_ab;
4439
}
4540

4641
} // namespace utils

0 commit comments

Comments
 (0)