首页 > 解决方案 > 我可以使用 pytorch 二进制分类器计算特定输出值的损失吗

问题描述

我正在构建一个二元分类器。

我只想计算预测值 1 的损失,忽略 0。

criterion = nn.BCELoss()
preds = model(inputs)
#ignore preds with value 0 and labels with the 0 value index
loss = criterion(preds, labels)

我不确定网络是否也可以在理论上收敛。

标签: deep-learningneural-networkpytorch

解决方案


是的你可以。

weightBCELoss。

对于你的情况,


loss_w = labels  # ignore labels with the 0 value index
loss_w = loss_w * (pred > 0).float()  # ignore preds with values 0

loss = torch.nn.functional.binary_cross_entropy(preds, labels, weight=loss_w)

推荐阅读