深入理解torch.functional.cross_entropy或F.cross_entropy的原理

news/2024/11/8 15:06:29/

参考Trying to understand cross_entropy loss in PyTorch的回答:

可知以下两个调用等价:

import torch
import torch.nn.functional as F
x = torch.FloatTensor([[1.,0.,0.],[0.,1.,0.],[0.,0.,1.]])
y = torch.LongTensor([0,1,2])print(torch.nn.functional.cross_entropy(x, y))  # tensor(0.5514)
print(F.nll_loss(F.log_softmax(x, 1), y))  # tensor(0.5514)

并且,以下两个调用是等价的:

print(F.softmax(x, 1).log())
print(F.log_softmax(x, 1))

由此可知,torch的CE loss会先沿着prediciton score矩阵的每一行计算softmax操作,再全部计算log。最后再基于negative likelyhood loss去计算最终的loss。nll_loss。

因此,其实CrossEntropyLoss损失,就是softmax + log + nll_loss的集成。


http://www.ppmy.cn/news/1545384.html

相关文章

Hive 的数据类型

基本类型 整型 TINYINT: 1字节整数,范围从 -128 到 127。SMALLINT: 2字节整数,范围从 -32,768 到 32,767。INT: 4字节整数,范围从 -2,147,483,648 到 2,147,483,647。BIGINT: 8字节整数,范围从 -9,223,372,036,854,775,808 到 9…

无人机之中继通信技术篇

一、定义与原理 无人机中继通信技术是指通过无人机搭载中继设备,将信号从一个地点传输到另一个地点,从而延长通信距离并保持较好的通信质量。其原理类似于传统的中继通信,即在两个终端站之间设置若干中继站,中继站将前站送来的信号…

PHP-FPM 性能配置优化

PHP-FPM 性能配置优化 4 核 8 G 服务器大约可以开启 500 个 PHP-FPM,极限吞吐量在 580 qps (Query Per Second 每秒查询数)左右。 Nginx php-fpm 是怎么工作的? php-fpm 全称是 PHP FastCGI Process Manager 的简称,…

Linux驱动开发(3):字符设备驱动

上一章节我们了解到什么是内核模块,模块的加载卸载详细过程以及内核模块的使用等内容。 本章,我们将学习驱动相关的概念,理解字符设备驱动程序的基本框架,并从源码上分析字符设备驱动实现和管理。 主要内容有如下五点:…

【JAVA毕业设计】基于Vue和SpringBoot的师生健康管理系统

博主说明:本文项目编号 T 052 ,文末自助获取源码 \color{red}{T052,文末自助获取源码} T052,文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析…

上云管理之Git/GitHub/GitLab 详解(一)

上云管理之Git/GitHub/GitLab 详解(一) 引言1. GIT软件安装2.初始化配置与提交代码2.1. 初始化配置2.2 本地仓库代码提交2.2.1 初始化仓库并提交代码2.2.2 再次提交已修改的代码2.2.3 文件夹层次结构代码提交 2.3 GIT 的文件状态 3.GIT 分支3.1. 分支的切换与删除3.…

2-142【软件无线电原理与应用作业】基于matlab的圆形阵列的波束形成进行仿真

【软件无线电原理与应用作业】基于matlab的圆形阵列的波束形成进行仿真,具有14页文档。假设发射信号载频为1GHz,圆形阵列半径为0.8米,在圆周上均匀布置30个阵元。1.画出指向0度的方向图。2.如果目标在0度,有一不相干的干扰信号在3…

测试开发面试题记录

1. TCP与UDP的区别及应用场景 TCP (传输控制协议): 特点:面向连接,可靠性高,数据顺序保证,流量控制和拥塞控制。应用场景:文件传输(FTP),电子邮件(SMTP&#…