pytorch中的二分类及多分类交叉熵损失函数

本文详细介绍了PyTorch中二分类及多分类交叉熵损失函数的使用方法,并通过实例展示了BCELoss、BCEWithLogitsLoss及CrossEntropyLoss的具体应用。

本文主要记录一下pytorch里面的二分类及多分类交叉熵损失函数的使用。


import torch
import torch.nn as nn
import torch.nn.functional as F
torch.manual_seed(2020)
<torch._C.Generator at 0x7f4e8b3298b0>

二分类交叉熵损失函数

该函数主要用于多标签分类中,针对每个标签进行二分类。

Single
m = nn.Sigmoid()
loss = nn.BCELoss()
input = torch.randn(3, requires_grad=True)
print(input)
target = torch.empty(3).random_(2)
output = loss(m(input), target)
print(output)
f_output = F.binary_cross_entropy(m(input), target)
print(f_output)
l_output = nn.BCEWithLogitsLoss()(input, target)
print(l_output)
tensor([ 1.2372, -0.9604,  1.5415], requires_grad=True)
tensor(0.2576, grad_fn=<BinaryCrossEntropyBackward>)
tensor(0.2576, grad_fn=<BinaryCrossEntropyBackward>)
tensor(0.2576, grad_fn=<BinaryCrossEntropyWithLogitsBackward>)
Batch
m = nn.Sigmoid()
loss = n
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值