deep-learning - 我可以使用 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)
我不确定网络是否也可以在理论上收敛。
解决方案
是的你可以。
有weight
BCELoss。
对于你的情况,
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)
推荐阅读
- javascript - 如何编辑数据表中的一行
- c - 如何在 Eclipse 中将库从子模块添加到项目
- python - Python Dataframe 条件 If 语句使用 pd.np.where 出错
- java - 错误 MVN 全新安装。未能发布模拟。除非您使用第三方模拟制造商,否则不应发生这种情况
- discord - 如何让 discord.py bot 最近查找来自特定用户的消息?
- javascript - 在javascript中将数组对象转换为对对象
- python - 我是否必须使用 `configparser` 来创建和导入配置?
- linux-kernel - 从 linux 内核模块获取 DRAM 控制器的 pci 设备号 (B:D:F)
- python - 为什么python在字典中添加字母?
- excel - 使用声明的范围变量绘制非连续数据图表