Open typhoon1104 opened 4 years ago
DEEP_CORAL_LOSS: def CORAL(source, target): d = source.data.shape[1] ns = source.data.shape[0] nt = target.data.shape[0]
# source covariance xm = torch.mean(source, 0, keepdim=True) - source xc = (xm.t() @ xm) / (ns-1) # target covariance xmt = torch.mean(target, 0, keepdim=True) - target xct = xmt.t() @ xmt / (nt-1) print(xc, xct) # frobenius norm between source and target loss = torch.sum(torch.mul((xc - xct), (xc - xct))) loss = loss/(4*d*d) return loss
I don't understand this part, too. Do you have some idea?
tldr, no error, this code is "correct". See my answer for this issue .
DEEP_CORAL_LOSS: def CORAL(source, target): d = source.data.shape[1] ns = source.data.shape[0] nt = target.data.shape[0]