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 12 Python
使用Mixin设计模式进行Python编程的方法讲解
Jun 21 Python
Django 导出 Excel 代码的实例详解
Aug 11 Python
Python探索之URL Dispatcher实例详解
Oct 28 Python
python+selenium实现登录账户后自动点击的示例
Dec 22 Python
高效使用Python字典的清单
Apr 04 Python
TensorFlow实现简单卷积神经网络
May 24 Python
浅谈Python traceback的优雅处理
Aug 31 Python
将Django项目部署到CentOs服务器中
Oct 18 Python
python url 参数修改方法
Dec 26 Python
tensor和numpy的互相转换的实现示例
Aug 02 Python
Python使用selenium + headless chrome获取网页内容的方法示例
Oct 16 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
在任意字符集下正常显示网页的方法二(续)
2007/04/01 PHP
PHP用SAX解析XML的实现代码与问题分析
2011/08/22 PHP
PHP文件大小格式化函数合集
2014/03/10 PHP
php实现过滤表单提交中html标签的方法
2014/10/17 PHP
php基于mcrypt的加密解密实例
2014/10/27 PHP
php实现图片缩略图的方法
2016/03/29 PHP
php使用高斯算法实现图片的模糊处理功能示例
2016/11/11 PHP
php图片裁剪函数
2018/10/31 PHP
实例讲解PHP表单
2020/06/10 PHP
javascript面向对象之Javascript 继承
2010/05/04 Javascript
Js 代码中,ajax请求地址后加随机数防止浏览器缓存的原因
2013/05/07 Javascript
JS弹出对话框实现方法(三种方式)
2015/12/18 Javascript
AngularJS equal比较对象实例详解
2016/09/14 Javascript
Nodejs 搭建简单的Web服务器详解及实例
2016/11/30 NodeJs
angular-ngSanitize模块-$sanitize服务详解
2017/06/13 Javascript
vue input输入框模糊查询的示例代码
2018/05/22 Javascript
Vue点击切换颜色的方法
2018/09/13 Javascript
vue element table 表格请求后台排序的方法
2018/09/28 Javascript
JavaScript多种页面刷新方法小结
2019/04/04 Javascript
[05:14]辉夜杯主赛事第二日 RECAP精彩回顾
2015/12/27 DOTA
使用python提取html文件中的特定数据的实现代码
2013/03/24 Python
Python函数参数操作详解
2018/08/03 Python
详解python列表生成式和列表生成式器区别
2019/03/27 Python
三个python爬虫项目实例代码
2019/12/28 Python
Python爬虫与反爬虫大战
2020/07/30 Python
浏览器实现移动端高性能css3动画(开启gpu加速)
2013/12/23 HTML / CSS
红色康乃馨酒店:Red Carnation Hotels
2017/06/22 全球购物
介绍一下SQL Server的全文索引
2013/08/15 面试题
大学生饮食配送创业计划书
2014/01/04 职场文书
仓库管理员岗位职责
2014/03/19 职场文书
高三毕业典礼主持词
2014/03/27 职场文书
幼儿园教师节演讲稿
2014/09/03 职场文书
父母教会我观后感
2015/06/17 职场文书
智慧人生:永远不需要向任何人解释你自己
2019/08/20 职场文书
Mysql数据库值的添加、修改、删除及清空操作实例
2021/06/20 MySQL
详解JavaScript的计时器和按钮效果设置
2022/02/18 Javascript