В pytorch, учитывая, что у меня есть 2 матрицы, как бы я вычислил косинусное сходство всех строк в каждой со всеми строками в другой.
Например,
При заданном входном значении =
matrix_1 = [a b]
[c d]
matrix_2 = [e f]
[g h]
Я хотел бы, чтобы вывод был
output =
[cosine_sim([a b] [e f]) cosine_sim([a b] [g h])]
[cosine_sim([c d] [e f]) cosine_sim([c d] [g h])]
В настоящее время я использую torch.nn.functional.cosine_simility (matrix_1, matrix_2), которыйвозвращает косинус строки только с соответствующей строкой в другой матрице.
В моем примере у меня есть только 2 строки, но я бы хотел решение, которое работает для многих строк.Я бы даже хотел обработать случай, когда количество строк в каждой матрице отличается.
Я понимаю, что могу использовать расширение, однако я хочу сделать это без использования такого большого объема памяти.