当前位置: 首页> 汽车> 新车 > 无版权的图片素材网站_网页设计的重点和难点_账号权重查询入口_永久免费自动建站

无版权的图片素材网站_网页设计的重点和难点_账号权重查询入口_永久免费自动建站

时间:2025/8/16 12:43:01来源:https://blog.csdn.net/weixin_44319595/article/details/143445052 浏览次数: 0次
无版权的图片素材网站_网页设计的重点和难点_账号权重查询入口_永久免费自动建站

【深度学习】CrossEntropyLoss需要手动softmax吗?

  • 问题:CrossEntropyLoss需要手动softmax吗?
  • 答案:不需要
  • 官方文档
  • 代码解释

问题:CrossEntropyLoss需要手动softmax吗?

之前用 pytorch 实现自己的网络时,使用CrossEntropyLoss的时候将网路输出经 softmax激活层后再计算CrossEntropyLoss。

答案:不需要

调用了损失函数CrossEntropyLoss,最后一层是不需要再加softmax函数激活的

官方文档

官方文档链接:pytorch-crossentropyloss,相当于在输入上应用LogSoftmax,然后NLLLoss
在这里插入图片描述

代码解释

import torch
import torch.nn as nn
import torch.nn.functional as Fcriterion = nn.CrossEntropyLoss()# 模拟网络输出(未经过softmax)
logits = torch.tensor([[0.2447, 3, 1]], requires_grad=True)
# 模拟目标标签
target = torch.tensor([0])# 使用Softmax + CrossEntropyLoss计算损失
softmax_layer = nn.Softmax(dim=1)
softmax_output = softmax_layer(logits)
loss_softmax_cross_entropy = criterion(softmax_output, target)
print("softmax + CrossEntropyLoss:", loss_softmax_cross_entropy.item())# 直接使用CrossEntropyLoss计算损失
loss_cross_entropy = criterion(logits, target)
print("CrossEntropyLoss:", loss_cross_entropy.item())# 使用LogSoftmax + NLLLoss计算损失
softmax_output = torch.softmax(logits, dim=1)
log_softmax_output = torch.log(softmax_output)
log_softmax_nll = F.nll_loss(log_softmax_output, target)
print("LogSoftmax + NLLLoss:", log_softmax_nll.item())

在这里插入图片描述

关键字:无版权的图片素材网站_网页设计的重点和难点_账号权重查询入口_永久免费自动建站

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: