class_docstr: Multi-agent model that implements a centralized VF.
class_docstr_tok: ["Multi-agent","model","that","implements","a","centralized","VF","."]
code: def __init__(
      self, obs_space, action_space, num_outputs, model_config, name
  ):
      TorchModelV2.__init__(
          self, obs_space, action_space, num_outputs, model_config, name
      )
      nn.Module.__init__(self)
  
      # Base of the model
      self.model = TorchFC(
          obs_space, action_space, num_outputs, model_config, name
      )
  
      # Central VF maps (obs, opp_obs, opp_act) -> vf_pred
      input_size = 6 + 6 + 2  # obs + opp_obs + opp_act
      self.central_vf = nn.Sequential(
          SlimFC(input_size, 16, activation_fn=nn.Tanh),
          SlimFC(16, 1),
      )
  
imports: from gymnasium.spaces import Box
  from ray.rllib.models.modelv2 import ModelV2
  from ray.rllib.models.tf.tf_modelv2 import TFModelV2
  from ray.rllib.models.tf.fcnet import FullyConnectedNetwork
  from ray.rllib.models.torch.misc import SlimFC
  from ray.rllib.models.torch.torch_modelv2 import TorchModelV2
  from ray.rllib.models.torch.fcnet import FullyConnectedNetwork
  from ray.rllib.utils.annotations import override
  from ray.rllib.utils.framework import try_import_tf, try_import_torch
label_desc: Use image node_id 1 to create a new TorchCentralizedCriticModel object from inherited base classes: TorchModelV2, nn with example: obj = TorchCentralizedCriticModel(obs_space, action_space, num_outputs, model_config, name)