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日期操作学习笔记
Oct 07 Python
python写入已存在的excel数据实例
May 03 Python
python斐波那契数列的计算方法
Sep 27 Python
Django框架静态文件使用/中间件/禁用ip功能实例详解
Jul 22 Python
Python Django框架防御CSRF攻击的方法分析
Oct 18 Python
pytorch 求网络模型参数实例
Dec 30 Python
PyTorch使用cpu加载模型运算方式
Jan 13 Python
用python实现一个简单计算器(完整DEMO)
Oct 14 Python
Python Selenium XPath根据文本内容查找元素的方法
Dec 07 Python
详解Python之Scrapy爬虫教程NBA球员数据存放到Mysql数据库
Jan 24 Python
python实现过滤敏感词
May 08 Python
刚学完怎么用Python实现定时任务,转头就跑去撩妹!
Jun 05 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文件的实现方法
2007/03/19 PHP
Ha0k 0.3 PHP 网页木马修改版
2009/10/11 PHP
PHP7.1方括号数组符号多值复制及指定键值赋值用法分析
2016/09/26 PHP
PHP 无限级分类
2017/05/04 PHP
js中将HTMLCollection/NodeList/伪数组转换成数组的代码
2011/07/31 Javascript
html5的自定义data-*属性和jquery的data()方法的使用示例
2013/08/21 Javascript
jquery showModelDialog的使用方法示例详解
2013/11/19 Javascript
showModalDialog模态对话框的使用详解以及浏览器兼容
2014/01/11 Javascript
Javascript基础教程之变量
2015/01/18 Javascript
JavaScript正则表达式的分组匹配详解
2016/02/13 Javascript
一系列Bootstrap导航条使用方法分享
2016/04/29 Javascript
js中获取键盘事件的简单实现方法
2016/10/10 Javascript
Jquery Easyui日历组件Calender使用详解(23)
2016/12/18 Javascript
AngularJS表单提交实例详解
2017/02/18 Javascript
ionic 3.0+ 项目搭建运行环境的教程
2017/08/09 Javascript
Vue cli 引入第三方JS和CSS的常用方法分享
2018/01/20 Javascript
React.js绑定this的5种方法(小结)
2018/06/05 Javascript
Vue是怎么渲染template内的标签内容的
2020/06/05 Javascript
用Nodejs实现在终端中炒股的实现
2020/10/18 NodeJs
Vue实现购物小球抛物线的方法实例
2020/11/22 Vue.js
Python 常用的安装Module方式汇总
2017/05/06 Python
浅谈spring boot 集成 log4j 解决与logback冲突的问题
2020/02/20 Python
Python使用GitPython操作Git版本库的方法
2020/02/29 Python
世界上最大的冷却器制造商:Igloo Coolers
2019/07/23 全球购物
俄罗斯汽车零件和配件在线商店:CarvilleShop
2019/11/29 全球购物
房地产还款计划书
2014/01/10 职场文书
园林技术个人的自我评价
2014/02/15 职场文书
人力资源本科毕业生求职信
2014/06/04 职场文书
国际语言毕业生求职信
2014/07/08 职场文书
校长个人总结
2015/03/03 职场文书
劳动保障个人工作总结
2015/03/04 职场文书
反腐倡廉学习心得体会范文
2015/08/15 职场文书
MySQL锁机制
2021/04/05 MySQL
python 模块重载的五种方法
2021/04/24 Python
一文搞懂python异常处理、模块与包
2021/06/26 Python
python字典进行运算原理及实例分享
2021/08/02 Python