python+pytorch_pytorch linear函数

python+pytorch_pytorch linear函数损失函数之MSELoss

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

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

MSE:Mean Squared Error  均方误差

含义:均方误差,是预测值与真实值之差的平方和的平均值,即:

python+pytorch_pytorch linear函数

 

但是,在具体的应用中跟定义稍有不同。主要差别是参数的设置,在torch.nn.MSELoss中有一个reduction参数。reduction是维度要不要缩减以及如何缩减主要有三个选项:

‘none’:no reduction will be applied.
‘mean’: the sum of the output will be divided by the number of elements in the output.
‘sum’: the output will be summed.
 

如果不设置reduction参数,默认是’mean’

import torch
import torch.nn as nn
 
a = torch.tensor([[1, 2], [3, 4]], dtype=torch.float)
b = torch.tensor([[3, 5], [8, 6]], dtype=torch.float)
 
loss_fn1 = torch.nn.MSELoss(reduction='none')
loss1 = loss_fn1(a.float(), b.float())
print(loss1)   # 输出结果:tensor([[ 4.,  9.],
               #                 [25.,  4.]])
 
loss_fn2 = torch.nn.MSELoss(reduction='sum')
loss2 = loss_fn2(a.float(), b.float())
print(loss2)   # 输出结果:tensor(42.)
 
 
loss_fn3 = torch.nn.MSELoss(reduction='mean')
loss3 = loss_fn3(a.float(), b.float())
print(loss3)   # 输出结果:tensor(10.5000)

对于三维输入:

a = torch.randint(0, 9, (2, 2, 3)).float()
b = torch.randint(0, 9, (2, 2, 3)).float()
print('a:\n', a)
print('b:\n', b)
 
loss_fn1 = torch.nn.MSELoss(reduction='none')
loss1 = loss_fn1(a.float(), b.float())
print('loss_none:\n', loss1)
 
loss_fn2 = torch.nn.MSELoss(reduction='sum')
loss2 = loss_fn2(a.float(), b.float())
print('loss_sum:\n', loss2)
 
 
loss_fn3 = torch.nn.MSELoss(reduction='mean')
loss3 = loss_fn3(a.float(), b.float())
print('loss_mean:\n', loss3)

运行结果:

python+pytorch_pytorch linear函数

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
上一篇 2025年11月28日 下午2:15
下一篇 2025年11月28日 下午2:43


相关推荐

  • k3s集群安装_hadoop跨集群配置

    k3s集群安装_hadoop跨集群配置文章目录一、k3s离线部署准备工作1.准备节点2.安装Docker3.[k3s官网](https://github.com/k3s-io/k3s/releases/tag/v1.18.6%2Bk3s1)中下载部署文件。部署步骤1.导入镜像:2.修改文件权限:3.安装4.检查是否安装成功:5.卸载k3s问题解决:1.出现kubernetesclusterunreachable:2.出现Theconnectiontotheserverlocalhost:8080wasrefu

    2025年6月9日
    65
  • bat 注释

    bat 注释行注释 remrem 注释内容打开回显 注释内容会输出 注释内容打开回显 注释内容不会输出 ps 建议使用 rem 注释描述内容 使用 注释代码内容 块注释 gotostart 被注释的代码块 start 利用 goto 和 跳转命令实现 上面的 start 标签名是可以随便自定义的

    2026年3月17日
    2
  • claude code 快捷键

    claude code 快捷键

    2026年3月16日
    1
  • 基于Python 输出字符HelloWorld简单总结

    基于Python 输出字符HelloWorld简单总结根据简明教程:源文件#!/usr/bin/python#Filename:helloworld.pyprint'HelloWorld'运行程序,打开shell键入命

    2022年7月6日
    30
  • c++实现远程开关机「建议收藏」

    c++实现远程开关机「建议收藏」把远程开、关机写成了一个类的两个静态函数。这两个功能的实现都需要事先对目标主机进行一些设置。其中远程开机需要目标主机主板支持,并且插上网线。部分主机的设置已经写明。另可实现方法:https://www.cnblogs.com/findumars/p/6009474.html原理参考:https://blog.csdn.net/smstong/article/details/16879347…

    2022年6月2日
    36
  • Centos7.2安装Nginx实现负载平衡

    Centos7.2安装Nginx实现负载平衡

    2022年2月23日
    56

发表回复

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

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