tensorflow计算交叉熵损失函数
# -*- coding: utf-8 -*-
import tensorflow as tf
def cross_entropy(y_,y):
# y_ 是标签(正确答案),y, y是预测值
CROSS_ENTROPY=-tf.reduce_mean(y_*tf.log(tf.clip_by_value(y,1e-10,1.0)))
return CROSS_ENTROPY
y_= tf.constant([0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],shape=[1,10],name="y_")
y1=tf.constant([0.1,0.8,0.1,0.0,0.0,0.0,0.0,0.0,0.0,0.0],shape=[1,10],name='y1')
y2=tf.constant([0.2,0.5,0.2,0.1,0.0,0.0,0.0,0.0,0.0,0.0],shape=[1,10],name='y2')
with tf.Session() as sess:
init_op=tf.global_variables_initializer()
sess.run(init_op)
print sess.run(cross_entropy(y_,y1))
print sess.run(cross_entropy(y_,y2))
#0.022314353
#0.06931472