cosineSimilarityGPU function

GPUTensor<Scalar> cosineSimilarityGPU(
  1. GPUTensor<Vector> a,
  2. GPUTensor<Vector> b,
  3. CommandBuffer tape
)

Implementation

GPUTensor<Scalar> cosineSimilarityGPU(GPUTensor<Vector> a, GPUTensor<Vector> b, CommandBuffer tape) {
  GPUTensor<Scalar> dot = dotProductGPU(a, b, tape);

  GPUTensor<Scalar> normA = l2NormGPU(a, tape);
  GPUTensor<Scalar> normB = l2NormGPU(b, tape);
  GPUTensor<Scalar> denominator = multiplyGPU<Scalar>(normA, normB, tape);

  return divideGPU<Scalar>(dot, denominator, tape);
}