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生成随机密码
Mar 10 Python
在Python的Django框架上部署ORM库的教程
Apr 20 Python
python中字符串类型json操作的注意事项
May 02 Python
Python中对象的引用与复制代码示例
Dec 04 Python
Python无损音乐搜索引擎实现代码
Feb 02 Python
Linux下python制作名片示例
Jul 20 Python
详解python中的hashlib模块的使用
Apr 22 Python
Python集中化管理平台Ansible介绍与YAML简介
Jun 12 Python
图文详解Django使用Pycharm连接MySQL数据库
Aug 09 Python
python实现最大优先队列
Aug 29 Python
Django模板标签{% for %}循环,获取制定条数据实例
May 14 Python
详解Python 3.10 中的新功能和变化
Apr 28 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
完美实现GIF动画缩略图的php代码
2011/01/02 PHP
php实现多张图片上传加水印技巧
2013/04/18 PHP
基于PHP Socket配置以及实例的详细介绍
2013/06/13 PHP
PHP实现Soap通讯的方法
2014/11/03 PHP
php类自动加载器实现方法
2015/07/28 PHP
windows环境下使用Composer安装ThinkPHP5
2018/05/18 PHP
php workerman定时任务的实现代码
2018/12/23 PHP
PHP中非常有用却鲜有人知的函数集锦
2019/08/17 PHP
25个好玩的JavaScript小游戏分享
2011/04/22 Javascript
多种方法实现load加载完成后把图片一次性显示出来
2014/02/19 Javascript
使用原生js封装webapp滑动效果(惯性滑动、滑动回弹)
2014/05/06 Javascript
JavaScript插件化开发教程 (三)
2015/01/27 Javascript
jQuery插件EasyUI校验规则 validatebox验证框
2015/11/29 Javascript
BootstrapTable与KnockoutJS相结合实现增删改查功能【二】
2016/05/10 Javascript
防止Node.js中错误导致进程阻塞的办法
2016/08/11 Javascript
js实现动态显示时间效果
2017/03/06 Javascript
js仿拉勾网首页穿墙广告效果
2017/03/08 Javascript
微信小程序 支付功能(前端)的实现
2017/05/24 Javascript
vue2实现可复用的轮播图carousel组件详解
2017/11/27 Javascript
基于Vue中点击组件外关闭组件的实现方法
2018/03/06 Javascript
layui操作列按钮个数和文字颜色的判断实例
2019/09/11 Javascript
VUE注册全局组件和局部组件过程解析
2019/10/10 Javascript
解决python3捕获cx_oracle抛出的异常错误问题
2018/10/18 Python
详解Python并发编程之创建多线程的几种方法
2019/08/23 Python
python 实现仿微信聊天时间格式化显示的代码
2020/04/17 Python
如何配置关联Python 解释器 Anaconda的教程(图解)
2020/04/30 Python
Python Scrapy图片爬取原理及代码实例
2020/06/12 Python
详解Python爬虫爬取博客园问题列表所有的问题
2021/01/18 Python
HTML5 播放 RTSP 视频的实例代码
2019/07/29 HTML / CSS
毕业生自我推荐
2013/11/04 职场文书
语文教学随笔感言
2014/02/18 职场文书
个人作风建设总结
2014/10/23 职场文书
2015毕业生实习工作总结
2014/12/12 职场文书
2016圣诞节贺卡寄语
2015/12/07 职场文书
python自动化测试通过日志3分钟定位bug
2021/11/20 Python
python标准库ElementTree处理xml
2022/05/20 Python