docstr: use the model to predict obs values
  
  Args:
      obs (torch tensor): observation, shape([batch_size] + obs_shape)
  Returns:
      value (torch tensor): value of obs, shape([batch_size])
docstr_tok: ["use","the","model","to","predict","obs","values","Args",":","obs","(","torch","tensor",")",":","observation",",","shape","(","[","batch_size","]","+","obs_shape",")","Returns",":","value","(","torch","tensor",")",":","value","of","obs",",","shape","(","[","batch_size","]",")"]
code: def value(self, obs):
      """use the model to predict obs values
  
      Args:
          obs (torch tensor): observation, shape([batch_size] + obs_shape)
      Returns:
          value (torch tensor): value of obs, shape([batch_size])
      """
      return self.model.value(obs)
  
file_path: PARL/parl/algorithms/torch/ppo.py
imports: import parl
  import torch
  import torch.nn
  import torch.nn.functional
  import torch.optim
  from torch.distributions import Normal, Categorical
  from parl.utils.utils import check_model_method
label_desc: Use image node_id 5 for calling the PPO obj's underlying member method code with example usage: obj.value(obs) and returns: self