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 相关文章推荐
树莓派中python获取GY-85九轴模块信息示例
Dec 05 Python
详解常用查找数据结构及算法(Python实现)
Dec 09 Python
详解Python函数可变参数定义及其参数传递方式
Aug 02 Python
关于Python数据结构中字典的心得
Dec 04 Python
Python基于递归和非递归算法求两个数最大公约数、最小公倍数示例
May 21 Python
python图片二值化提高识别率代码实例
Aug 24 Python
结合OpenCV与TensorFlow进行人脸识别的实现
Oct 10 Python
如何基于Python制作有道翻译小工具
Dec 16 Python
python GUI库图形界面开发之PyQt5信号与槽机制、自定义信号基础介绍
Feb 25 Python
Python编程快速上手——选择性拷贝操作案例分析
Feb 28 Python
python用什么编辑器进行项目开发
Jun 17 Python
使用Python提取文本中含有特定字符串的方法示例
Dec 09 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
PHP初学入门
2006/11/19 PHP
浅析php单例模式
2014/11/25 PHP
php+mysql删除指定编号员工信息的方法
2015/01/14 PHP
php中static 静态变量和普通变量的区别
2016/12/01 PHP
关于PHP通用返回值设置方法
2017/03/31 PHP
php制作圆形用户头像的实例_自定义封装类源代码
2017/09/18 PHP
在js中使用"with"语句中跨frame的变量引用问题
2007/03/08 Javascript
javascript document.execCommand() 常用解析
2009/12/14 Javascript
Javascript学习笔记5 类和对象
2010/01/11 Javascript
Dom在ajax技术中的作用说明
2010/10/25 Javascript
JQuery中$之选择器用法介绍
2011/04/05 Javascript
Jquery中使用setInterval和setTimeout的方法
2013/04/08 Javascript
24款热门实用的jQuery插件推荐
2014/12/24 Javascript
javascript函数式编程实例分析
2015/04/25 Javascript
HTML5+jQuery插件Quicksand实现超酷的星际争霸2兵种分类展示效果(附demo源码下载)
2016/05/25 Javascript
全面理解JavaScript中的继承(必看)
2016/06/16 Javascript
BootStrap入门教程(一)之可视化布局
2016/09/19 Javascript
jQuery实现6位数字密码输入框
2016/12/29 Javascript
Webpack性能优化 DLL 用法详解
2017/08/10 Javascript
Vue shopCart 组件开发详解
2018/01/26 Javascript
vue中多路由表头吸顶实现的几种布局方式
2019/04/12 Javascript
vue组件中watch props根据v-if动态判断并挂载DOM的问题
2019/05/12 Javascript
js实现简单的日历显示效果函数示例
2019/11/25 Javascript
Antd表格滚动 宽度自适应 不换行的实例
2020/10/27 Javascript
[03:57]DOTA2英雄梦之声_第03期_幻影刺客
2014/06/21 DOTA
Python做简单的字符串匹配详解
2017/03/21 Python
Python如何将函数值赋给变量
2020/04/28 Python
python rsa-oaep加密的示例代码
2020/09/23 Python
美国特价机票专家:Airfarewatchdog
2018/01/24 全球购物
《小山羊和小灰兔》教学反思
2014/02/19 职场文书
社区工作感言
2014/02/21 职场文书
篝火晚会主持词
2014/03/25 职场文书
小学优秀班主任事迹材料
2014/05/17 职场文书
生产助理岗位职责
2014/06/18 职场文书
社区元宵节活动总结
2015/02/06 职场文书
源码分析Redis中 set 和 sorted set 的使用方法
2022/03/22 Redis