in model.py [0:0]
def __init__(self,
size,
dim,
dist=PoincareDistance,
max_norm=1,
Qdist='laplace',
lossfn='klSym',
gamma=1.0,
cuda=0):
super(PoincareEmbedding, self).__init__()
self.dim = dim
self.size = size
self.lt = nn.Embedding(size, dim, max_norm=max_norm)
self.lt.weight.data.uniform_(-1e-4, 1e-4)
self.dist = dist
self.Qdist = Qdist
self.lossfnname = lossfn
self.gamma = gamma
self.sm = nn.Softmax(dim=1)
self.lsm = nn.LogSoftmax(dim=1)
if lossfn == 'kl':
self.lossfn = nn.KLDivLoss()
elif lossfn == 'klSym':
self.lossfn = klSym
elif lossfn == 'mse':
self.lossfn = nn.MSELoss()
else:
raise NotImplementedError
if cuda:
self.lt.cuda()