zoukankan      html  css  js  c++  java
  • tf中softmax_cross_entropy_with_logits与sparse_softmax_cross_entropy_with_logits

    其实这两个都是计算交叉熵,只是输入数据不同。

    #sparse 稀疏的、稀少的
    
        word_labels = tf.constant([2,0])
        predict_logits = tf.constant([[2.0,-1.0,3.0],[1.0,0.0,-0.5]])
        loss = tf.nn.sparse_softmax_cross_entropy_with_logits(
            labels = word_labels,logits = predict_logits)
        with tf.Session() as sess:
            print(sess.run(loss))
            #结果是:[0.32656264 0.4643688 ]
    

      

    word_prob_distribution = tf.constant([[0.0,0.0,1.0],[1.0,0.0,0.0]])
        loss = tf.nn.softmax_cross_entropy_with_logits(labels = word_prob_distribution,logits = predict_logits)
        with tf.Session() as sess:
            print(sess.run(loss))
            #结果是:[0.32656264 0.4643688 ]
    

      

    由于softmax_cross_entropy_with_logits允许提供一个概率分布,因此在使用时有更大的自由度。
    举个例子,一种叫label_smoothing的技巧将正确数据的概率设为一个比1.0略小的值,将错误的该概率设置为一个比0.0略大的值,
    这样可以避免模型与数据过拟合,在某些时候可以提高训练效果

    word_prob_smooth = tf.constant([[0.01, 0.01, 0.97], [0.98, 0.03, 0.01]])
        loss = tf.nn.softmax_cross_entropy_with_logits(labels = word_prob_smooth,logits = predict_logits)
        with tf.Session() as sess:
            print(sess.run(loss))
            #[0.37329704 0.5186562 ]
    

      






  • 相关阅读:
    json2源码
    在table中插入别的代码
    基于HTML5和Javascript的移动应用架构
    webkitscrollbar
    性能调优之Javascript内存泄漏
    javascript时区函数介绍
    几道面试题
    CSS property: webkitbackfacevisibility
    某人2013js趋势的一些判断
    用js操作cookie保存浏览记录
  • 原文地址:https://www.cnblogs.com/erbaodabao0611/p/10147689.html
Copyright © 2011-2022 走看看