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 30 Python
Python中用Decorator来简化元编程的教程
Apr 13 Python
Python下的常用下载安装工具pip的安装方法
Nov 13 Python
Python数据结构之顺序表的实现代码示例
Nov 15 Python
python cx_Oracle的基础使用方法(连接和增删改查)
Nov 19 Python
详解Python logging调用Logger.info方法的处理过程
Feb 12 Python
pytorch numpy list类型之间的相互转换实例
Aug 18 Python
Python魔法方法 容器部方法详解
Jan 02 Python
Pandas —— resample()重采样和asfreq()频度转换方式
Feb 26 Python
解决pycharm每次打开项目都需要配置解释器和安装库问题
Feb 26 Python
如何快速理解python的垃圾回收机制
Sep 01 Python
在Windows下安装配置CPU版的PyTorch的方法
Apr 02 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
php中字符串和整数比较的操作方法
2019/06/06 PHP
在Laravel中实现使用AJAX动态刷新部分页面
2019/10/15 PHP
layui数据表格自定义每页条数limit设置
2019/10/26 PHP
JQuery优缺点分析说明
2011/04/10 Javascript
javascript去掉前后空格的实例
2013/11/07 Javascript
js 赋值包含单引号双引号问题的解决方法
2014/02/26 Javascript
javascript实现列表滚动的方法
2015/07/30 Javascript
JavaScript函数节流和函数去抖知识点学习
2018/07/31 Javascript
[54:47]Liquid vs VP Supermajor决赛 BO 第五场 6.10
2018/07/05 DOTA
Python字符串匹配算法KMP实例
2015/07/18 Python
轻松掌握python设计模式之策略模式
2016/11/18 Python
Python实现检测文件MD5值的方法示例
2018/04/11 Python
JSON文件及Python对JSON文件的读写操作
2018/10/07 Python
Python中super函数用法实例分析
2019/03/18 Python
Pyqt5如何让QMessageBox按钮显示中文示例代码
2019/04/11 Python
Apache部署Django项目图文详解
2019/07/30 Python
Python字符串、列表、元组、字典、集合的补充实例详解
2019/12/20 Python
python内打印变量之%和f的实例
2020/02/19 Python
Keras 实现加载预训练模型并冻结网络的层
2020/06/15 Python
video.js支持m3u8格式直播的实现示例
2020/05/20 HTML / CSS
德国50岁以上交友网站:Lebensfreunde
2020/03/18 全球购物
中专生自荐信
2013/10/12 职场文书
厂长助理岗位职责
2013/12/27 职场文书
运动会闭幕式解说词
2014/02/21 职场文书
企业节能减排实施方案
2014/03/19 职场文书
校园安全标语
2014/06/07 职场文书
安全资料员岗位职责范本
2014/06/28 职场文书
新闻学专业求职信
2014/07/28 职场文书
股东合作协议书
2014/09/12 职场文书
支部书记四风问题自我剖析材料
2014/09/29 职场文书
工作经历证明书范文
2014/11/02 职场文书
2014年综合治理工作总结
2014/11/20 职场文书
党风廉正建设个人工作总结
2015/03/06 职场文书
Python机器学习三大件之一numpy
2021/05/10 Python
Python如何用re模块实现简易tokenizer
2022/05/02 Python
win11开机发生死循环重启怎么办?win11开机发生死循环重启解决方法
2022/08/05 数码科技