pytorch 实现cross entropy损失函数计算方式


Posted in Python onJanuary 02, 2020

均方损失函数:

pytorch 实现cross entropy损失函数计算方式

这里 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)

以上这篇pytorch 实现cross entropy损失函数计算方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
详解Django框架中用context来解析模板的方法
Jul 20 Python
python文件操作相关知识点总结整理
Feb 22 Python
Pycharm技巧之代码跳转该如何回退
Jul 16 Python
python的变量与赋值详细分析
Nov 08 Python
python中urlparse模块介绍与使用示例
Nov 19 Python
深入理解Python中的super()方法
Nov 20 Python
flask中主动抛出异常及统一异常处理代码示例
Jan 18 Python
Python实现二维数组输出为图片
Apr 03 Python
python两个_多个字典合并相加的实例代码
Dec 26 Python
PyQt5 文本输入框自动补全QLineEdit的实现示例
May 13 Python
Python实现计算图像RGB均值方式
Jun 04 Python
用python批量解压带密码的压缩包
May 31 Python
Matplotlib scatter绘制散点图的方法实现
Jan 02 #Python
Python基础之函数基本用法与进阶详解
Jan 02 #Python
Python面向对象原理与基础语法详解
Jan 02 #Python
Pytorch 的损失函数Loss function使用详解
Jan 02 #Python
Python面向对象封装操作案例详解 II
Jan 02 #Python
Python实现搜索算法的实例代码
Jan 02 #Python
python 实现从高分辨图像上抠取图像块
Jan 02 #Python
You might like
在PHP3中实现SESSION的功能(一)
2006/10/09 PHP
利用PHP扩展vld查看PHP opcode操作步骤
2013/03/04 PHP
php fsockopen伪造post与get方法的详解
2013/06/14 PHP
php生成高清缩略图实例详解
2015/12/07 PHP
PHP排序算法之简单选择排序(Simple Selection Sort)实例分析
2018/04/20 PHP
YII框架模块化处理操作示例
2019/04/26 PHP
PHP使用ajax的post方式下载excel文件简单示例
2019/08/06 PHP
js利用Array.splice实现Array的insert/remove
2009/01/13 Javascript
简单实用的js调试logger组件实现代码
2010/11/20 Javascript
关于eval 与new Function 到底该选哪个?
2013/04/17 Javascript
全面解析Bootstrap表单使用方法(表单按钮)
2015/11/24 Javascript
JavaScript中setTimeout和setInterval函数的传参及调用
2016/03/11 Javascript
AngularJs  Understanding Angular Templates
2016/09/02 Javascript
vuejs响应用户事件(如点击事件)
2017/03/14 Javascript
基于js中document.cookie全面解析
2017/09/14 Javascript
nodejs实现大文件(在线视频)的读取
2020/10/16 NodeJs
微信小程序基于高德地图查找位置并显示文字
2019/10/30 Javascript
JavaScript写个贪吃蛇小游戏(超详细)
2020/03/17 Javascript
js实现轮播图特效
2020/05/28 Javascript
Python数据分析之真实IP请求Pandas详解
2016/11/18 Python
python使用Pycharm创建一个Django项目
2018/03/05 Python
Python数据分析:手把手教你用Pandas生成可视化图表的教程
2018/12/15 Python
python多线程抽象编程模型详解
2019/03/20 Python
Python+unittest+requests 接口自动化测试框架搭建教程
2020/10/09 Python
html5实现多文件的上传示例代码
2014/02/13 HTML / CSS
We Fashion荷兰:一家国际时装公司
2018/04/18 全球购物
成人毕业生自我鉴定
2013/10/18 职场文书
电子商务专业自我鉴定
2013/12/18 职场文书
高三毕业典礼主持词
2014/03/27 职场文书
公民授权委托书范本
2014/09/17 职场文书
就业推荐表自我评价范文
2015/03/02 职场文书
食品仓管员岗位职责
2015/04/01 职场文书
《检阅》教学反思
2016/02/22 职场文书
行政后勤人员工作计划应该怎么写?
2019/08/16 职场文书
网络新闻该怎么写?这些写作技巧你都知道吗?
2019/08/26 职场文书
JavaScript如何优化逻辑判断代码详解
2021/06/08 Javascript