docstr: input : obs, include the agent's id and last action, shape: (batch, obs_shape + n_action + n_agents)
  output: one agent's q(obs, act)
docstr_tok: ["input",":","obs",",","include","the","agent","'s","id","and","last","action",",","shape",":","(","batch",",","obs_shape","+","n_action","+","n_agents",")","output",":","one","agent","'s","q","(","obs",",","act",")"]
code: def __init__(self, input_shape, act_dim):
      """input : obs, include the agent's id and last action, shape: (batch, obs_shape + n_action + n_agents)
      output: one agent's q(obs, act)
      """
      super(ActorModel, self).__init__()
      self.hid_size = 64
  
      self.fc1 = nn.Linear(input_shape, self.hid_size)
      self.rnn = nn.GRUCell(self.hid_size, self.hid_size)
      self.fc2 = nn.Linear(self.hid_size, act_dim)
  
imports: import torch.nn
  import torch.nn.functional
  import numpy
  import parl
label_desc: Use image node_id 1 to create a new ActorModel object from inherited base classes: parl with example: obj = ActorModel(input_shape, act_dim)