zoukankan      html  css  js  c++  java
  • tf.nn.softmax_cross_entropy_with_logits()函数的使用方法

    import tensorflow as tf

    labels = [[0.2,0.3,0.5],
    [0.1,0.6,0.3]]
    logits = [[2,0.5,1],
    [0.1,1,3]]

    a=tf.nn.softmax([2,0.5,1]) # 此行代码观看softmax函数如何处理数据,结果表明是按照行进行处理,即ln2/(ln2+ln0.5+ln1)
    result1 = tf.nn.softmax_cross_entropy_with_logits(labels=labels, logits=logits) # 可以发现此函数只将预测logits进行了softmax,这样就可以不用对logits数据进行softmax了
    logits_scaled = tf.nn.softmax(logits) # 对logits数据进行softmax
    result2 = -tf.reduce_sum(labels*tf.log(logits_scaled),1)
    result3 = tf.nn.softmax_cross_entropy_with_logits(labels=labels, logits=logits_scaled)

    with tf.Session() as sess:
    print(sess.run(a))
    # print(sess.run(logits_scaled))
    print(sess.run(result1))
    print(sess.run(result2))
    print(sess.run(result3))

     softmax实际就是将输入函数带到一个方程np.power(np.e,xi)/Σnp.power(np.e,xi)中得到,其代码如下:

    [2,0.5,1]
    a=np.power(np.e,2)+np.power(np.e,0.5)+np.power(np.e,1)
    print(np.power(np.e,2)/a)

  • 相关阅读:
    leetcode390
    leetcode388
    leetcode373
    leetcode368
    leetcode372
    leetcode386
    基于自定义协议的服务器高并发处理之:多线程模型
    基于自定义协议的服务器高并发处理之:多进程模型
    macos下简单的socket服务器+客户端
    Windows下编译Libevent
  • 原文地址:https://www.cnblogs.com/tangjunjun/p/11506093.html
Copyright © 2011-2022 走看看