tensorflow中的各种交叉熵损失计算函数辨析(含1.x、2.0版本)

简介:虽然tf2.0已经诞生一段时间了,但是tf1.x版本还是有非常广泛的使用场景。本文主要对新旧版本中,有关交叉熵损失函数的使用进行辨析,因为本人也是小白一个,不足指出,还请各位指教~

首先,在tensorflow的1.x版本中,由于存在多种api可以使用,包括tf.nntf.contribtf.layers,有时候难免有些混乱,这里先简单介绍一下三者的区别:
(此段引自GitHub Issue下的官方解释,当时2.0版本还没有出现,现在tf.contrib中的功能已经被砍掉或者移动到其他模块下面了)

  • tf.contrib是一些处于research阶段的代码,比较unstable,将来测试稳定后会被移入到tf.layers中,也可能会被弃用或者删除;
  • tf.layers里面是一些已经比较成熟的代码,不会再有太大改动;
  • tf.nn是最基本的代码,实现的功能比较基础,还需要结合其他的API来用。

一、tensorflow 1.x版本中的那些交叉熵损失函数们

1. 用于单标签多分类的sparse_softmax_corss_entropy_with_logits

该函数将未经softmax的网络输出进行softmax后,再与真实的类别标签求解交叉熵损失,并返回损失值。
函数接口:

tf.nn.sparse_softmax_corss_entropy_with_logits(logits, labels, name)
  • 所谓的单标签多分类是指:在多分类任务中,最终只能预测并输出单个类别,不能同时预测多个类别,一张图片预测的要么是horse,要么是dog,不能同时是horse和dog(作为对比,多标签是指,这张图片可能同时是horse和dog);
  • 要求logits shape=[batch_size, num_labels], 而labels
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值