tensorflow tf.softmax_cross_entropy相关问题

output = tf.constant([1., 3., 2.])
output_ = tf.nn.softmax(output)
y = tf.constant([1., 3., 2.])


loss1 = tf.losses.softmax_cross_entropy(y, output)

loss2 = -tf.reduce_sum(y * tf.log(output_))
print(loss1)
print(loss2)

#tf.Tensor(6.4456363, shape=(), dtype=float32)
#tf.Tensor(6.4456363, shape=(), dtype=float32)

可以从上面简单的代码看出tf.softmax_cross_entropy是先将out进行类似softmax(为什么是类似知乎上有一定说明,但是这里实际调用的是softmax_cross_entropy_with_logits_v2(tf 1.9),跟softmax_cross_entropy_with_logits应该并无太大差别,这里没有深究)的操作,然后再进行cross entropy的操作。

问题:今天发现训练的模型train loss一直不动,发现是我的tf.losses.softmax_cross_entropy(y, output)两个参数写反。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值