tensorflow函數介紹(3)
阿新 • • 發佈:2018-02-18
import global tro constant spa 1.0 run div ria
tf.nn.softmax_cross_entropy_with_logits(logits,labels) #其中logits為神經網絡最後一層輸出,labels為實際的標簽,該函數返回經過softmax轉換之後並與實際值相比較得到的交叉熵損失函數的值,該函數返回向量
例:
import tensorflow as tf logits=tf.constant([[1.0,2.0,3.0],[1.0,2.0,3.0],[1.0,2.0,3.0]]) y=tf.nn.softmax(logits) #計算給定輸入的softmax值 y_=tf.constant([[0.0,0.0,1.0],[0.0,0.0,1.0],[0.0,0.0,1.0]]) cross_entropy= -tf.reduce_sum(y_*tf.log(y)) #計算交叉熵損失函數的值,返回向量,並通過tf.reduce_sum來計算均值 cross_entropy2=tf.reduce_sum(tf.nn.softmax_cross_entropy_with_logits(logits=logits, labels=y_)) #直接計算交叉熵損失函數值 init=tf.global_variables_initializer() sess=tf.Session() sess.run(init) print(sess.run(y)) print(sess.run(cross_entropy)) #輸出結果和下面的一致print(sess.run(cross_entropy2))
tensorflow函數介紹(3)