第三章(1.6)tensorflow cross_entropy 四種交叉熵計算函數_函數

來源:互聯網
上載者:User

一、Tensorflow交叉熵函數:cross_entropy

以下交叉熵計算函數輸入中的logits都不是softmax或sigmoid的輸出,因為它在函數內部進行了sigmoid或softmax操作

1、tf.nn.sigmoid_cross_entropy_with_logits(_sentinel=None, labels=None, logits=None, name=None)

_sentinel:本質上是不用的參數,不用填

labels:一個和logits具有相同的資料類型(type)和尺寸形狀(shape)的張量(tensor)

shape:[batch_size,num_classes],單樣本是[num_classes]

logits:一個資料類型(type)是float32或float64的張量

name:操作的名字,可填可不填

它對於輸入的logits先通過sigmoidFunction Compute,再計算它們的交叉熵,但是它對交叉熵的計算方式進行了最佳化,使得結果不至於溢出

它適用於每個類別相互獨立但互不排斥的情況:例如一幅圖可以同時包含一條狗和一隻大象

2、tf.nn.softmax_cross_entropy_with_logits(_sentinel=None, labels=None, logits=None, dim=-1, name=None)

_sentinel:本質上是不用的參數,不用填

labels:每一行labels[i]必須是一個有效機率分布,one_hot=True(向量中只有一個值為1,其他值為0)

logits:labels和logits具有相同的資料類型(type)和尺寸(shape)

shape:[batch_size,num_classes],單樣本是[num_classes]

name:操作的名字,可填可不填

它對於輸入的logits先通過softmaxFunction Compute

它適用於每個類別相互獨立且排斥的情況,一幅圖只能屬於一類,而不能同時包含一條狗和一隻大象

3、tf.nn.sparse_softmax_cross_entropy_with_logits(_sentinel=None, labels=None, logits=None, name=None)

_sentinel:本質上是不用的參數,不用填

labels:shape為[batch_size],labels[i]是[0,num_classes)的一個索引, type為int32或int64

logits:shape為[batch_size,num_classes],type為float32或float64

name:操作的名字,可填可不填

它適用於每個類別相互獨立且排斥的情況,一幅圖只能屬於一類,而不能同時包含一條狗和一隻大象

4、tf.nn.weighted_cross_entropy_with_logits(labels, logits, pos_weight, name=None)

計算具有權重的sigmoid交叉熵sigmoid_cross_entropy_with_logits()

_sentinel:本質上是不用的參數,不用填

labels:一個和logits具有相同的資料類型(type)和尺寸形狀(shape)的張量(tensor)

shape:[batch_size,num_classes],單樣本是[num_classes]

logits:一個資料類型(type)是float32或float64的張量

pos_weight:正樣本的一個係數

name:操作的名字,可填可不

5、計算公式: pos_weight*labels * -log(sigmoid(logits)) + (1 - labels) * -log(1 - sigmoid(logits))

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.