pytorch mseloss_pytorch handbook

pytorch mseloss_pytorch handbook1、均方损失函数:loss(xi,yi)=(xi−yi)2loss(xi,yi)=(xi−yi)2\text{loss}(\mathbf{x}_i,\mathbf{y}_i)=(\mathbf{x}_i-\mathbf{y}_i)^2这里loss,x,y的维度是一样的,可以是向量或者矩阵,i是下标。很多的loss函数都有size_average和reduc…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

均方损失函数:

loss(xi,yi)=(xiyi)2 loss ( x i , y i ) = ( x i − y i ) 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

import torch
import numpy as np

1、返回向量

loss_fn = torch.nn.MSELoss(reduce=False, size_average=False)
a=np.array([[1,2],[3,4]])
b=np.array([[2,3],[4,5]])
input = torch.autograd.Variable(torch.from_numpy(a))
target = torch.autograd.Variable(torch.from_numpy(b))

这里将Variable类型统一为float()(tensor类型也是调用xxx.float())

loss = loss_fn(input.float(), target.float())
print(loss)
tensor([[ 1.,  1.],
        [ 1.,  1.]])

2、返回平均值

a=np.array([[1,2],[3,4]])
b=np.array([[2,3],[4,4]])
loss_fn = torch.nn.MSELoss(reduce=True, size_average=True)
input = torch.autograd.Variable(torch.from_numpy(a))
target = torch.autograd.Variable(torch.from_numpy(b))
loss = loss_fn(input.float(), target.float())
 print(loss)
tensor(0.7500)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/192029.html原文链接:https://javaforall.net

(0)
上一篇 2026年1月20日 下午5:22
下一篇 2026年1月20日 下午6:01


相关推荐

  • 深度学习环境搭建(GPU)CUDA安装(完全版)

    深度学习环境搭建(GPU)CUDA安装(完全版)深度学习环境搭建(GPU)CUDA安装cuDNN安装

    2022年5月23日
    146
  • caffeine java_Caffeine用法

    caffeine java_Caffeine用法Caffeine 是使用 Java8 对 Guava 缓存的重写版本 在 SpringBoot2 0 中将取代 Guava 如果出现 Caffeine CaffeineCach 将会自动配置 使用 spring cache cache names 属性可以在启动时创建缓存 并可以通过以下配置进行自定义 按顺序 spring cache caffeine spec 定义的特殊缓存 com github

    2026年3月18日
    2
  • Thinkpad X201拆机清灰[通俗易懂]

    Thinkpad X201拆机清灰[通俗易懂]这个是我自己的本本,买的时候是二手,两年一直工作正常。最近温度飙升,经常保护性关机。拆机第一步还是从底部开始,先卸电池下来。拆下内存盖板,漏出内存。这里的内存有一条是我自己加的。侧面是硬盘,这个位置跟其他本本不太一样。键盘从正面上方可以撬开,掀开要注意,小心排线。排线拔下来后,就可以继续拆主板。这个这个是左上的排线。主板上的螺钉拆完后,就可以掀起来了。高温的罪魁祸首散热片要拆下来清洗。厚厚一层清理完后,温度降低40度。效果明显。…

    2022年4月19日
    582
  • MongoDB(二)—-数据库操作

    MongoDB(二)—-数据库操作

    2020年11月12日
    199
  • 蒙特卡洛树搜索 MCTS 入门[通俗易懂]

    蒙特卡洛树搜索 MCTS 入门[通俗易懂]引言  你如果是第一次听到蒙特卡洛,可能会认为这是一个人名。那么你就大错特错,蒙特卡洛不是一个人名,而是一个地方,还一个赌场名!!!但是这不是我们的重点。  我们今天的主题就是入门蒙特卡洛树搜索,这个算法我个人觉得非常神奇也非常有意思。因为前几年AlphaGo就是借助蒙塔卡洛树搜索以及基于深度学习的的策略价值网络击败了人类冠军,赢得了胜利。而今天我们的主角就是蒙特卡洛树搜索它究竟是怎么实现的?它的原理?以及会举出一个例子来告诉大家整个算法的工作流程。一、什么是MCTS?  蒙特卡洛树搜索是一

    2022年6月15日
    121
  • 不买API | GPT-5.4接入OpenClaw按照教程

    不买API | GPT-5.4接入OpenClaw按照教程

    2026年3月14日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号