title: TypeError: forward() takes 2 positional arguments but 3 were given
body: <p>Hello I do not understand why i get the error as shown in title with the following as my forward propagation function</p>
  
  <pre><code>    # For function that will activate neurons and perform forward propagation
  def forward(self, inputs):
      state, (hx, cx) = inputs # getting separately the input images to the tuple (hidden states, cell states)
      x = F.relu(self.lstm(state)) # forward propagating the signal from the input images to the 1st convolutional layer
      hx, cx = self.lstm(x, (hx, cx)) # the LSTM takes as input x and the old hidden &amp; cell states and ouputs the new hidden &amp; cell states
      x = hx # getting the useful output, which are the hidden states (principle of the LSTM)
      return self.fcL(x), (hx, cx) # returning the output of the actor (Q(S,A)), and the new hidden &amp; cell states ((hx, cx))
  </code></pre>
  
  <p>and this as my action_selection function:</p>
  
  <pre><code>    def select_action(self, state):
      #LSTM
      initialise = True # Initialise to zero at first iteration
      if initialise:
          cx = Variable(torch.zeros(1, 30))
          hx = Variable(torch.zeros(1, 30))
      else:  # The hx,cx from the previous iteration
          cx = Variable(cx.data) 
          hx = Variable(hx.data) 
      initialise = False
      q_values, (hx,cx) = self.model(Variable(state), (hx,cx))
      probs = F.softmax((q_values)*self.tau,dim=1)
      #create a random draw from the probability distribution created from softmax
      action = probs.multinomial()
      return action.data[0,0]
  </code></pre>