def create_for_env( cls, env: EnvWrapper, policy: Optional[Policy], *, device: Union[str, torch.device] = "cpu", obs_preprocessor=None, action_extractor=None, **kwargs, ): """ If `policy` is not given, we will try to create a random policy """ if isinstance(device, str): device = torch.device(device) if obs_preprocessor is None: obs_preprocessor = env.get_obs_preprocessor(device=device) if action_extractor is None: action_extractor = env.get_action_extractor() if policy is None: policy = make_random_policy_for_env(env) return cls( policy, obs_preprocessor=obs_preprocessor, action_extractor=action_extractor, **kwargs, )
def create_for_env( cls, env: EnvWrapper, policy: Policy, *, device: Union[str, torch.device] = "cpu", obs_preprocessor=None, action_extractor=None, **kwargs, ): if isinstance(device, str): device = torch.device(device) if obs_preprocessor is None: obs_preprocessor = env.get_obs_preprocessor(device=device) if action_extractor is None: action_extractor = env.get_action_extractor() return cls( policy, obs_preprocessor=obs_preprocessor, action_extractor=action_extractor, **kwargs, )