https://github.com/palash1992/DynamicGEM
Tip revision: 911fe36dc8fa5f85deb0d931210cac823955f643 authored by Palash Goyal on 07 April 2020, 19:10:13 UTC
Modified metrics defn
Modified metrics defn
Tip revision: 911fe36
embed_util.py
import numpy as np
def reorient(embed1, embed2):
assert embed1.shape[1] == embed2.shape[1], ('Embedding dimension should be the same for both embeddings')
n1, d = embed1.shape
n2, d = embed2.shape
if n1 > n2:
S = np.dot(embed2.T, embed1[0:n2, :])
else:
S = np.dot(embed2[0:n1, :].T, embed1)
u, sig, v = np.linalg.svd(S)
R = np.dot(u, v)
reoriented_embed2 = np.dot(embed2, R)
return reoriented_embed2, R