def get_individual_distance_loss(self, A_i, A_j, AB_i, AB_j,
B_i, B_j, BA_i, BA_j):
distance_in_A = self.distance(A_i, A_j)
distance_in_AB = self.distance(AB_i, AB_j)
distance_in_B = self.distance(B_i, B_j)
distance_in_BA = self.distance(BA_i, BA_j)
if self.normalize_distances:
distance_in_A = (distance_in_A - self.expectation_A) / self.std_A
distance_in_AB = (distance_in_AB - self.expectation_B) / self.std_B
distance_in_B = (distance_in_B - self.expectation_B) / self.std_B
distance_in_BA = (distance_in_BA - self.expectation_A) / self.std_A
return torch.abs(distance_in_A - distance_in_AB), torch.abs(distance_in_B - distance_in_BA)
评论列表
文章目录