docstr: Args:
      obs: A float32 tensor of shape [B, C, H, W]
  
  Returns:
      policy_logits: B * ACT_DIM
      values: B
code: def policy_and_value(self, obs):
      """
      Args:
          obs: A float32 tensor of shape [B, C, H, W]
  
      Returns:
          policy_logits: B * ACT_DIM
          values: B
      """
      obs = obs / 255.0
      conv1 = self.conv1(obs)
      conv2 = self.conv2(conv1)
      conv3 = self.conv3(conv2)
  
      flatten = layers.flatten(conv3, axis=1)
      fc_output = self.fc(flatten)
  
      policy_logits = self.policy_fc(fc_output)
  
      values = self.value_fc(fc_output)
      values = layers.squeeze(values, axes=[1])
  
      return policy_logits, values
  
file_path: PARL/benchmark/fluid/GA3C/atari_model.py
imports: import parl
  import paddle.fluid
  from parl import layers
label_desc: Use image node_id 4 for calling the AtariModel obj's underlying member method code with example usage: obj.policy_and_value(obs) and returns: policy_logits,  values