第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

可視化雙頭模型中的自定義損失

可視化雙頭模型中的自定義損失

暮色呼如 2022-10-25 15:23:16
使用本文中的 A2C 代理,如何獲取 的數(shù)值value_loss,policy_loss以及entropy_loss何時更新權(quán)重?我使用的模型是雙頭的,兩個頭共用一個樹干。策略頭輸出形狀為[number of actions, batch size],值頭形狀為[1, batch_size]。當(dāng)這些損失函數(shù)作為指標(biāo)給出時,編譯此模型會返回大小不兼容錯誤:self.model.compile(optimizer=self.optimizer,                     metrics=[self._logits_loss, self._value_loss],                     loss=[self._logits_loss, self._value_loss])兩者self._value_loss和self._policy_loss都作為圖執(zhí)行,這意味著其中的所有變量都只是指向圖節(jié)點的指針。我發(fā)現(xiàn)了一些示例,其中評估了張量對象(使用 eval())以從節(jié)點中獲取值。我不理解它們,因為為了 eval() 一個 Tensor 對象,你需要給它一個 Session 但在 TensorFlow 2.x 中不推薦使用 Sessions。另一個線索是,當(dāng)train_on_batch()從Keras 中的模型 API調(diào)用來訓(xùn)練模型時,該方法會返回?fù)p失。我不明白為什么,但它返回的唯一損失來自保單負(fù)責(zé)人。該頭部的損失計算為,policy_loss - entropy_loss但我的目標(biāo)是分別獲得所有三個損失以在圖表中可視化它們。歡迎任何幫助,我被卡住了。
查看完整描述

1 回答

?
達(dá)令說

TA貢獻(xiàn)1821條經(jīng)驗 獲得超6個贊

我找到了我的問題的答案。在 Keras 中,metrics內(nèi)置功能為測量模型的性能和損失提供了一個接口,無論是自定義的還是標(biāo)準(zhǔn)的。

編譯模型時如下:

self.model.compile(optimizer=ko.RMSprop(lr=lr),
                   metrics=dict(output_1=self._entropy_loss),
                   loss=dict(output_1=self._logits_loss, output_2=self._value_loss))

...self.model.train_on_batch([...])返回一個列表[total_loss, logits_loss, value_loss, entropy_loss]。通過logits_loss + entropy_loss對值policy_loss進(jìn)行計算可以計算出來。請注意,此解決方案會導(dǎo)致調(diào)用self._entropy_loss()兩次。


查看完整回答
反對 回復(fù) 2022-10-25
  • 1 回答
  • 0 關(guān)注
  • 97 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號