# Is there any way to do batch inference(matrix compute) using cosineSimilarity?

**URL:** <https://discuss.elastic.co/t/is-there-any-way-to-do-batch-inference-matrix-compute-using-cosinesimilarity/274573>\
**Category:** Elasticsearch\
**Created:** [June 1, 2021, 5:17am UTC](https://discuss.elastic.co/t/is-there-any-way-to-do-batch-inference-matrix-compute-using-cosinesimilarity/274573 "2021-06-01T05:17:29Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![berry](https://avatars.discourse-cdn.com/v4/letter/b/b782af/32.png) [@berry](https://discuss.elastic.co/u/berry)\
**Post date:** [June 1, 2021, 5:17am UTC](https://discuss.elastic.co/t/is-there-any-way-to-do-batch-inference-matrix-compute-using-cosinesimilarity/274573/1 "2021-06-01T05:17:29Z")

</div>

```auto
In some scenarios, I want to calculate the cosine similarity between M dense_vectors and all the stored dense_vectors. This can be achieved by calling the cosineSimilarity function for M times like this:
"script": {
    "source": "cosineSimilarity(params.query_vector, doc['vector']) + 1",
    "params": {
         "query_vector": query_vector,
    }
}
What I want to ask is:
1. Will it be faster to batch these M dense_vectors and then do matrix operations(like numpy in python) for only one time?
2. Does es support batch inference with cosineSimilarity ?

```

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [June 29, 2021, 5:17am UTC](https://discuss.elastic.co/t/is-there-any-way-to-do-batch-inference-matrix-compute-using-cosinesimilarity/274573/2 "2021-06-29T05:17:53Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
