神经网络架构pytorch-MSELoss损失函数

  MSELoss损失函数中文名字就是:均方损失函数,公式如下所示:

这里 loss, x, y 的维度是一样的,可以是向量或者矩阵,i 是下标。

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

一般的使用格式如下所示:

loss_fn = torch.nn.MSELoss(reduce=True, size_average=True)

 这里注意一下两个入参:

  A reduce = False,返回向量形式的 loss 

  B reduce = True, 返回标量形式的loss

C  size_average = True,返回 loss.mean();

  D  如果 size_average = False,返回 loss.sum()

默认情况下:两个参数都为True.

下面的是python的例子:

 1 # -*- coding: utf-8 -*-
 2
 3 import torch
 4 import torch.optim as optim
 5
 6 loss_fn = torch.nn.MSELoss(reduce=False, size_average=False)
 7 #loss_fn = torch.nn.MSELoss(reduce=True, size_average=True)
 8 #loss_fn = torch.nn.MSELoss()
 9 input = torch.autograd.Variable(torch.randn(3,4))
10 target = torch.autograd.Variable(torch.randn(3,4))
11 loss = loss_fn(input, target)
12 print(input); print(target); print(loss)
13 print(input.size(), target.size(), loss.size())

结果自己可以运行一下看看.

参考文档:

1 https://blog.csdn.net/hao5335156/article/details/81029791

2 https://blog.csdn.net/zhangxb35/article/details/72464152?utm_source=itdadao&utm_medium=referral

原文地址:https://www.cnblogs.com/dylancao/p/9848978.html

时间: 2024-11-13 01:04:28

神经网络架构pytorch-MSELoss损失函数的相关文章

(转) 干货 | 图解LSTM神经网络架构及其11种变体(附论文)

干货 | 图解LSTM神经网络架构及其11种变体(附论文) 2016-10-02 机器之心 选自FastML 作者:Zygmunt Z. 机器之心编译  参与:老红.李亚洲 就像雨季后非洲大草原许多野生溪流分化成的湖泊和水洼,深度学习已经分化成了各种不同的专门架构. 并且,每个架构都会有一个图解,这里将详细介绍它们. 神经网络在概念上很简单,并且它们十分动人.在层级上,有着一堆同质化的元素和统一的单位,并且它们之间还存在在一系列的加权连接.这就是神经网络的所有,至少从理论上来说是这样.然而,时间

神经网络架构整理

新的神经网络架构随时随地都在出现,DCIGN,IiLSTM,DCGAN~ 1. 前向传播网络(FF 或 FFNN) 非常直接,它们从前往后传输信息(分别是输入和输出).神经网络通常都有很多层,包括输入层.隐藏层.输出层.单独一层不会有连接,一般相邻的两层是全部相连的(每一层的每个神经元都与另一层的每个神经元相连).最简单,从某种意义上说也是最实用的网络结构,有两个输入单元,一个输出单元,可以用来为逻辑关口建模.FFNN 通常用反向传播算法训练,因为网络会将“进来的”和“我们希望出来的”两个数据集

轻量级神经网络架构

轻量级神经网络架构综述 论文地址轻量级神经网络架构综述 QQ邮箱 伴随着移动互联网的发展,越来越多的移动式应用层出不穷,为了在便携式设备上使用神经网络,需要减小模型的计算量和参数量,轻量型网络应运而生. 目前轻量级神经网络有三个方向: 人工设计轻量化神经网络模型 基于神经网络结构搜索 (Neural Network Search, NAS) 神经网络模型的压缩 1 人工设计轻量化神经网络模型 1.1 使用小卷积核代替大卷积核 对于5x5大小的感受野,可以通过两个3x3大小的卷积实现,3x3卷积可

pytorch常用损失函数

损失函数的基本用法: criterion = LossCriterion() #构造函数有自己的参数 loss = criterion(x, y) #调用标准时也有参数 得到的loss结果已经对mini-batch数量取了平均值 1.BCELoss(二分类) CLASS torch.nn.BCELoss(weight=None, size_average=None, reduce=None, reduction='mean') 创建一个衡量目标和输出之间二进制交叉熵的criterion unre

Pytorch:损失函数

损失函数通过调用torch.nn包实现. 基本用法: criterion = LossCriterion() #构造函数有自己的参数 loss = criterion(x, y) #调用标准时也有参数 L1范数损失 L1Loss 计算 output 和 target 之差的绝对值. torch.nn.L1Loss(reduction='mean')# reduction-三个值,none: 不使用约简:mean:返回loss和的平均值: sum:返回loss的和.默认:mean. 均方误差损失

典型卷积神经网络架构

参考资料 0 Figures First 1 LeNet5 贡献 2 Dan Ciresan Net 3 AlexNet 贡献 4 VGG19 贡献 5 Network-in-network(NiN) 6 Inception V1-V3 贡献 参考资料 Neural Network Architectures CS231N Spring 2017 Lecture9 0 Figures First CNN架构演变 搬运一张图,总结的很好. Top1 vs operations, size ∝ pa

神经网络架构

机器学习(Machine Learning)有很多方面,当我开始研究学习它时,我发现了各种各样的"小抄",它们简明地列出了给定主题的关键知识点.最终,我汇集了超过 20 篇的机器学习相关的小抄,其中一些我经常会翻阅,而另一些我也获益匪浅.这篇文章里面包含了我在网上找到的 27 个小抄,如果你发现我有所遗漏的话,请告诉我. 机器学习领域的变化是日新月异的,我想这些可能很快就会过时,但是至少在目前,它们还是很潮的. 机器学习 这里有一些有用的流程图和机器学习算法表,我只包括了我所发现的最全

神经网络学习--PyTorch学习03 搭建模型

torch.nn (1)用于搭建网络结构的序列容器:torch.nn.Sequential models = torch.nn.Sequential( torch.nn.Linear(input_data, hidden_layer), torch.nn.ReLU(), torch.nn.Linear(hidden_layer, output_data) ) from collections import OrderedDict # 使用有序字典 使模块有自定义的名次 models2 = tor

经典的卷积神经网络及其Pytorch代码实现

1.LeNet LeNet是指LeNet-5,它是第一个成功应用于数字识别的卷积神经网络.在MNIST数据集上,可以达到99.2%的准确率.LeNet-5模型总共有7层,包括两个卷积层,两个池化层,两个全连接层和一个输出层. import torch import torch.nn as nn from torch.autograd import Variable #方形卷积核和等长的步长 m1=nn.Conv2d(16,33,3,stride=2) #非长方形卷积核,非等长的步长和边界填充 m