code: def forward(self, inputs, hidden):
      prev_h, prev_c = hidden
      next_h, next_c = [], []
      for i, m in enumerate(self.lstm_modules):
          curr_h, curr_c = m(inputs, (prev_h[i], prev_c[i]))
          next_c.append(curr_c)
          next_h.append(curr_h)
          # current implementation only supports batch size equals 1,
          # but the algorithm does not necessarily have this limitation
          inputs = curr_h[-1].view(1, -1)
      return next_h, next_c
  
imports: import torch
  import torch.nn
  import torch.nn.functional
  from .None import register_nas_algo
  from .base import BaseNAS
  from ..space import BaseSpace
  from ..utils import AverageMeterGroup, replace_layer_choice, replace_input_choice, get_module_order, sort_replaced_module, PathSamplingInputChoice, PathSamplingLayerChoice
  from nni.nas.pytorch.fixed import apply_fixed_architecture
  from tqdm import tqdm
  from datetime import datetime
  import numpy
  from ....utils import get_logger
label_desc: Use image node_id 2 for calling the StackedLSTMCell obj's underlying member method code with example usage: obj.forward(inputs, hidden) and returns: next_h,  next_c