关于cross_entropy = tf.nn.sparse_softmax_cross_entropy_with_logits的思考

本文探讨了TensorFlow中tf.nn.sparse_softmax_cross_entropy_with_logits函数的作用。该函数通过结合softmax与交叉熵计算,简化代码并可能提升计算效率。特别是sparse特性允许直接使用整数标签而非独热编码,适用于单一分类结果的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在学习过程中产生了一个小疑问,现记录如下:

在利用TensorFlow搭建图像分类器中  cross_entropy = tf.nn.sparse_softmax_cross_entropy_with_logits(),
这个函数把交叉熵和softmax函数写在一起,是可以提高运算速度吗?还是仅仅把减少代码行数呢?

我以前的做法是先用softmax求出需要被识别的物体在每个类别的概率,再计算交叉熵。

因为softmax层并不会改变最终的分类结果(排序),所以tensorflow将softmax层与交叉熵函数进行封装,形成一个函数方便计算:tf.nn.softmax_cross_entropy_with_logits(logits= , labels=)。

但是我刚刚说的函数在这基础上多了一个sparse。

我的理解是原本是拿独热码计算比如要识别的东西是第5个,就是000010(这是没有sparse的情形)

然后有了sparse的话就是5,是直接用标签计算交叉熵所以可以加速计算进程,不过这样应该只适用于只有一个分类结果的情形。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值