TensorFlow 实现分类操作的函数学习

  函数:tf.nn.sigmoid_cross_entropy_with_logits(logits, targets, name=None)

  说明:此函数是计算logits经过sigmod函数后的交叉熵值(即互熵损失),能帮助你更好的进行分类操作。对于一个不相互独立的离散分类任务,这个函数作用是去度量概率误差。

  简单点就是去度量化。

  实例:

1 # output 的计算方法:max(x, 0) - x * z + log(1 + exp(-abs(x)) )
2 # logits 和 targets 必须有相同的数据类型和数据维度
3 inputdata = tf.Variable(np.random.rand(1,3), dtype=np.float32)
4 output = tf.nn.sigmoid_cross_entropy_with_logits(logits = inputdata, labels = [[1.0, 0.0, 0.0]])    
5 with tf.Session() as sess:
6     sess.run(tf.global_variables_initializer())
7     print (sess.run(inputdata))
8     print (sess.run(output))

 输出:

[[ 0.0086241 0.42953941 0.91944432]]
[[ 0.68884444 0.93080473 1.25501657]]

posted @ 2017-09-13 10:03  今夜无风  阅读(394)  评论(0编辑  收藏  举报