docstr: Args:
      obs_np: a numpy float32 array of shape ([B] + observation_space).
              Format of image input should be NCHW format.
  Returns:
      values: a numpy float32 array of shape [B]
docstr_tok: ["Args",":","obs_np",":","a","numpy","float32","array","of","shape","(","[","B","]","+","observation_space",")",".","Format","of","image","input","should","be","NCHW","format",".","Returns",":","values",":","a","numpy","float32","array","of","shape","[","B","]"]
code: def value(self, obs_np):
      """
      Args:
          obs_np: a numpy float32 array of shape ([B] + observation_space).
                  Format of image input should be NCHW format.
      Returns:
          values: a numpy float32 array of shape [B]
      """
      obs_np = paddle.to_tensor(obs_np, dtype="float32")
      values = self.alg.value(obs_np)
  
      return values.cpu().numpy()
  
file_path: PARL/examples/A2C/atari_agent.py
imports: import numpy
  import parl
  from parl.utils import machine_info
  from parl.utils.scheduler import PiecewiseScheduler, LinearDecayScheduler
  import paddle
label_desc: Use image node_id 4 for calling the AtariAgent obj's underlying member method code with example usage: obj.value(obs_np) and returns: values