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实现115网盘自动下载的方法
Sep 30 Python
python魔法方法-属性访问控制详解
Jul 25 Python
python 换位密码算法的实例详解
Jul 19 Python
python保存网页图片到本地的方法
Jul 24 Python
详解python如何在django中为用户模型添加自定义权限
Oct 15 Python
python:接口间数据传递与调用方法
Dec 17 Python
值得收藏的10道python 面试题
Apr 15 Python
Python tensorflow实现mnist手写数字识别示例【非卷积与卷积实现】
Dec 19 Python
Keras之自定义损失(loss)函数用法说明
Jun 10 Python
查看keras的默认backend实现方式
Jun 19 Python
python3.5的包存放的具体路径
Aug 16 Python
用pip给python安装matplotlib库的详细教程
Feb 24 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中的session永不过期的解决思路及实现方法分享
2011/04/20 PHP
PHP抓取及分析网页的方法详解
2016/04/26 PHP
JS宝典学习笔记(下)
2007/01/10 Javascript
基于JQuery的动态删除Table表格的行和列的代码
2011/05/12 Javascript
JavaScript实现网页上的浮动广告的简单方法
2013/06/14 Javascript
checkbox使用示例
2013/08/23 Javascript
原生js和jQuery写的网页选项卡特效对比
2015/04/27 Javascript
原生JS实现旋转木马式图片轮播插件
2016/04/25 Javascript
浅谈JavaScript对象与继承
2016/07/10 Javascript
JavaScript 最佳实践:帮你提升代码质量
2016/12/03 Javascript
详解Nodejs的timers模块
2016/12/22 NodeJs
Input文本框随着输入内容多少自动延伸的实现
2017/02/15 Javascript
Bootstrap Table使用整理(五)之分页组合查询
2017/06/09 Javascript
echarts整合多个类似option的方法实例
2018/07/10 Javascript
详解Webpack loader 之 file-loader
2018/11/07 Javascript
原生JS实现的跳一跳小游戏完整实例
2019/01/27 Javascript
jquery ajax 请求小技巧实例分析
2019/11/11 jQuery
Angular+ionic实现折叠展开效果的示例代码
2020/07/29 Javascript
python检测lvs real server状态
2014/01/22 Python
python类参数self使用示例
2014/02/17 Python
python检测远程udp端口是否打开的方法
2015/03/14 Python
python3实现暴力穷举博客园密码
2016/06/19 Python
python爬取网页转换为PDF文件
2018/06/07 Python
Python使用MyQR制作专属动态彩色二维码功能
2019/06/04 Python
Python 多个图同时在不同窗口显示的实现方法
2019/07/07 Python
python简单实现插入排序实例代码
2020/12/16 Python
html5文本内容_动力节点Java学院整理
2017/07/11 HTML / CSS
DOM和JQuery对象有什么区别
2016/11/11 面试题
迟到早退检讨书
2014/02/10 职场文书
老公保证书范文
2014/04/29 职场文书
中文专业求职信
2014/06/20 职场文书
防汛工作情况汇报
2014/10/28 职场文书
杨善洲观后感
2015/06/04 职场文书
60条职场经典语录,总有一条能触动你的心
2019/08/21 职场文书
教你使用TensorFlow2识别验证码
2021/06/11 Python
pytorch中的torch.nn.Conv2d()函数图文详解
2022/02/28 Python