火炬重建损失

时间:2018-12-02 04:59:49

标签: pytorch

如果我有两个张量

truth = [N, 1, 224, 224]

net_output = [N, 1, 224, 224]

我想最小化net_output以符合事实,这是应用损失的正确方法吗?

mse = nn.L1Loss().cuda()
FPL = mse(truth, net_output.detach())

N是批处理大小。我的l1损失会累加到N张图片上吗?

2 个答案:

答案 0 :(得分:0)

您可以使用L1损失。 我会那样做:

import torch.nn as nn

l1_loss = nn.L1Loss()
loss = mse_loss(input, target)

您必须更改参数truthnet_output.detach()

答案 1 :(得分:0)

要获得超过N的总和,您必须set the reduction to sum

l1 = nn.L1Loss(reduction='sum')
loss = l1(net_output, truth)