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实现k均值算法示例(k均值聚类算法)
Mar 16 Python
python实现的守护进程(Daemon)用法实例
Jun 02 Python
python实现教务管理系统
Mar 12 Python
对python requests的content和text方法的区别详解
Oct 11 Python
解决python3捕获cx_oracle抛出的异常错误问题
Oct 18 Python
对PyQt5中树结构的实现方法详解
Jun 17 Python
django表单的Widgets使用详解
Jul 22 Python
PyTorch中Tensor的维度变换实现
Aug 18 Python
python fuzzywuzzy模块模糊字符串匹配详细用法
Aug 29 Python
pycharm部署、配置anaconda环境的教程
Mar 24 Python
django学习之ajax post传参的2种格式实例
May 14 Python
聊聊pytorch测试的时候为何要加上model.eval()
May 23 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
什么是调频(FM)、调幅(AM)、短波(SW)、长波(LW)
2021/03/01 无线电
什么是MVC,好东西啊
2007/05/03 PHP
php循环创建目录示例分享(php创建多级目录)
2014/03/04 PHP
PHP远程连接oracle数据库操作实现方法图文详解
2019/04/11 PHP
Mootools 1.2教程 排序类和方法简介
2009/09/15 Javascript
如何确保JavaScript的执行顺序 之jQuery.html并非万能钥匙
2011/03/03 Javascript
最常用的12种设计模式小结
2011/08/09 Javascript
写JQuery插件的基本知识
2013/11/25 Javascript
Js实现当前点击a标签变色突出显示其他a标签回复原色
2013/11/27 Javascript
基于javascript实现精确到毫秒的倒计时限时抢购
2016/04/17 Javascript
jQuery元素属性操作实例(设置、获取及删除元素属性)
2016/09/08 Javascript
使用Bootstrap + Vue.js实现添加删除数据示例
2017/02/27 Javascript
了解VUE的render函数的使用
2017/06/08 Javascript
浅谈JS对象添加getter与setter的5种方法
2018/06/09 Javascript
关于Vue项目跨平台运行问题的解决方法
2018/09/18 Javascript
antd Upload 文件上传的示例代码
2018/12/14 Javascript
JS删除String里某个字符的方法
2021/01/06 Javascript
js实现计算器功能
2020/08/10 Javascript
Vue实现腾讯云点播视频上传功能的实现代码
2020/08/17 Javascript
Python实现统计英文单词个数及字符串分割代码
2015/05/28 Python
python生成验证码图片代码分享
2016/01/28 Python
详解pandas如何去掉、过滤数据集中的某些值或者某些行?
2019/05/15 Python
50行Python代码获取高考志愿信息的实现方法
2019/07/23 Python
python脚本和网页有何区别
2020/07/02 Python
python根据用户需求输入想爬取的内容及页数爬取图片方法详解
2020/08/03 Python
想学画画?python满足你!
2020/12/24 Python
7款设计巧妙的css3飘带状3D立体效果的导航菜单和表单窗口
2013/02/04 HTML / CSS
HTML5中判断用户是否正在浏览页面的方法
2014/05/03 HTML / CSS
网络书店创业计划书
2014/02/07 职场文书
美容院店长岗位职责
2014/04/08 职场文书
小学三年级学生评语
2014/04/22 职场文书
2014年社区教育工作总结
2014/12/02 职场文书
检察院起诉书
2015/05/20 职场文书
python Polars库的使用简介
2021/04/21 Python
MongoDB数据库常用的10条操作命令
2021/06/18 MongoDB
使用Docker容器部署rocketmq单机的全过程
2022/04/03 Servers