文章目录
- loss计算 | BCELoss(), 最后+sigmoid映射为0-1区间值
- 衡量指标计算 sklearn.metrics
- 代码 MultiLabelClassifier /CelebA_Classification_PyTorch_Github.ipynb
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是这样计算的?