haakohu's picture
initial
5d756f1
raw
history blame contribute delete
728 Bytes
import torch
import torch.nn.functional as F
def nsgan_g_loss(fake_score):
"""
Non-saturating criterion from Goodfellow et al. 2014
"""
return torch.nn.functional.softplus(-fake_score)
def nsgan_d_loss(real_score, fake_score):
"""
Non-saturating criterion from Goodfellow et al. 2014
"""
d_loss = F.softplus(-real_score) + F.softplus(fake_score)
return d_loss.view(-1)
def smooth_masked_l1_loss(x, target, mask):
"""
Pixel-wise l1 loss for the area indicated by mask
"""
# Beta=.1 <-> square loss if pixel difference <= 12.8
l1 = F.smooth_l1_loss(x*mask, target*mask, beta=.1, reduction="none").sum(dim=[1, 2, 3]) / mask.sum(dim=[1, 2, 3])
return l1