MSELoss详解+避坑指南

这篇具有很好参考价值的文章主要介绍了MSELoss详解+避坑指南。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

MSE均方损失函数应用:


loss(xi,yi)=(xi−yi)2
loss(xi,yi)=(xi−yi)2
这里 loss, x, y 的维度是一样的,可以是向量或者矩阵,i 是下标。

很多的 loss 函数都有 size_average 和 reduce 两个布尔类型的参数。因为一般损失函数都是直接计算 batch 的数据,因此返回的 loss 结果都是维度为 (batch_size, ) 的向量。

(1)如果 reduce = False,那么 size_average 参数失效,直接返回向量形式的 loss
(2)如果 reduce = True,那么 loss 返回的是标量

a)如果 size_average = True,返回 loss.mean();
b)如果 size_average = False,返回 loss.sum();


注意:默认情况下, reduce = True,size_average = True

MSE参数详解:

torch.nn.MSELoss(size_average=None, reduce=None, reduction: str = 'mean')

size_averagereduce在当前版本的pytorch已经不建议使用了,只设置reduction就行了。

reduction的可选参数有:'none' 、'mean' 、'sum'

reduction='none':求所有对应位置的差的平方,返回的仍然是一个和原来形状一样的矩阵。

reduction='mean':求所有对应位置差的平方的均值,返回的是一个标量。

reduction='sum':求所有对应位置差的平方的和,返回的是一个标量。

MSE避坑地方:

在pytorch中,经常使用nn.MSELoss作为损失函数,例如

loss=nn.MSELoss()
input=torch.randn(3,5,requires_grad=True)
target=torch.randn(3,5)
error=loss(input,target)
error.backward()


这个地方有一个巨坑,就是一定要小心input和target的位置,说的更具体一些,target一定需要是一个不能被训练更新的、requires_grad=False的值,否则会报错!!!

MSE与Cross entropy loss区别 

MSELoss详解+避坑指南

 


————————————————

参考链接:

https://blog.csdn.net/jzwong/article/details/104085769

https://blog.csdn.net/hao5335156/article/details/81029791文章来源地址https://www.toymoban.com/news/detail-454485.html

到了这里,关于MSELoss详解+避坑指南的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 图文详解丨iOS App上架全流程及审核避坑指南

    ​ App Store作为苹果官方的应用商店,审核严格周期长一直让用户头疼不已,很多app都“死”在了审核这一关,那我们就要放弃iOS用户了吗?当然不是!本期我们从iOS app上架流程开始梳理,详细了解下iOS app上架的那些事。 iOS app上架总体流程: ​ ​ 1登录苹果开发者中心,注

    2024年02月22日
    浏览(65)
  • Flyway详解(使用说明及避坑指南、一文搞懂flyway)

    Flyway是一款开源的数据库版本管理工具,可以实现管理并跟踪数据库变更,支持数据库版本自动升级,而且不需要复杂的配置,能够帮助团队更加方便、合理的管理数据库变更。 例:创建两个sql变更文件,项目启动后会将两个文件中的sql语句全部执行。 简单举个例子:开发

    2023年04月22日
    浏览(44)
  • 深度学习与计算机视觉教程(3) | 损失函数与最优化(CV通关指南·完结)

    在上一篇 深度学习与计算机视觉教程(2) - 图像分类与机器学习基础 内容中,我们对线性分类器做了一些介绍,我们希望线性分类器能够准确地对图像进行分类,要有一套优化其权重参数的方法,这就是本篇ShowMeAI要给大家介绍到的损失函数与最优化相关的知识。 损失函数 数

    2024年02月20日
    浏览(40)
  • yolov5损失函数详解【附代码】

    本文章将结合代码对yolov5损失函数部分进行详细说明,包含其中的样本匹配问题。如果还需要学习关于yolov5其他部分内容,可以参考我其他文章。 yolov5语义分割:                 yolov5图像分割中的NMS处理                 yolov5图像分割Segmentation函数 yolov5 trt

    2024年02月02日
    浏览(49)
  • 目标检测--边框回归损失函数SIoU原理详解及代码实现

    1.1 原理 有关IoU损失函数,如(GIoU, DIoU, CIoU)没有考虑到真实框与预测框框之间的方向,导致收敛速度较慢,对此SIoU引入真实框和预测框之间的向量角度,重新定义相关损失函数,具体包含四个部分: (1)角度损失(Angle cost),定义如下 Λ = 1 − 2 ∗ sin ⁡ 2 ( arcsin ⁡ ( c h σ ) −

    2024年01月18日
    浏览(43)
  • 机器学习分类,损失函数中为什么要用Log,机器学习的应用

    目录 损失函数中为什么要用Log 为什么对数可以将乘法转化为加法? 机器学习(Machine Learning) 机器学习的分类 监督学习 无监督学习 强化学习 机器学习的应用 应用举例:猫狗分类 1. 现实问题抽象为数学问题 2. 数据准备 3. 选择模型 4. 模型训练及评估 5.预测结果 推荐阅读

    2024年02月11日
    浏览(39)
  • 详解Pytorch中的torch.nn.MSELoss函,包括对每个参数的分析!

    一、函数介绍 Pytorch中MSELoss函数的接口声明如下,具体网址可以点这里。 torch.nn.MSELoss(size_average=None, reduce=None, reduction=‘mean’) 该函数 默认用于计算两个输入对应元素差值平方和的均值 。具体地,在深度学习中,可以使用该函数用来计算两个特征图的相似性。 二、使用方式

    2023年04月19日
    浏览(44)
  • ES避坑指南

    分片是一个功能完整的搜索引擎,它拥有使用一个节点上的所有资源的能力。 索引一旦创建分片数量就已经确定,且不可更改,默认为5个分片,每个分片有1个副本 _index: 索引名,这个名字必须小写,不能以下划线开头,不能包含逗号 _type: 索引下的逻辑分区 一个 _type 命名可

    2023年04月09日
    浏览(38)
  • Prisma 避坑指南!

    环境变量问题 npx prisma db push 默认取 .env 配置文件,那多环境怎么处理? 增加 .env.test .env.prod 等文件, 安装 dotenv-cli ,执行 dotenv -e .env.test -- npx prisma db push 来指定 prisma 的运行环境 实际项目中与 nodejs (koa、egg、midway、nest)等框架结合使用时,如 midway.js ,包含内置配置文件为

    2024年02月11日
    浏览(31)
  • 数据结构入门指南:链表(新手避坑指南)

    目录 前言 1.链表 1.1链表的概念  1.2链表的分类 1.2.1单向或双向 1.2.2.带头或者不带头 1.2.33. 循环或者非循环 1.3链表的实现  定义链表 总结         前边我们学习了顺序表,顺序表是数据结构中最简单的一种线性数据结构,今天我们来学习链表,难度相较于顺序表会大幅增

    2024年02月15日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包