nn.CrossEntropyLoss()函数计算交叉熵损失

用法:

# output是网络的输出,size=[batch_size, class]
#如网络的batch size为128,数据分为10类,则size=[128, 10]# target是数据的真实标签,是标量,size=[batch_size]
#如网络的batch size为128,则size=[128]crossentropyloss=nn.CrossEntropyLoss()
crossentropyloss_output=crossentropyloss(output,target)

注意,使用nn.CrossEntropyLoss()时,不需要现将输出经过softmax层,否则计算的损失会有误,即直接将网络输出用来计算损失即可

nn.CrossEntropyLoss()的计算公式为:

其中x是网络的输出向量,class是真实标签

举个例子,一个三分类网络对某个输入样本的输出为[-0.7715, -0.6205,-0.2562],该样本的真实标签为0,则用nn.CrossEntropyLoss()计算的损失为:

pytorch的nn.CrossEntropyLoss()函数使用方法相关推荐

  1. 对于pytorch中nn.CrossEntropyLoss()与nn.BCELoss()的理解和使用

    在pytorch中nn.CrossEntropyLoss()为交叉熵损失函数,用于解决多分类问题,也可用于解决二分类问题. BCELoss是Binary CrossEntropyLoss的缩写,nn. ...

  2. Batch Normalization原理及pytorch的nn.BatchNorm2d函数

    下面通过举个例子来说明Batch Normalization的原理,我们假设在网络中间经过某些卷积操作之后的输出的feature map的尺寸为4×3×2×2,4为batch的大小,3为channel ...

  3. 【PyTorch】nn.Conv2d函数详解

    文章目录 1. 函数语法格式 2. 参数解释 3. 尺寸关系 4. 使用案例 5. nn.functional.conv2d 1. 函数语法格式 CONV2D官方链接 torch.nn.Conv2d( ...

  4. pytorch中的CrossEntropyLoss

    这里主要探讨torch.nn.CrossEntropyLoss函数的用法. 使用方法如下: # 首先定义该类 loss = torch.nn.CrossEntropyLoss() #然后传参进去 lo ...

  5. PyTorch中nn.Module类中__call__方法介绍

    在PyTorch源码的torch/nn/modules/module.py文件中,有一条__call__语句和一条forward语句,如下: __call__ : Callable[-, Any] = ...

  6. pytorch nn.CrossEntropyLoss

    应用 概念讲解 1)假设有m张图片,经过神经网络后输出为m*n的矩阵(m是图片个数,n是图片类别),下例中: m=2,n=2既有两张图片,供区分两种类别比如猫狗.假设第0维为猫,第1维为狗 impor ...

  7. 深入理解Pytorch负对数似然函数(torch.nn.NLLLoss)和交叉熵损失函数(torch.nn.CrossEntropyLoss)

    在看Pytorch的交叉熵损失函数torch.nn.CrossEntropyLoss官方文档介绍中,给出的表达式如下.不免有点疑惑为何交叉熵损失的表达式是这个样子的 loss ⁡ ( y , clas ...

  8. 深入浅出PyTorch中的nn.CrossEntropyLoss

    目录 一.前言 二.理论基础 三.主要参数 3.1 输入与输出 四.从零开始实现 `nn.CrossEntropyLoss` 一.前言 nn.CrossEntropyLoss 常用作多分类问题的损失函 ...

  9. PyTorch之torch.nn.CrossEntropyLoss()

    简介 信息熵: 按照真实分布p来衡量识别一个样本所需的编码长度的期望,即平均编码长度 交叉熵: 使用拟合分布q来表示来自真实分布p的编码长度的期望,即平均编码长度 多分类任务中的交叉熵损失函数 代码 ...

最新文章

  1. vijos 1476 旅游规划题解
  2. 索尼发布无人机相机专利,支持眼部对焦
  3. 笔记-项目质量管理-6σ管理法
  4. 深入探讨this指针
  5. linux fedora安装flameshot火焰截图
  6. 八十七、CSS水平垂直居中的布局方式
  7. 大四实习有点晚[转载]
  8. 【开发工具之Spring Tool Suite】6、用Spring Tool Suite简化你的开发
  9. 串口服务器应用领域及应用方案详解
  10. 2019杭电多校第一场 Operation HDU - 6579
  11. java飞机大战boos代码_飞机大战 java 源代码
  12. 单网卡、单IP、双网关设置内外网同时访问
  13. 2篇SCI二区+3篇一类论文认定A档博士!享110万房补!直接副教授、甚至教授待遇,30万科启
  14. JAVA 实现《捕鱼达人》游戏
  15. 关于互联网用户的隐私保护
  16. H5如何实现图文一行分布且图片在左侧而文字在右侧
  17. Socket基础四:基于流式套接字的网络程序(并发服务器设计)
  18. Office这么多版本傻傻分不清,到底哪个版本好用?
  19. 钱币兑换(动态规划)
  20. 基于FFmpeg实现简单的视频解码器

热门文章

  1. ubuntu server安装hadoop和spark,并设置集群
  2. 2018java多线程面试题_2018年最全Java面试通关秘籍汇总集!
  3. 单反录像按钮在哪_单反与微单到底哪不同
  4. was 程序jvm_【保家护行航】WAS知识学习分享
  5. 从论文到PPT,一键生成!从此报告不用愁!
  6. 美团点评移动网络优化实践
  7. 消息中间件系列(六):什么是流量削峰?如何解决秒杀业务的削峰场景
  8. 领域应用 | 小米在知识表示学习的探索与实践
  9. 论文浅尝 | 基于微量资源的神经网络跨语言命名实体识别
  10. 基于深度学习的信息抽取技术