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)

  • 相关阅读:
    jmeter工具应用1
    django1
    5.自动化测试模型
    4.清除cookie操作
    2.操作浏览器
    3.8种元素定位
    1.介绍与环境安装
    模块
    urllib库
    自动化测试PO模式
  • 原文地址:https://www.cnblogs.com/tangjunjun/p/11506093.html
Copyright © 2011-2022 走看看