code: def __init__(
      self,
      obs_dim,
      vel_obs_dim,
      act_dim,
      stage_name=None,
      model_id=0,
      shared=True,
  ):
      super(CriticModel, self).__init__()
      hid0_size = 800
      hid1_size = 400
      vel_hid0_size = 200
      vel_hid1_size = 400
  
      self.obs_dim = obs_dim
      self.vel_obs_dim = vel_obs_dim
  
      # buttom layers
      if shared:
          scope_name = "critic_shared"
      else:
          scope_name = "critic_identity_{}".format(model_id)
      if stage_name is not None:
          scope_name = "{}_{}".format(stage_name, scope_name)
  
      self.fc0 = layers.fc(
          size=hid0_size,
          act="selu",
          param_attr=ParamAttr(name="{}/w1/W".format(scope_name)),
          bias_attr=ParamAttr(name="{}/w1/b".format(scope_name)),
      )
      self.fc1 = layers.fc(
          size=hid1_size,
          act="selu",
          param_attr=ParamAttr(name="{}/h1/W".format(scope_name)),
          bias_attr=ParamAttr(name="{}/h1/b".format(scope_name)),
      )
      self.vel_fc0 = layers.fc(
          size=vel_hid0_size,
          act="selu",
          param_attr=ParamAttr(name="{}/vel_h0/W".format(scope_name)),
          bias_attr=ParamAttr(name="{}/vel_h0/b".format(scope_name)),
      )
      self.vel_fc1 = layers.fc(
          size=vel_hid1_size,
          act="selu",
          param_attr=ParamAttr(name="{}/vel_h1/W".format(scope_name)),
          bias_attr=ParamAttr(name="{}/vel_h1/b".format(scope_name)),
      )
      self.act_fc0 = layers.fc(
          size=hid1_size,
          act="selu",
          param_attr=ParamAttr(name="{}/a1/W".format(scope_name)),
          bias_attr=ParamAttr(name="{}/a1/b".format(scope_name)),
      )
  
      # top layers
      scope_name = "critic_identity_{}".format(model_id)
      if stage_name is not None:
          scope_name = "{}_{}".format(stage_name, scope_name)
  
      self.fc2 = layers.fc(
          size=hid1_size,
          act="selu",
          param_attr=ParamAttr(name="{}/h3/W".format(scope_name)),
          bias_attr=ParamAttr(name="{}/h3/b".format(scope_name)),
      )
      self.fc3 = layers.fc(
          size=1,
          act="selu",
          param_attr=ParamAttr(name="{}/value/W".format(scope_name)),
          bias_attr=ParamAttr(name="{}/value/b".format(scope_name)),
      )
  
file_path: PARL/examples/NeurIPS2019-Learn-to-Move-Challenge/final_submit/mlp_model.py
imports: import numpy
  import parl
  from parl import layers
  from paddle import fluid
  from paddle.fluid.param_attr import ParamAttr
label_desc: Use image node_id 1 to create a new CriticModel object from inherited base classes: parl with example: obj = CriticModel(obs_dim, vel_obs_dim, act_dim, stage_name, model_id, shared)