SSD / Multibox 中的损失函数

问题描述 投票:0回答:1

这是直接从我的 pytorch 闪电设置中取出的。我对选择损失函数不太熟悉。

我正在尝试在 SSD 上训练我的数据,这需要我有一个张量和一个字典列表。我的图像是张量,目标是字典列表。

或者我需要创建自定义损失函数吗?

def training_step(self, batch, batch_idx):
    images, targets = zip(*batch)
    y_hat = self(images, targets)
    opt = self.optimizers()
    opt.zero_grad()
    loss = F.smooth_l1_loss(y_hat, targets)
    opt.step()
    return loss
python pytorch loss-function pytorch-lightning
1个回答
0
投票

SSD 的损失函数是置信度损失和位置损失的组合。

  • 置信度损失=“网络对边界框的客观性的信心”。这是一个交叉熵损失函数。
  • 位置损失 = 你的预测边界框与地面实况的距离(平滑的 L1 损失)。

总损失是这两个损失的加权和——我们对位置损失进行加权。

这里有一个很好的实现你需要的损失: https://github.com/amdegroot/ssd.pytorch/blob/master/layers/modules/multibox_loss.py.

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.