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函数相关推荐

  1. 全新开源,《Pytorch常用函数函数手册》开放下载!内含200余个函数!

    近期有很多小伙伴在后台咨询有没有关于Pytorch函数使用的学习资料.Pytorch是目前常用的深度学习框架之一,深受学生党的喜爱,小白本人也是使用的Pytorch框架.为了帮助更多小伙伴,小白学视觉 ...

  2. PyTorch Upsample() 函数实现上采样

    PyTorch Upsample() 函数实现上采样 import torch import torch.nn as nninput = torch.arange(1, 5, dtype=torch. ...

  3. PyTorch cat() 函数实现维度拼接

    PyTorch cat() 函数实现维度拼接 需要保证(除需要合并的维度外)其他维度均相等.参数dim指定需要合并的维度的索引号. 如下例子为合并第三维. import torch a = torch ...

  4. pytorch基础函数学习

    深度学习框架,似乎永远离不开哪个最热哪个最实用的话题,自己接触甚浅,尚不敢对齐进行大加评论,这里也只是初步接触.目前常见的有TensorFlow,pytorch,Keras等,至于目前哪个做好用,就像 ...

  5. 哈工大博士历时半年整理的《Pytorch常用函数函数手册》开放下载!内含200余个函数!...

    近期有很多小伙伴在公众号后台咨询有没有关于Pytorch函数使用的学习资料.Pytorch是目前常用的深度学习框架之一,深受学生党的喜爱,小白本人也是使用的Pytorch框架.为了帮助更多小伙伴,小白 ...

  6. 旧版中 pytorch.rfft 函数与新版 pytorch.fft.rfft 函数对应修改问题

    旧版中 pytorch.rfft 函数与新版 pytorch.fft.rfft 函数对应修改问题 前言 一.旧版 pytorch.rfft()函数解释 二.新版pytorch.fft.rfft()函数 ...

  7. 一文整理5个Pytorch张量乘法函数

    --欢迎关注#公众号:AI算法小喵,会有更多不错的文章分享-- 本文首发于:一文整理5个Pytorch张量乘法函数 最近整理了Pytorch中5个常用的张量乘法函数和用法,建议收藏学习. 1. 张量的 ...

  8. pytorch scatter_函数学习笔记

    在pytorch中,scatter是一个非常实用的映射函数,其将一个源张量(src)中的值按照指定的轴方向(dim)和对应的位置关系(index)逐个填充到目标张量(target)中,其函数写法为: ...

  9. pytorch拼接函数:torch.stack()和torch.cat()--详解及例子

    原文链接: https://blog.csdn.net/xinjieyuan/article/details/105205326 https://blog.csdn.net/xinjieyuan/ar ...

最新文章

  1. 【杂谈】万万没想到,有三还有个保密的‘朋友圈’,那里面都在弄啥!
  2. IPv6推进将非常漫长
  3. 我的Wiki:使用JConsole对WildFly(或JBoss AS7)进行远程JMX访问
  4. linux子线程运行的函数_Linux中线程使用详解
  5. C/C++越来越不行了?让我们看看C++的未来趋势
  6. 挑战NPC(洛谷-P4258)
  7. 地面波天线怎样能多收台_GPS天线的分类介绍及应用
  8. 信贷三类业务风险如何把控
  9. pytorch1.7.0 安装亲测有效
  10. WPF自定义LED风格数字显示控件
  11. Android内核开发 Linux C编程调用内核模块设备驱动
  12. 最新Oreo支付系统平台完整源码+已全开源
  13. 美化牙齿的几大方式,护牙剂省钱省力
  14. Android 图片与屏幕坐标点
  15. 剖析top命令显示的VIRT RES SHR值
  16. C语言之结构体就这样被攻克了!值得收藏!
  17. java中PL层_JAVA PL
  18. 小白之玩转Mac--自动切换输入法
  19. Linux服务器的配置和数据迁移方案
  20. D* Lite路径规划算法

热门文章

  1. CloudCompare源码分析之qCC模块:模型采样
  2. Android App抓包、Mock数据探索
  3. 做对日软件外包项目的体会
  4. Juniper防火墙映射内外网不同端口
  5. 前端基础知识点汇总(持续更新...)
  6. 极客编程小挑战#30:用CSS3实现各种钟表的显示效果
  7. 毕业分享 STM32智能桌面天气预报时钟系统
  8. 常用linux系统扫描命令汇总
  9. 前端的Docker入门与实践
  10. 2023年天猫618预售限时抢免定金福利玩法介绍