tensorflow 分类损失函数使用小记


Posted in Python onFebruary 18, 2020

多分类损失函数

label.shape:[batch_size]; pred.shape: [batch_size, num_classes]

使用 tf.keras.losses.sparse_categorical_crossentropy(y_true, y_pred, from_logits=False, axis=-1)

- y_true 真实值, y_pred 预测值
- from_logits,我的理解是,如果预测结果经过了softmax(单次预测结果满足和为1)就使用设为`False`,  
如果预测结果未经过softmax就设为`True`.

pred = tf.convert_to_tensor([[0.9, 0.05, 0.05], [0.5, 0.89, 0.6], [2.05, 0.01, 0.94]])
label = tf.convert_to_tensor([0, 1, 2])
loss = tf.keras.losses.sparse_categorical_crossentropy(label, pred)
print(loss.numpy())
# 包含 reduction 参数, 用于对一个批次的损失函数求平均值,求和等
# loss = tf.keras.losses.SparseCategoricalCrossentropy()(label, pred)
label.shape:[batch_size, num_classes](one_hot);pred.shape:[batch_size, num_classes]

使用 tf.keras.losses.categorical_crossentropy(y_true, y_pred, from_logits=False, axis=-1)

- y_true 真实值, y_pred 预测值
- from_logits 同上

pred = tf.convert_to_tensor([[0.9, 0.05, 0.05], [0.5, 0.89, 0.6], [0.05, 0.01, 0.94]])
label = tf.convert_to_tensor([[1, 0, 0], [0, 1, 0], [0, 0, 1]])
loss = tf.keras.losses.categorical_crossentropy(label, pred)
print(loss.numpy())

二分类损失损失函数

label = tf.convert_to_tensor([0, 0, 1, 1], dtype=tf.float32)
pred = tf.convert_to_tensor([1, 1, 1, 0], dtype=tf.float32)
loss = tf.keras.losses.BinaryCrossentropy()(label, pred)
print(loss.numpy())

多分类与二分类

通常 categorical_crossentropy与 softmax激活函数搭配使用; binary_crossentropy 与 sigmoid搭配使用;

参考

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python设计模式之代理模式实例
Apr 26 Python
python socket 超时设置 errno 10054
Jul 01 Python
Python的__builtin__模块中的一些要点知识
May 02 Python
Python基于有道实现英汉字典功能
Jul 25 Python
浅析python递归函数和河内塔问题
Apr 18 Python
Python实现计算两个时间之间相差天数的方法
May 10 Python
浅谈Python中的全局锁(GIL)问题
Jan 11 Python
详解Python的循环结构知识点
May 20 Python
解决Ubuntu18中的pycharm不能调用tensorflow-gpu的问题
Sep 17 Python
python对输出的奇数偶数排序实例代码
Dec 04 Python
Python plt 利用subplot 实现在一张画布同时画多张图
Feb 26 Python
Python使用华为API为图像设置多个锚点标签
Apr 12 Python
python如何把字符串类型list转换成list
Feb 18 #Python
python计算波峰波谷值的方法(极值点)
Feb 18 #Python
Python表达式的优先级详解
Feb 18 #Python
使用Tkinter制作信息提示框
Feb 18 #Python
Python中import导入不同目录的模块方法详解
Feb 18 #Python
python调用HEG工具批量处理MODIS数据的方法及注意事项
Feb 18 #Python
将pytorch转成longtensor的简单方法
Feb 18 #Python
You might like
thinkPHP统计排行与分页显示功能示例
2016/12/02 PHP
PHP实现的猴王算法(猴子选大王)示例
2018/04/30 PHP
非常不错的一个javascript 类
2006/11/07 Javascript
利用onresize使得div可以随着屏幕大小而自适应的代码
2010/01/15 Javascript
使用jquery实现select添加实现后台权限添加的效果
2011/05/28 Javascript
javascript学习笔记(十六) 系统对话框(alert、confirm、prompt)
2012/06/20 Javascript
JavaScript将Table导出到Excel实现思路及代码
2013/03/13 Javascript
DOM基础教程之模型中的模型节点
2015/01/19 Javascript
JavaScript实现简单图片翻转的方法
2015/04/17 Javascript
JS+DIV实现鼠标划过切换层效果的方法
2015/05/25 Javascript
正则表达式(语法篇推荐)
2016/06/24 Javascript
jQuery Easyui快速入门教程
2016/08/21 Javascript
微信小程序中使用ECharts 异步加载数据的方法
2018/06/27 Javascript
jquery实现的简单轮播图功能【适合新手】
2018/08/17 jQuery
js比较两个单独的数组或对象是否相等的实例代码
2019/04/28 Javascript
js this 绑定机制深入详解
2020/04/30 Javascript
javascript实现移动端触屏拖拽功能
2020/07/29 Javascript
[56:01]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 Effect vs EG
2018/03/31 DOTA
python数据清洗系列之字符串处理详解
2017/02/12 Python
python爬虫框架talonspider简单介绍
2017/06/09 Python
利用python实现简单的循环购物车功能示例代码
2017/07/05 Python
Python3 适合初学者学习的银行账户登录系统实例
2017/08/08 Python
PyTorch的深度学习入门之PyTorch安装和配置
2019/06/27 Python
python实现简单图书管理系统
2019/11/22 Python
西班牙英格列斯百货英国官网:El Corte Inglés英国
2017/10/30 全球购物
西安当代医院管理研究院笔试题
2015/12/11 面试题
英文版餐饮运营管理求职信
2013/11/06 职场文书
群众路线教育实践活动的心得体会
2014/09/03 职场文书
药店采购员岗位职责
2014/09/30 职场文书
教师党员自我评价2015
2015/03/04 职场文书
2015年医院工作总结范文
2015/04/09 职场文书
餐厅保洁员岗位职责
2015/04/10 职场文书
再读《皇帝的新衣》的读后感悟!
2019/08/07 职场文书
8g内存用python读取10文件_面试题-python 如何读取一个大于 10G 的txt文件?
2021/05/28 Python
Java使用jmeter进行压力测试
2021/07/09 Java/Android
Windows 11上手初体验:任务栏和开始菜单等迎来大改
2021/11/21 数码科技