def loss(self, x, samples):
_, proposal_output = self.forward(x, samples)
batch_size = len(samples)
locations = proposal_output[:, 0]
scales = proposal_output[:, 1] + util.epsilon
log_two_scales = torch.log(2 * scales)
l = 0
for b in range(batch_size):
value = samples[b].value[0]
location = locations[b]
scale = scales[b]
l += log_two_scales[b] + torch.abs(value - location) / scale
return l
评论列表
文章目录