快捷方式

DreamerModelLoss

class torchrl.objectives.DreamerModelLoss(*args, **kwargs)[原始碼]

Dreamer 模型損失。

計算 dreamer 世界模型的損失。該損失由 RSSM 先驗分佈與後驗分佈之間的 KL 散度、重建觀測的重建損失以及預測獎勵的獎勵損失組成。

參考文獻:https://arxiv.org/abs/1912.01603

引數:
  • world_model (TensorDictModule) – 世界模型。

  • lambda_kl (float, optional) – KL 散度損失的權重。預設值:1.0。

  • lambda_reco (float, optional) – 重建損失的權重。預設值:1.0。

  • lambda_reward (float, optional) – 獎勵損失的權重。預設值:1.0。

  • reco_loss (str, optional) – 重建損失型別。預設值:“l2”。

  • reward_loss (str, optional) – 獎勵損失型別。預設值:“l2”。

  • free_nats (int, optional) – 自由納特。預設值:3。

  • delayed_clamp (bool, optional) – 如果為 True,則 KL 截斷在平均後進行。如果為 False(預設值),則 KL 散度首先截斷到 free nats 值,然後進行平均。

  • global_average (bool, optional) – 如果為 True,則損失將在所有維度上進行平均。否則,將對所有非批次/時間維度進行求和,並在批次和時間維度上進行平均。預設值:False。

default_keys

_AcceptedKeys 的別名

forward(tensordict: TensorDict) Tensor[原始碼]

它被設計用於讀取輸入的 TensorDict 並返回另一個包含以“loss*”命名的損失鍵的 tensordict。

將損失分解為各個組成部分後,訓練器可以在訓練過程中記錄各種損失值。輸出 tensordict 中存在的其他標量也將被記錄。

引數:

tensordict – 包含計算損失所需值的輸入 tensordict。

返回:

一個沒有批次維度的新 tensordict,包含各種將被命名為“loss*”的損失標量。損失必須以此名稱返回,因為它們將在反向傳播前被訓練器讀取,這一點至關重要。

文件

訪問 PyTorch 的完整開發者文件

檢視文件

教程

獲取面向初學者和高階開發者的深度教程

檢視教程

資源

查詢開發資源並獲得問題解答

檢視資源