Python: самый быстрый инструмент для регулярного вычисления матричных косинус / евклидовых расстояний (ElasticSearch / Spark / ...) - PullRequest
0 голосов
/ 13 ноября 2018

У меня есть веб-приложение, которое используется как API для другого приложения для интенсивных математических вычислений.Большая часть этих вычислений состоит из вычислений векторного сходства, как в случае с scipy.spatial.distance.cdist.

Дело в том, что эти вычисления запускаются внешним приложением, которое вводит набор векторов, для которых я хочу вычислить сходство с некоторыми (миллионами) предварительно вычисленными векторами.В общем, мне нужен способ выполнить эти сходства как можно быстрее.Мое текущее решение, которое хранит матрицу в Redis и загружает ее каждый раз, когда приходит новая партия векторов, является способом замедления.Знаете ли вы быстрое решение, которое может хранить большие матрицы и выполнять с ними основные векторные операции (сложение, умножение, нормализация)?

До сих пор я нашел подходящие ElasticSearch и Spark MLlib.Но прежде чем искать решение, я хотел бы знать, не пропускаю ли я очевидное, о котором некоторые из вас могут знать.

...