I have a GAN network that returns a predicted
torch.tensor. To guide this network, I have a loss function which is a summation of binary cross entropy loss and Wasserstein distance. However, in order to calculate Wasserstein distance, I am using
scipy.stats.wasserstein_distance function from SciPy library. As you might know, this function requires two NumPy arrays as input. So, to use this function, I am converting my predicted tensor and ground-truth tensor to NumPy arrays as follows
pred_np = pred_tensor.detach().cpu().clone().numpy().ravel() target_np = target_tensor.detach().cpu().clone().numpy().ravel() W_loss = wasserstein_distance(pred_np, target_np)
Then, total loss is obtained by adding
W_loss to BCELoss. I am now showing this part because it is a bit unnecessary and not related to my question.
My concern is I am detaching gradient so I suppose that while optimizing and updating model parameters it will not consider
W_loss. I am a bit newbie so I hope my question is clear and appreciate for answers in advance.