docstr: Act randomly regardless of the observation.
docstr_tok: ["Act","randomly","regardless","of","the","observation","."]
code: def act(
      self,
      obs: rlt.FeatureData,
      possible_actions_mask: Optional[torch.Tensor] = None,
  ) -> rlt.ActorOutput:
      """Act randomly regardless of the observation."""
      # pyre-fixme[35]: Target cannot be annotated.
      obs: torch.Tensor = obs.float_features
      assert obs.dim() >= 2, f"obs has shape {obs.shape} (dim < 2)"
      batch_size = obs.size(0)
      # pyre-fixme[6]: For 1st param expected `Size` but got `Tuple[int]`.
      action = self.dist.sample((batch_size,))
      # sum over action_dim (since assuming i.i.d. per coordinate)
      log_prob = self.dist.log_prob(action).sum(1)
      return rlt.ActorOutput(action=action, log_prob=log_prob)
  
imports: from typing import List, Optional
  import gym
  import numpy
  import reagent.core.types
  import torch
  import torch.nn.functional
  from reagent.core.parameters import CONTINUOUS_TRAINING_ACTION_RANGE
  from reagent.gym.policies.policy import Policy
  from reagent.gym.policies.scorers.discrete_scorer import apply_possible_actions_mask
label_desc: Use image node_id 3 for calling the ContinuousRandomPolicy obj's underlying member method code with example usage: obj.act(obs, possible_actions_mask) and returns: rlt