gpt4 book ai didi

tensorflow - 为什么 softmax_cross_entropy_with_logits_v2 返回成本甚至相同

转载 作者:行者123 更新时间:2023-12-03 12:34:19 25 4
gpt4 key购买 nike

我已经测试过“softmax_cross_entropy_with_logits_v2”
带有随机数

import tensorflow as tf

x = tf.placeholder(tf.float32,shape=[None,5])
y = tf.placeholder(tf.float32,shape=[None,5])
softmax = tf.nn.softmax_cross_entropy_with_logits_v2(logits=x,labels=y)

with tf.Session() as sess:
feedx=[[0.1,0.2,0.3,0.4,0.5],[0.,0.,0.,0.,1.]]
feedy=[[1.,0.,0.,0.,0.],[0.,0.,0.,0.,1.]]
softmax = sess.run(softmax, feed_dict={x:feedx, y:feedy})
print("softmax", softmax)

控制台“softmax [1.8194163 0.9048325]”

我对这个功能的理解是
此函数仅在 logits 和标签不同时返回成本。

那么为什么它会返回 0.9048325 甚至相同的值?

最佳答案

方式tf.nn.softmax_cross_entropy_with_logits_v2有效的是它在您的 x 上执行 softmax将数组转换为概率的数组:

enter image description here

哪里i是数组的索引。然后输出 tf.nn.softmax_cross_entropy_with_logits_v2将是 -log(p) 之间的点积和标签:

enter image description here

由于标签是 0 或 1,因此只有标签等于 1 的项有贡献。所以在你的第一个样本中,第一个索引的 softmax 概率是

enter image description here

输出将是

enter image description here

您的第二个样本会有所不同,因为 x[0]不同于 x[1] .

关于tensorflow - 为什么 softmax_cross_entropy_with_logits_v2 返回成本甚至相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52134869/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com