【代码学习】多标签分类 multilabel classfication | loss如何计算? | 衡量指标如何计算?

2023-12-26 22:51:35

loss计算 | BCELoss(), 最后+sigmoid映射为0-1区间值

gpt解释

import torch
import torch.nn as nn

# 创建模型输出和目标标签
output = torch.tensor([0.7, 0.4, 0.2, 0.8])  # 模型的输出(概率值)
target = torch.tensor([1, 0, 0, 1])  # 实际的目标标签

# 创建 Binary Cross-Entropy Loss 对象
criterion = nn.BCELoss()

# 计算损失值
loss = criterion(torch.sigmoid(output), target.float())  # 注意需要使用 sigmoid 函数将概率值映射到 [0, 1] 区间,并将目标标签转换为浮点数
print("Binary Cross-Entropy Loss:", loss.item())

衡量指标计算 sklearn.metrics

在这里插入图片描述

代码 MultiLabelClassifier /CelebA_Classification_PyTorch_Github.ipynb

from: https://github.com/vatsalsaglani/MultiLabelClassifier/blob/master/CelebA_Classification_PyTorch_Github.ipynb

多标签label是这样的
在这里插入图片描述
最后是用sigmoid()激活函数,loss用 nn.BCELoss()
acc是这样计算的?

在这里插入图片描述

文章来源:https://blog.csdn.net/weixin_43154149/article/details/135231816
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。