PyTorch logit函数

article/2025/9/18 7:11:27

1.PyTorch vs TensorFlow

tensorflow是静态图,需要你把啥都准备好,然后它像个傻子一样执行,tensorflow,目前业界更适合部署,毕竟是静态图,infer的时候速度快。

pytorch,它会在执行的时候,跟你唠嗑,哪哪需要改不,哦,不改昂,那我执行了,pytorch更适合学术界,因为它更开发、调试更人性化。

(人工智能核心算法的底层还是由C/C++编写,python实际上实现API调用功能)

2.logit函数

该函数可以将输入范围在[0,1]之间的数值p映射到[−∞,∞][−∞,∞]

如果p=0.5,则函数值为0,p<0.5,则函数值为负值;如果p>0.5,则函数值为正值。

PyTorch(tensorflow类似)的损失函数中,有一个(类)损失函数名字中带了with_logits.。而这里的logits指的是,该损失函数已经内部自带了计算logit的操作,无需在传入给这个loss函数之前手动使用sigmoid/softmax将之前网络的输入映射到[0,1]之间。

不管是二分类,还是多分类问题,其实在计算损失函数的过程都经历了三个步骤:

(1)激活函数。通过激活函数sigmoid或者是softmax将输出值缩放到[0,1]之间;

(2)求对数。计算缩放之后的向量的对数值,即所谓的logy的值,求对数之后的值在[-infinite,0]之间;

(3)累加求和。根据损失函数的定义,将标签和输出值逐元素相乘再求和,最后再添加一个负号求相反数,得到一个正数损失。

不管什么样的实现方式,都会经历这三个步骤,不同的是,可能有的函数会将其中的一个或者是几个步骤封装在一起。

例如:

(1)BCELoss:需要先将最后一层经过sigmoid进行缩放然后再通过该函数;

(2)BCEWithLogitsLoss:BCEWithLogitsLoss就是把Sigmoid-BCELoss合成一步,不再需要在最后经过sigmoid进行缩放,直接对最后得到的logits进行处理。

注意:logits,指的是还没有经过sigmoid和softmax缩放的结果

补充:

三维tensor(C,H,W),dim=0,1,2,-1(可理解为维度索引),其中2与-1等价,相同效果:

当dim=0时, 是对每一维度相同位置的数值进行softmax运算,和为1

当dim=1时, 是对某一维度的列进行softmax运算,和为1

当dim=2时, 是对某一维度的行进行softmax运算,和为1

同样的,四维tensor(B,C,H,W)dim取值0,1,2,3,-1,三维tensor也可以看成是batchsize=1的四维tensor,只是dim的索引需要加1。


http://chatgpt.dhexx.cn/article/hJsNanZ9.shtml

相关文章

logit回归模型_详解 Logit/Probit 模型中的 completely determined 问题

NEW!连享会推文专辑:Stata资源 | 数据处理 | Stata绘图 | Stata程序结果输出 | 回归分析 | 时间序列 | 面板数据 | 离散数据交乘调节 | DID | RDD | 因果推断 | SFA-TFP-DEA文本分析+爬虫 | 空间计量 | 学术论文 | 软件工具 连享会学习群-常见问题解答汇总:👉 WD 主页…

Logit Adjust

Logit Adjust BER 我们在分类问题中常用的误分类函数使得分类器最终学到的分布&#xff1a; P ( y ∣ x ) ∝ P ( y ) P ( x ∣ y ) P(y|x) \propto P(y)P(x|y) P(y∣x)∝P(y)P(x∣y) 假设在一个不平衡猫狗二分类问题中&#xff0c;狗是一个小类&#xff0c;只有整个数据集的…

logit

1.为什么需要logit回归? 线性回归不稳健 异常点对拟合直线的影响很大 so linear不适合做分类问题 2.为什么要sigmoid&#xff1f;sigmoid能做什么&#xff1f; y0&#xff0c;1是离散问题,直接建立方程 函数不连续——损失函数不可导——参数无法用梯度法优化 所以我们由 …

Logit 是怎么算的?

从知乎借几张图来描述&#xff0c;先看看odds 是什么&#xff1f; 然后Logit 就 是 Log of odds&#xff1a;

【计算机网络学习笔记】(汇总目录)

计算机网络学习笔记&#xff08;汇总目录&#xff09; 文章目录 点击以下标题&#xff0c;跳转到对应章节的详细讲解 【计算机网络学习笔记01】计算机网络概述&#xff08;上&#xff09; 【计算机网络学习笔记02】计算机网络概述&#xff08;中&#xff09; 【计算机网络学习…

计算机网络期末总结复习(全)

文章目录 第一章:概述1.1、计算机网络在信息时代的作用我国互联网发展状况1.2、因特网概述1、网络、互连网(互联网)和因特网2、因特网发展的三个阶段3、因特网的标准化工作4、因特网的组成补充:1.3 三种交换方式1、电路交换(Circuit Switching)2、分组交换(Packet Switc…

计算机网络的应用领域有那些,计算机网络应用领域

描述 计算机网络应用领域 一、计算机网络在现代企业中的应用 计算机网络的发展和应用改变了传统企业的管理模式和经营模式。在现代企业中企业信息网络得到了广泛的应用。它是一种专门用于企业内部信息管理的计算机网络,覆盖企业生产经营管理的各个部门,在整个企业范围内提供硬…

《王道计算机网络》学习笔记总目录+思维导图

0.思维导图 本篇文章是对《2021王道计算机网络》所有知识点的笔记总结归档&#xff0c;虽说是2021年的&#xff0c;但是这些都是最核心的底层基础知识&#xff0c;过多少年都不会有很大的变化&#xff0c;核心都差不多。我的武功秘籍&#xff1a;note.bithachi.cn&#xff0c;…

计算机必备学习网站

目录 1 论文代码网站 &#xff08;1&#xff09;Github&#xff1a;www.github.com/ &#xff08;2&#xff09;Papers With Code&#xff1a;https://paperswithcode.com/ &#xff08;3&#xff09;researchcode&#xff1a;Research Code &#xff08;4&#xff09;sema…

内联函数的使用与引用

内联函数的执行过程与带参数宏定义很相似&#xff0c;但参数的处理不同。带参数的宏定义并不对参数进行运算&#xff0c;而是直接替换&#xff1b;内联函数首先是函数&#xff0c;这就意味着函数的很多性质都适用于内联函数&#xff0c;即内联函数先把参数表达式进行运算求值&a…

内联函数的意义和使用

1. 内联函数 在C中我们通常定义以下函数来求两个整数的最大值&#xff1a; 复制代码 代码如下: int max(int a, int b) { return a > b ? a : b; } 为这么一个小的操作定义一个函数的好处有&#xff1a; ① 阅读和理解函数 max 的调用&#xff0c;要比读一条等价的条件表达…

内联函数和类-初阶

目录 前言 一、内联函数 二、typeid 三、范围for的使用 四、nullptr 五、类 六、class和访问限定符 总结 前言 多多重复&#xff0c;百炼成钢&#xff01;&#xff01;&#xff01; 一、内联函数 用inline修饰的函数叫内联函数-在编译时C编译器会在函数的位置展开&#xff0c;…

内联函数——C++

内敛函数的定义&#xff1a; 以inline修饰的函数叫做内联函数&#xff0c;编译时C编译器会在调用内联函数的地方展开&#xff0c;没有函数调用建立栈帧的开销&#xff0c;内联函数提升程序运行的效率 &#xff08;它是以空间换取时间的方式提高效率&#xff0c;这里的空间指的…

【内联函数】inline关键字的作用与内联函数的特性

学习导航 一、内联函数产生的意义二、内联函数的使用三、内联函数的作用①简单易懂②支持调试③支持类型检查 四、内联函数的特性 一、内联函数产生的意义 在C语言中&#xff0c;如果我们频繁调用某些函数&#xff0c;并且这些函数都很代码量都很小&#xff0c;那么写成宏定义的…

C++之 内联函数

目录 一、 内敛函数的概念 二、 查看内联函数 三、 内联函数的特性 四、 宏和内联函数 一、 内敛函数的概念 以 inline 修饰的函数叫做内敛函数&#xff0c;编译时C编译器在调用内联函数的地方展开&#xff0c;没有函数调用建立栈帧的开销&#xff0c;内联函数提升程序运行…

内联函数(Inline Function )

目录 什么是内联函数(Inline Function) 如何将函数编写为内联函数&#xff08;how to make function inline&#xff09; 例&#xff1a; 为什么使用内联函数&#xff08;Why to use inline function&#xff09; 结论&#xff1a; 特殊规则 1.编译器可能不接受内联提议 …

内联函数

1.什么是内联函数 用关键字inline修饰的函数就是内联函数。关键字在函数声明和定义的时候都要加上&#xff0c;不写系统还是会当成常规函数 2.内联函数与一般函数的区别 1&#xff09;内联含函数比一般函数在前面多一个inline修饰符 2&#xff09;内联函数是直接复制“镶嵌”…

内联函数(inline)详解

为什么要有内联函数 在学习内联函数之前&#xff0c;大家可以写一个实现加法的宏ADD()&#xff0c;检测一下自己。 如果对宏等预编译知识不太熟悉的话&#xff0c;可以先看一下这篇文章&#xff1a;预编译——2.2.4 以下是一个正确的ADD宏&#xff1a; #define ADD(x,y) ((x…

内联函数(超详细版)

1.内联函数的由来 当我们调用函数的时候&#xff0c;实际会有额外的开销&#xff0c;为了避免或减少这些额外的开销&#xff0c;c中引入内联函数&#xff08;inline functions&#xff09;。 2.内联函数的原理 1&#xff09;当我们调用内联函数时&#xff0c;不会像调用普通函…

如何证明一个问题是NP-Hard或NP-Complete?

文章目录 NP-hard vs NP-CompleteReduction SAT ProblemReducing SAT to Shortest Clique ProblemReducing SAT to Shortest Tour Problem A List of NP-CompleteSet Vertex Cover Problem & Independent SetK-coloring and CliquePackingLongest Common Subsequence 参考资…