捷徑

SelectTransform

class torchrl.envs.transforms.SelectTransform(*selected_keys: NestedKey, keep_rewards: bool = True, keep_dones: bool = True)[原始碼]

從輸入的 tensordict 中選取鍵。

一般而言,應優先使用 ExcludeTransform:此轉換也會

選取 “action”(或來自 input_spec 的其他鍵)、“done” 和 “reward” 鍵,但可能需要其他鍵。

參數:

*selected_keys (NestedKey 的可迭代物件) – 要選取的鍵的名稱。如果鍵不存在,則會直接忽略。

關鍵字引數:
  • keep_rewards (bool, optional) – 如果 False,如果應該保留獎勵鍵,則必須提供。預設為 True

  • keep_dones (bool, optional) – 如果 False,如果應該保留完成鍵,則必須提供。預設為 True

  • gymnasium (>>> import) –

  • GymWrapper (...) –

  • TransformedEnv( (>>> env =) –

  • GymWrapper

  • SelectTransform (...) –

  • ) (...) –

  • env.rollout (>>>) –

  • TensorDict(

    fields={

    action: Tensor(shape=torch.Size([3, 1]), device=cpu, dtype=torch.float32, is_shared=False), done: Tensor(shape=torch.Size([3, 1]), device=cpu, dtype=torch.bool, is_shared=False), next: TensorDict(

    fields={

    done: Tensor(shape=torch.Size([3, 1]), device=cpu, dtype=torch.bool, is_shared=False), observation: Tensor(shape=torch.Size([3, 3]), device=cpu, dtype=torch.float32, is_shared=False), reward: Tensor(shape=torch.Size([3, 1]), device=cpu, dtype=torch.float32, is_shared=False)},

    batch_size=torch.Size([3]), device=cpu, is_shared=False),

    observation: Tensor(shape=torch.Size([3, 3]), device=cpu, dtype=torch.float32, is_shared=False)},

    batch_size=torch.Size([3]), device=cpu, is_shared=False)

forward(tensordict: TensorDictBase) TensorDictBase

讀取輸入的 tensordict,並針對選取的鍵套用轉換。

transform_output_spec(output_spec: Composite) Composite[來源]

轉換輸出規格,使產生的規格與轉換映射匹配。

這個方法通常應保持不變。變更應使用 transform_observation_spec()transform_reward_spec()transformfull_done_spec() 實作。 :param output_spec: 轉換前的規格 :type output_spec: TensorSpec

回傳:

轉換後預期的規格

文件

取得 PyTorch 的完整開發者文件

檢視文件

教學

取得適合初學者和進階開發人員的深入教學

檢視教學

資源

尋找開發資源並取得問題的解答

檢視資源