PyTorch logit函数
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。
PyTorch logit函数相关推荐
- 全新开源,《Pytorch常用函数函数手册》开放下载!内含200余个函数!
近期有很多小伙伴在后台咨询有没有关于Pytorch函数使用的学习资料.Pytorch是目前常用的深度学习框架之一,深受学生党的喜爱,小白本人也是使用的Pytorch框架.为了帮助更多小伙伴,小白学视觉 ...
- PyTorch Upsample() 函数实现上采样
PyTorch Upsample() 函数实现上采样 import torch import torch.nn as nninput = torch.arange(1, 5, dtype=torch. ...
- PyTorch cat() 函数实现维度拼接
PyTorch cat() 函数实现维度拼接 需要保证(除需要合并的维度外)其他维度均相等.参数dim指定需要合并的维度的索引号. 如下例子为合并第三维. import torch a = torch ...
- pytorch基础函数学习
深度学习框架,似乎永远离不开哪个最热哪个最实用的话题,自己接触甚浅,尚不敢对齐进行大加评论,这里也只是初步接触.目前常见的有TensorFlow,pytorch,Keras等,至于目前哪个做好用,就像 ...
- 哈工大博士历时半年整理的《Pytorch常用函数函数手册》开放下载!内含200余个函数!...
近期有很多小伙伴在公众号后台咨询有没有关于Pytorch函数使用的学习资料.Pytorch是目前常用的深度学习框架之一,深受学生党的喜爱,小白本人也是使用的Pytorch框架.为了帮助更多小伙伴,小白 ...
- 旧版中 pytorch.rfft 函数与新版 pytorch.fft.rfft 函数对应修改问题
旧版中 pytorch.rfft 函数与新版 pytorch.fft.rfft 函数对应修改问题 前言 一.旧版 pytorch.rfft()函数解释 二.新版pytorch.fft.rfft()函数 ...
- 一文整理5个Pytorch张量乘法函数
--欢迎关注#公众号:AI算法小喵,会有更多不错的文章分享-- 本文首发于:一文整理5个Pytorch张量乘法函数 最近整理了Pytorch中5个常用的张量乘法函数和用法,建议收藏学习. 1. 张量的 ...
- pytorch scatter_函数学习笔记
在pytorch中,scatter是一个非常实用的映射函数,其将一个源张量(src)中的值按照指定的轴方向(dim)和对应的位置关系(index)逐个填充到目标张量(target)中,其函数写法为: ...
- pytorch拼接函数:torch.stack()和torch.cat()--详解及例子
原文链接: https://blog.csdn.net/xinjieyuan/article/details/105205326 https://blog.csdn.net/xinjieyuan/ar ...
最新文章
- 【杂谈】万万没想到,有三还有个保密的‘朋友圈’,那里面都在弄啥!
- IPv6推进将非常漫长
- 我的Wiki:使用JConsole对WildFly(或JBoss AS7)进行远程JMX访问
- linux子线程运行的函数_Linux中线程使用详解
- C/C++越来越不行了?让我们看看C++的未来趋势
- 挑战NPC(洛谷-P4258)
- 地面波天线怎样能多收台_GPS天线的分类介绍及应用
- 信贷三类业务风险如何把控
- pytorch1.7.0 安装亲测有效
- WPF自定义LED风格数字显示控件
- Android内核开发 Linux C编程调用内核模块设备驱动
- 最新Oreo支付系统平台完整源码+已全开源
- 美化牙齿的几大方式,护牙剂省钱省力
- Android 图片与屏幕坐标点
- 剖析top命令显示的VIRT RES SHR值
- C语言之结构体就这样被攻克了!值得收藏!
- java中PL层_JAVA PL
- 小白之玩转Mac--自动切换输入法
- Linux服务器的配置和数据迁移方案
- D* Lite路径规划算法