code: def forward(self, inputs, hidden):
      hx, cx = hidden[0].squeeze(0), hidden[1].squeeze(0)
      gates = (
          torch.matmul(inputs, self.weight_ih.t())
          + self.bias_ih
          + torch.matmul(hx, self.weight_hh.t())
          + self.bias_hh
      )
      ingate, forgetgate, cellgate, outgate = gates.chunk(4, 1)
  
      ingate = torch.sigmoid(ingate)
      forgetgate = torch.sigmoid(forgetgate)
      cellgate = torch.tanh(cellgate)
      outgate = torch.sigmoid(outgate)
  
      cy = (forgetgate * cx) + (ingate * cellgate)
      hy = outgate * torch.tanh(cy)
  
      return hy, (hy, cy)
  
imports: from typing import List, Optional
  import torch
  import torch.nn
  from ..losses.pytorch import MAE
  from ..common._base_recurrent import BaseRecurrent
  from ..common._modules import MLP
label_desc: Use image node_id 2 for calling the LSTMCell obj's underlying member method code with example usage: obj.forward(inputs, hidden) and returns: hy,  hy,  cy