内容介绍

在调用pytorch的损失函数时,会有一个’reduction’的参数,本文介绍使用不同的参数对应的结果,以L1 loss为例子:

reduction = mean

当使用的参数为 mean(在pytorch1.7.1中elementwise_mean已经弃用)会对N个样本的loss进行平均之后返回

import torch
import torch.nn as nn
from torch.autograd import Variable
sample = Variable(torch.ones(1,4))
target = Variable(torch.tensor([0,1,2,3]))
criterion = nn.L1Loss(reduction='mean')
loss = criterion(sample,target)
print(loss)

输出:tensor(1.0)

reduction = sum

当使用的参数为 sum会对N个样本的loss求和

import torch
import torch.nn as nn
from torch.autograd import Variable
sample = Variable(torch.ones(1,4))
target = Variable(torch.tensor([0,1,2,3]))
criterion = nn.L1Loss(reduction='sum')
loss = criterion(sample,target)
print(loss)

输出:tensor(4.)

reduction = none

表示直接返回n分样本的loss

import torch
import torch.nn as nn
from torch.autograd import Variable
sample = Variable(torch.ones(1,4))
target = Variable(torch.tensor([0,1,2,3]))
criterion = nn.L1Loss(reduction='none')
loss = criterion(sample,target)
print(loss)

输出:tensor([[1.,0.,1.,2.]])


pytorch损失函数中‘reduction‘参数相关推荐

  1. Pytorch lstm中batch_first 参数理解使用

    作为新手学习和使用Lstm处理数据时,多数会对这个参数有些疑惑,经过长时间的查找资料和个人理解,对这个参数有以下认识: 1.此参数的作用 loader = Data.DataLoader(datase ...

  2. 对比学习损失函数中超参数temperature的作用

    目录 背景 超参数temperature的直观理解 对比学习中的temperature参数理解 背景 最近在看凯明大神的对比学习MOCO时,看到infoNCE loss的公式时,对其中参数T(应该是t ...

  3. PyTorch官方中文文档:torch.optim 优化器参数

    内容预览: step(closure) 进行单次优化 (参数更新). 参数: closure (callable) –...~ 参数: params (iterable) – 待优化参数的iterab ...

  4. Pytorch中tensor维度和torch.max()函数中dim参数的理解

    Pytorch中tensor维度和torch.max()函数中dim参数的理解 维度 参考了 https://blog.csdn.net/qq_41375609/article/details/106 ...

  5. PyTorch计算损失函数对模型参数的Hessian矩阵

    前言 在实现Per-FedAvg的代码时,遇到如下问题: 可以发现,我们需要求损失函数对模型参数的Hessian矩阵. 模型定义 我们定义一个比较简单的模型: class ANN(nn.Module) ...

  6. Pytorch —— 损失函数(二)

    目录 5.nn.L1Loss 6.nn.MSELoss 7.nn.SmoothL1Loss 8.nn.PoissonNLLLoss 9.nn.KLDivLoss 10.nn.MarginRanking ...

  7. ML之XGBoost:XGBoost参数调优的优秀外文翻译—《XGBoost中的参数调优完整指南(带python中的代码)》(二)

    ML之XGBoost:XGBoost参数调优的优秀外文翻译-<XGBoost中的参数调优完整指南(带python中的代码)>(二) 目录 2. xgboost参数/XGBoost Para ...

  8. 损失函数中正则化项L1和L2的理解

    正则化(Regularization) 机器学习中几乎都可以看到损失函数后面会添加一个额外项,常用的额外项一般有两种,一般英文称作ℓ1-norm和ℓ2-norm,中文称作L1正则化和L2正则化,或者L ...

  9. pytorch笔记 pytorch模型中的parameter与buffer

    1 模型的两种参数 在 Pytorch 中一种模型保存和加载的方式如下:(具体见pytorch模型的保存与加载_刘文巾的博客-CSDN博客) #save torch.save(net.state_di ...

最新文章

  1. 老司机给我们解读 Spring Boot 最流行的 16 条实践忠告
  2. mysql AB 的基本搭建
  3. python文件的用法,Python 文件 readlines() 使用方法及示例
  4. POJ1195Mobile phones
  5. 小辣椒p60手机怎么样_小辣椒双机来临,搭载联发科 最低499元
  6. java面向字符的输入流_详细解读Java编程中面向字符的输入流
  7. java操作文件爱女_Java的IO操作---File类
  8. python文件重命名加日期_Python文件创建日期和重命名 - 批评请求
  9. 总结SlickEdit的快捷键,分享当前自用配置
  10. 三国战纪2 ,西游2的FBA 移植攻略!
  11. 如何将b站上的视频下载到本地?
  12. android 获取邮箱账号,android获取google邮箱
  13. 几种常用的操作系统调度策略
  14. 小程序:选举投票问题未知行数输入问题(含代码)
  15. No active profile set, falling back to default profiles: default问题
  16. 周鸿祎反流氓的基本商业逻辑(ZZ)
  17. 服务器加根网线用不用修改路由器,Tenda腾达路由器ads拨号上网设置教程
  18. 【网络资源学习笔记】ShellCode相关内容学习
  19. python 北上资金_北上资金持股相关因子
  20. OPPO手机怎样把图片拼在一起(拼图教程分享)

热门文章

  1. 【单片机】Proteus安装、MDK5安装、Proteus与Keil联合仿真教程
  2. 从零开始,Latex + Vscode的安装和使用
  3. 计算机应用基础教学进度表,《计算机应用基础》教学计划及教学进度
  4. python练习-给数组去重后元素的加序号
  5. Vim中快速定位到某一行的方法
  6. word分散对齐调整宽度_实例比较Word两端对齐与分散对齐
  7. 【RAC】oracle 11g RAC两个机器重启后节点二能找到asm磁盘,节点一没有找到
  8. 学校计算机教室建设要求,计算机教室施工建设要求
  9. 【统计学】经验法则与切比雪夫法则
  10. 前端实现录音功能 语音录入 弹框录入