original_docstring: Act according to the specified behavior (to be implemented by the inheriting classes)
  
          Agents will call this method to obtain the decision to be taken given the state of the environment.
          This method is currently implemented by the helper models (**GaussianModel**, etc.).
          The classes that inherit from the latter must only implement the ``.compute()`` method
  
          :param states: Observation/state of the environment used to make the decision
          :type states: torch.Tensor
          :param taken_actions: Actions taken by a policy to the given states (default: None).
                                The use of these actions only makes sense in critical models, e.g.
          :type taken_actions: torch.Tensor or None, optional
          :param inference: Flag to indicate whether the model is making inference (default: False)
          :type inference: bool, optional
  
          :raises NotImplementedError: Child class must implement this method
          
          :return: Action to be taken by the agent given the state of the environment.
                   The typical tuple's components are the actions, the log of the probability density function and mean actions.
                   Deterministic agents must ignore the last two components and return empty tensors or None for them
          :rtype: tuple of torch.Tensor
          
docstring: Act according to the specified behavior (to be implemented by the inheriting classes)
  Agents will call this method to obtain the decision to be taken given the state of the environment.
  This method is currently implemented by the helper models (**GaussianModel**, etc.).
  The classes that inherit from the latter must only implement the ``.compute()`` method
docstring_tokens: Act according to the specified behavior ( to be implemented by the inheriting classes ) Agents will call this method to obtain the decision to be taken given the state of the environment . This method is currently implemented by the helper models ( ** GaussianModel ** etc . ) . The classes that inherit from the latter must only implement the ` ` . compute () ` ` method
code: def act(self, 
              states: torch.Tensor, 
              taken_actions: Union[torch.Tensor, None] = None, 
              inference=False) -> Tuple[torch.Tensor]:
          """Act according to the specified behavior (to be implemented by the inheriting classes)
  
          Agents will call this method to obtain the decision to be taken given the state of the environment.
          This method is currently implemented by the helper models (**GaussianModel**, etc.).
          The classes that inherit from the latter must only implement the ``.compute()`` method
  
          :param states: Observation/state of the environment used to make the decision
          :type states: torch.Tensor
          :param taken_actions: Actions taken by a policy to the given states (default: None).
                                The use of these actions only makes sense in critical models, e.g.
          :type taken_actions: torch.Tensor or None, optional
          :param inference: Flag to indicate whether the model is making inference (default: False)
          :type inference: bool, optional
  
          :raises NotImplementedError: Child class must implement this method
          
          :return: Action to be taken by the agent given the state of the environment.
                   The typical tuple's components are the actions, the log of the probability density function and mean actions.
                   Deterministic agents must ignore the last two components and return empty tensors or None for them
          :rtype: tuple of torch.Tensor
          """
          raise NotImplementedError("The action to be taken by the agent (.act()) is not implemented")
code_tokens: def act ( self , states : torch . Tensor , taken_actions : Union [ torch . Tensor , None ] = None , inference = False ) -> Tuple [ torch . Tensor ] : raise NotImplementedError ( "The action to be taken by the agent (.act()) is not implemented" )
short_docstring: Act according to the specified behavior (to be implemented by the inheriting classes)
  Agents will call this method to obtain the decision to be taken given the state of the environment.
short_docstring_tokens: Act according to the specified behavior ( to be implemented by the inheriting classes ) Agents will call this method to obtain the decision to be taken given the state of the environment .
comment: """Act according to the specified behavior (to be implemented by the inheriting classes)
  
          Agents will call this method to obtain the decision to be taken given the state of the environment.
          This method is currently implemented by the helper models (**GaussianModel**, etc.).
          The classes that inherit from the latter must only implement the ``.compute()`` method
  
          :param states: Observation/state of the environment used to make the decision
          :type states: torch.Tensor
          :param taken_actions: Actions taken by a policy to the given states (default: None).
                                The use of these actions only makes sense in critical models, e.g.
          :type taken_actions: torch.Tensor or None, optional
          :param inference: Flag to indicate whether the model is making inference (default: False)
          :type inference: bool, optional
  
          :raises NotImplementedError: Child class must implement this method
          
          :return: Action to be taken by the agent given the state of the environment.
                   The typical tuple's components are the actions, the log of the probability density function and mean actions.
                   Deterministic agents must ignore the last two components and return empty tensors or None for them
          :rtype: tuple of torch.Tensor
          """