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 相关文章推荐
使用setup.py安装python包和卸载python包的方法
Nov 27 Python
Python入门篇之正则表达式
Oct 20 Python
python中的__slots__使用示例
Feb 26 Python
在Python操作时间和日期之asctime()方法的使用
May 22 Python
Python的for和break循环结构中使用else语句的技巧
May 24 Python
Python编程把二叉树打印成多行代码
Jan 04 Python
python时间日期函数与利用pandas进行时间序列处理详解
Mar 13 Python
Python实现的自定义多线程多进程类示例
Mar 23 Python
Python功能点实现:函数级/代码块级计时器
Jan 02 Python
在python Numpy中求向量和矩阵的范数实例
Aug 26 Python
python实现两个一维列表合并成一个二维列表
Dec 02 Python
nginx搭建基于python的web环境的实现步骤
Jan 03 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计算排列组合的方法
2013/11/13 PHP
PHP调用C#开发的dll类库方法
2014/07/28 PHP
php获得网站访问统计信息类Compete API用法实例
2015/04/02 PHP
php封装单文件上传到数据库(路径)
2017/10/15 PHP
PHP autoload使用方法及步骤详解
2020/09/05 PHP
Js 获取当前函数参数对象的实现代码
2016/06/20 Javascript
vuejs 单文件组件.vue 文件的使用
2017/07/28 Javascript
Vue的百度地图插件尝试使用
2017/09/06 Javascript
使用Bootrap和Vue实现仿百度搜索功能
2017/10/26 Javascript
JavaScript数据结构之双向链表定义与使用方法示例
2017/10/27 Javascript
React Native开发封装Toast与加载Loading组件示例
2018/09/08 Javascript
Vue+abp微信扫码登录的实现代码示例
2020/01/06 Javascript
Vue项目中使用flow做类型检测的方法
2020/03/18 Javascript
在react项目中使用antd的form组件,动态设置input框的值
2020/10/24 Javascript
Python输出PowerPoint(ppt)文件中全部文字信息的方法
2015/04/28 Python
在Python中操作列表之list.extend()方法的使用
2015/05/20 Python
Windows下将Python文件打包成.EXE可执行文件的方法
2018/08/03 Python
python 构造三维全零数组的方法
2018/11/12 Python
python实现扫描局域网指定网段ip的方法
2019/04/16 Python
pyqt5与matplotlib的完美结合实例
2019/06/21 Python
Python字典推导式将cookie字符串转化为字典解析
2019/08/10 Python
用python实现一个简单的验证码
2020/12/09 Python
浅谈HTML5 Web Worker的使用
2018/01/05 HTML / CSS
世界上最大的糖果店:Dylan’s Candy Bar
2017/11/07 全球购物
嘻哈珠宝品牌:KRKC&CO
2020/10/19 全球购物
客服部工作职责范本
2014/02/14 职场文书
人事专员的岗位职责
2014/03/01 职场文书
搞笑爱情保证书
2014/04/29 职场文书
党的群众路线教育实践活动查摆问题自查报告
2014/10/10 职场文书
幼儿教师个人总结
2015/02/05 职场文书
茶楼服务员岗位职责
2015/02/09 职场文书
2015年感恩母亲节活动方案
2015/05/04 职场文书
大学生如何逃脱“毕业季创业队即散伙”魔咒?
2019/08/19 职场文书
Golang 字符串的常见操作
2022/04/19 Golang
详解Python中的for循环
2022/04/30 Python
pd.DataFrame中的几种索引变换的实现
2022/06/16 Python