Здравствуйте, пользователи Stackoverflow,
В настоящее время я борюсь с решением этой проблемы:
У меня 2 2d тензора:
a = Tensor(shape=[600,52]) # 600 vectors of length 52
b = Tensor(shape=[16000,52]) # 1600 vectors of length 52
Япытаясь вычислить косинусное сходство всех комбинаций векторов и сохранить их в третьем тензоре.
similarity = Tensor(shape=[600, 16000])
Теперь у меня следующие вопросы
a) Я не совсем уверен, как реализоватьэто не итеративным способом, я думал об использовании семантики вещания в сочетании с tf.losses.cosine_distance, но я не могу полностью обернуть голову, как это будет на самом деле выглядеть.
b) В зависимости отреализация (если используется tf.losses.cosine_distance, которая требует совпадения размеров для обоих входных тензоров), объем памяти может стать довольно большим, так как потребуется создать два тензора формы [600, 1600, 52] для вычислениярасстояния для всех комбинаций векторов.Не могли бы вы подумать о возможности обойти это?
Я надеюсь, что смог донести свои мысли понятным образом, спасибо за вашу помощь
Best,