pytorch mseloss_pytorch中文手册

pytorch mseloss_pytorch中文手册1、均方差损失函数loss,x,y可以是向量或者矩阵,i是下标。很多的loss函数都有size_average和reduce两个布尔类型的参数。因为一般损失函数都是直接计算batch的数据,因此返回的loss结果都是维度为(batch_size,)的向量。(说的是一般的情况,这里返回的没有维度为(batch_size,)这种情况)2、nn.MSELoss()参数介绍(1)如果reduction=‘none’,直接返回向量形式的loss(2)如果redu

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

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

1、均方差损失函数

在这里插入图片描述

  • loss, x, y 可以是向量或者矩阵,i 是下标。

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

2、nn.MSELoss()参数介绍

  • (1)如果 reduction = ‘none’,直接返回向量形式的 loss
  • (2)如果 reduction ≠ ‘none’,那么 loss 返回的是标量
      a)如果 reduction=‘mean’,返回 loss.mean(); 注意:默认情况下, reduction=‘mean’
      b)如果 reduction=‘sum’,返回 loss.sum();

3、代码

import torch
import numpy as np

a = np.array([[1, 2], [3, 4]])
b = np.array([[2, 3], [4, 4]])
inputs = torch.autograd.Variable(torch.from_numpy(a))
targets = torch.autograd.Variable(torch.from_numpy(b))

# ****************************************************
# 1、返回向量
# ****************************************************
loss_fn_1 = torch.nn.MSELoss(reduction='none')
# 将Variable类型统一为float()(tensor类型也是调用xxx.float())
loss_1 = loss_fn_1(inputs.float(), targets.float())         
print(loss_1)

# ****************************************************
# 2、返回平均值
# ****************************************************
loss_fn_2 = torch.nn.MSELoss(reduction='mean')
# 将Variable类型统一为float()(tensor类型也是调用xxx.float())
loss_2 = loss_fn_2(inputs.float(), targets.float())         
print(loss_2)

# ****************************************************
# 3、默认情况下:返回平均值
# ****************************************************
loss_fn_3 = torch.nn.MSELoss()
# 将Variable类型统一为float()(tensor类型也是调用xxx.float())
loss_3 = loss_fn_3(inputs.float(), targets.float())         
print('*'*30)
print(loss_3)               # tensor(0.7500)
print(loss_3.shape)         # torch.Size([])
print(type(loss_3))         # <class 'torch.Tensor'>
# .item()方法 是得到一个元素张量里面的元素值,具体就是 用于将一个零维张量转换成浮点数
print(loss_3.item())        # 0.75 
print(type(loss_3.item()))  # <class 'float'>
print('*'*30)
# *****************************************************
# 4、返会求和值
# *****************************************************
loss_fn_4 = torch.nn.MSELoss(reduction='sum')
# 将Variable类型统一为float()(tensor类型也是调用xxx.float())
loss_4 = loss_fn_4(inputs.float(), targets.float())         
print(loss_4)

4、运行结果

在这里插入图片描述

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • cubieboard服务器系统,CubieBoard_搭建自己的系统.pdf

    cubieboard服务器系统,CubieBoard_搭建自己的系统.pdfCubieBoard_搭建自己的系统构建自己的CubieBoardDebianLinuxsoloforce汇编整理2013年10月10日1soloforce摘要本文在x86-64UbuntuLinux上为CubieBoard(包括A10单核和A20双核系统)构建一个基于ARMHF的DebianLinux,包括SPL、U-BOOT、内核(Kernel)、根系统…

    2022年7月22日
    8
  • aop实现原理面试_aop ioc 面试怎么回答

    aop实现原理面试_aop ioc 面试怎么回答作用——用于处理系统中分布的各个模块的横切关注点(如:事务管理、日志、缓存等),是使用动态代理实现,在内存中临时为增强某个方法生成一个AOP对象,该对象含有目标对象的所有方法,在特定的切入点做了增强处理,并回调原来的方法。P:咋眼一看,不能直接理解很正常。动态代理的实现——主要分两种方式实现1、JDK动态代理原理说明——JDK动态管理通过反射接收被代理的类,该代理的类必须实现接口,核心是InvocationHandler和Proxy类。2、Cglib动态代理原理说明——Cglib通过.

    2022年9月2日
    5
  • SpringBoot2.0 Actuator 监控参数说明

    SpringBoot2.0 Actuator 监控参数说明基于SpringBoot2.0+Actuatormetrics的监控(基于OracleJDK9,G1)引言SpringBoot2在spring-boot-actuator中引入了micrometer,对1.x的metrics进行了重构,另外支持对接的监控系统也更加丰富(Atlas、Datadog、Ganglia、Graphite、Influx、JMX、NewRelic、Prometheus、SignalFx、StatsD、Wavefront)。本文以Prometheus为例阐述SpringBo

    2022年5月9日
    47
  • 归一化方法总结_实例归一化

    归一化方法总结_实例归一化参考自:http://blog.csdn.net/zbc1090549839/article/details/44103801http://blog.csdn.net/junmuzi/article/details/48917361归一化方法(NormalizationMethod)1。把数变为(0,1)之间的小数主要是为了数据处理方便提出来的,把数据映

    2022年10月11日
    2
  • rabbitmq 启动命令「建议收藏」

    rabbitmq 启动命令「建议收藏」linux系统:centos71.启动前,查看mq状态systemctlstatusrabbitmq-server2.启动systemctlstartrabbitmq-server3.停止systemctlstoprabbitmq-server4.重启restart5.打开浏览器管理页面:默认端口号15672systemctlstatusfirewalld//关闭防火墙systemctldisablefirewalldsystemctlstopfir

    2025年6月10日
    2
  • centos 7-aarch64如何替换yum源「建议收藏」

    centos 7-aarch64如何替换yum源「建议收藏」一、进入yum.repo.d[root@node-01~]#cd/etc/yum.repos.d/[root@node-01yum.repos.d]#lsCentOS-Base.repoCentOS-Sources.repo二、备份原yum源[root@node-01yum.repos.d]#mkdiryum-back[root@node-01yu…

    2022年9月25日
    3

发表回复

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

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