Pytorch中的CrossEntropyLoss

CrossEntropyLoss 的输入要求

在 PyTorch 中,CrossEntropyLoss 有以下要求:

  1. 预测值(logits) 的形状为 (N, C, ...),其中:

• N 是样本数(或批次大小)。

• C 是类别数。

• ... 是额外的维度(例如序列长度、图像的高度和宽度等)。

  1. 标签(targets) 的形状为 (N, ...),表示每个样本对应的分类标签。标签是整数索引,范围为 0, C-1。

其中重点为:PyTorch 的 CrossEntropyLoss要求输入张量的第二个维度必须是类别的个数,无论是 1D 数据、序列数据还是高维数据,这个要求都是一致的。第二维度始终对应分类任务中的类别数 (num_classes),这是 CrossEntropyLoss 的固定设计。

为什么第二维度必须是类别数?

CrossEntropyLoss 的计算方式基于每个样本的预测概率分布和真实类别标签:

  1. 对于每个样本或位置,CrossEntropyLoss 期望提供一个类别分布的 logits(未经过 softmax 的分值),这个分布存储在输入张量的第二维度。

  2. 损失函数会沿着第二维度(类别维度)计算每个样本的交叉熵损失。

换句话说,第二维度的每个值代表每个类别的 logits,这些 logits 会通过内部的 log_softmax 转换成对数概率,用于交叉熵计算。

相关推荐
深蓝AI2 小时前
无头浏览器不必从 Chrome 改:Lightpanda 用 Zig 从零造,100 个页面只占 123MB 内存
人工智能·程序员
奈落244 小时前
AI辅助的另一面:从2026年国际AI安全报告的“故障”清单到国内专家的可靠性短板,自主行动的Agent为什么更难及时干预
人工智能·安全·agent·本地部署·ai 办公
火山引擎开发者社区6 小时前
eMudhra 证书失陷:容器用户最容易忽略的镜像信任链漏洞
人工智能
LabVIEW开发7 小时前
LabVIEW 机载 DIAL:每秒万次甲烷测量
人工智能·labview·labview知识·labview功能·labview程序
实名上网宋凯宣7 小时前
Django
后端·python·django
飞猫的边缘AI7 小时前
英特尔量子生意
人工智能·量子计算·边缘ai
深蓝AI7 小时前
桌面 Agent 缺的不是视觉:Vercel 开源 agent-desktop,用无障碍树 ref 替代截图坐标
人工智能·程序员
镜子AI8 小时前
镜子AI 技术复盘:三条自动化链路上的“停止条件“设计
运维·人工智能·自动化
向哆哆8 小时前
羊行为目标检测数据集:4类别、2,000张图像 | 目标检测
人工智能·yolo·目标检测·目标跟踪
如若1238 小时前
【论文复现】CoFailMed:从零复现医学图像分割的共享失败审计,含完整代码流程与科研绘图
人工智能·python