class_docstr: Policy object that implements a DDPG-like actor critic, using a feed forward neural network.
  
  :param sess: (TensorFlow session) The current TensorFlow session
  :param ob_space: (Gym Space) The observation space of the environment
  :param ac_space: (Gym Space) The action space of the environment
  :param n_env: (int) The number of environments to run
  :param n_steps: (int) The number of steps to run for each environment
  :param n_batch: (int) The number of batch to run (n_envs * n_steps)
  :param reuse: (bool) If the policy is reusable or not
  :param layers: ([int]) The size of the Neural network for the policy (if None, default to [64, 64])
  :param cnn_extractor: (function (TensorFlow Tensor, ``**kwargs``): (TensorFlow Tensor)) the CNN feature extraction
  :param feature_extraction: (str) The feature extraction type ("cnn" or "mlp")
  :param layer_norm: (bool) enable layer normalisation
  :param act_fun: (tf.func) the activation function to use in the neural network.
  :param kwargs: (dict) Extra keyword arguments for the nature CNN feature extraction
code: def make_critics(
      self, obs=None, action=None, reuse=False, scope="values_fn"
  ):
      if obs is None:
          obs = self.processed_obs
  
      with tf.variable_scope(scope, reuse=reuse):
          if self.feature_extraction == "cnn":
              critics_h = self.cnn_extractor(obs, **self.cnn_kwargs)
          else:
              critics_h = tf.layers.flatten(obs)
  
          # Concatenate preprocessed state and action
          qf_h = tf.concat([critics_h, action], axis=-1)
  
          # Double Q values to reduce overestimation
          with tf.variable_scope("qf1", reuse=reuse):
              qf1_h = mlp(
                  qf_h,
                  self.layers,
                  self.activ_fn,
                  layer_norm=self.layer_norm,
              )
              qf1 = tf.layers.dense(qf1_h, 1, name="qf1")
  
          with tf.variable_scope("qf2", reuse=reuse):
              qf2_h = mlp(
                  qf_h,
                  self.layers,
                  self.activ_fn,
                  layer_norm=self.layer_norm,
              )
              qf2 = tf.layers.dense(qf2_h, 1, name="qf2")
  
          self.qf1 = qf1
          self.qf2 = qf2
  
      return self.qf1, self.qf2
  
imports: import tensorflow
  from gym.spaces import Box
  from stable_baselines.common.policies import BasePolicy, nature_cnn, register_policy
  from stable_baselines.common.tf_layers import mlp
label_desc: Use image node_id 3 for calling the FeedForwardPolicy obj's underlying member method code with example usage: obj.make_critics(obs, action, reuse, scope) and returns: self,  self