TensorFlow兩種方式計算Cross Entropy


sparse_softmax_cross_entropy_with_logitssoftmax_cross_entropy_with_logits

 

 

import tensorflow as tf

y=tf.constant([[0.1,0.8,0.2]])
y_=tf.constant([[0,1,0]])

cross_entropy1 = tf.nn.sparse_softmax_cross_entropy_with_logits(logits=y, labels=tf.argmax(y_, 1))
cross_entropy2 = tf.nn.softmax_cross_entropy_with_logits(logits=y, labels=y_)

with tf.Session() as sess:
    tf.global_variables_initializer().run()
    print(sess.run(cross_entropy1))
    print(sess.run(cross_entropy2))

 

[ 0.71559191]
[ 0.71559191]

 

可以看出,softmax_cross_entropy_with_logits第二個參數傳入的參數是原數組,而sparse_softmax_cross_entropy_with_logits傳入的是原數組中為1的索引位置。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM