matlab的损失函数mse,MSELoss损失函数

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

e8e374f699809095f1d9599d445b8096.png

这里 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的例子:

# -*- coding: utf-8 -*-

import torch

import torch.optim as optim

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

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

#loss_fn = torch.nn.MSELoss()

input = torch.autograd.Variable(torch.randn(3,4))

target = torch.autograd.Variable(torch.randn(3,4))

loss = loss_fn(input, target)

print(input); print(target); print(loss)

print(input.size(), target.size(), loss.size())

承接Matlab、Python和C++的编程,机器学习、计算机视觉的理论实现及辅导,本科和硕士的均可,咸鱼交易,专业回答请走知乎,详谈请联系QQ号757160542,非诚勿扰。

本文同步分享在 博客“于小勇”(CSDN)。

如有侵权,请联系 support@oschina.cn 删除。

本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值