TensorFlow常用的計(jì)算loss的方法

本篇主要是總結(jié)一下我們常用的計(jì)算loss的方法和使用技巧缅叠。
1汗洒、tf.nn.sigmoid_cross_entropy_with_logits

sigmoid_cross_entropy_with_logits(
    _sentinel=None,
    labels=None,
    logits=None,
    name=None
)

說明:labels和logits必須有相同的type和shape粟判,該方法可以用于多目標(biāo)問題虱而,如判斷一張圖片中是否包含人痹筛、狗氨肌、樹等鸿秆,即對(duì)應(yīng)的label包含多個(gè)1。但是output不是一個(gè)數(shù)怎囚,而是一個(gè)batch中每個(gè)樣本的loss,所以一般配合tf.reduce_mean(loss)使用卿叽。

#coding=utf8

import tensorflow as tf

a = tf.constant([[1,2,3],[4,5,6]],tf.float32)
y3 = tf.constant([[1,0,0],[0,1,1]],tf.float32)

loss3 = tf.reduce_mean(tf.nn.sigmoid_cross_entropy_with_logits(labels=y3,logits=a))

with tf.Session() as sess:
    print('loss3',sess.run(loss3))

2、tf.nn.softmax_cross_entropy_with_logits

softmax_cross_entropy_with_logits(
    _sentinel=None,
    labels=None,
    logits=None,
    dim=-1,
    name=None
)

說明:labels和logits有相同的shape恳守,適用于單目標(biāo)問題考婴,如判斷一張圖片是貓、狗還是人催烘,即label中只有一個(gè)位置對(duì)應(yīng)的是1沥阱,其余全為0。

#coding=utf8
import tensorflow as tf
a = tf.constant([[1,2,3],[4,5,6]],tf.float32)
y1 = tf.constant([[0,0,1],[0,1,0]],tf.int32)
loss1 = tf.nn.softmax_cross_entropy_with_logits(labels=y1,logits=a)
with tf.Session() as sess:
    print('loss1',sess.run(loss1))

3伊群、tf.nn.sparse_softmax_cross_entropy_with_logits

sparse_softmax_cross_entropy_with_logits(
    _sentinel=None,
    labels=None,
    logits=None,
    name=None
)

說明:labels的shape為[batch_size],且labels的值不能超過n_classes考杉,logits的shape為[batch_size,n_classes],它和tf.nn.softmax_cross_entropy_with_logits的實(shí)現(xiàn)原理基本一樣舰始,只是后者在額外的做了one_hot編碼崇棠,前者把這一過程寫在了內(nèi)部,有更優(yōu)的方式丸卷。

#coding=utf8
import tensorflow as tf

a = tf.constant([[1,2,3],[4,5,6]],tf.float32)
y2 = tf.constant([0,1],tf.int32)
loss2 = tf.nn.sparse_softmax_cross_entropy_with_logits(labels=y2,logits=a)
with tf.Session() as sess:
    print('loss2',sess.run(loss2))

4枕稀、tf.nn.weighted_cross_entropy_with_logits

weighted_cross_entropy_with_logits(
    targets,
    logits,
    pos_weight,
    name=None
)

說明:這個(gè)loss我還沒有用過,是sigmoid_cross_entropy_with_logits的拓展版,輸入?yún)?shù)和實(shí)現(xiàn)和后者差不多萎坷,可以多支持一個(gè)pos_weight參數(shù)凹联,目的是可以增加或者減小正樣本在算Cross Entropy時(shí)的Loss。

除上面的一些計(jì)算loss的方法外哆档,還有一些專門處理loss的方法蔽挠,自己還沒有這么用過,具體功能和用法后面再補(bǔ)起來虐呻,先列出來象泵。

tf.losses.add_loss    ##添加一個(gè)計(jì)算出來的loss到總的loss集合中
tf.losses.get_regularization_loss    ##計(jì)算正則化loss
tf.losses.get_total_loss    ##計(jì)算所有的loss寞秃,以包含上面的regular損失

參考文章:
https://weibo.com/ttarticle/p/show?id=2309404047468714166594
http://blog.csdn.net/QW_sunny/article/details/72885403

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末斟叼,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子春寿,更是在濱河造成了極大的恐慌朗涩,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,378評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件绑改,死亡現(xiàn)場(chǎng)離奇詭異谢床,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)厘线,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,970評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門识腿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人造壮,你說我怎么就攤上這事渡讼。” “怎么了耳璧?”我有些...
    開封第一講書人閱讀 168,983評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵成箫,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我旨枯,道長(zhǎng)蹬昌,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,938評(píng)論 1 299
  • 正文 為了忘掉前任攀隔,我火速辦了婚禮皂贩,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘昆汹。我一直安慰自己明刷,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,955評(píng)論 6 398
  • 文/花漫 我一把揭開白布筹煮。 她就那樣靜靜地躺著遮精,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上本冲,一...
    開封第一講書人閱讀 52,549評(píng)論 1 312
  • 那天准脂,我揣著相機(jī)與錄音,去河邊找鬼檬洞。 笑死狸膏,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的添怔。 我是一名探鬼主播湾戳,決...
    沈念sama閱讀 41,063評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼广料!你這毒婦竟也來了砾脑?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,991評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤艾杏,失蹤者是張志新(化名)和其女友劉穎韧衣,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體购桑,經(jīng)...
    沈念sama閱讀 46,522評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡畅铭,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,604評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了勃蜘。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片硕噩。...
    茶點(diǎn)故事閱讀 40,742評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖缭贡,靈堂內(nèi)的尸體忽然破棺而出炉擅,到底是詐尸還是另有隱情,我是刑警寧澤匀归,帶...
    沈念sama閱讀 36,413評(píng)論 5 351
  • 正文 年R本政府宣布坑资,位于F島的核電站,受9級(jí)特大地震影響穆端,放射性物質(zhì)發(fā)生泄漏袱贮。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,094評(píng)論 3 335
  • 文/蒙蒙 一体啰、第九天 我趴在偏房一處隱蔽的房頂上張望攒巍。 院中可真熱鬧,春花似錦荒勇、人聲如沸柒莉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,572評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽兢孝。三九已至窿凤,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間跨蟹,已是汗流浹背雳殊。 一陣腳步聲響...
    開封第一講書人閱讀 33,671評(píng)論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留窗轩,地道東北人夯秃。 一個(gè)月前我還...
    沈念sama閱讀 49,159評(píng)論 3 378
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像痢艺,于是被迫代替她去往敵國和親仓洼。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,747評(píng)論 2 361