code: def forward(self, inputs, device):
      h, c, ws, bs, xs = self.process_inputs(inputs)
      if h.array.dtype == numpy.float64:
          with chainer.using_config("use_cudnn", "never"):
              out = F.n_step_bilstm(
                  self.n_layers, 0.0, h, c, ws, bs, xs
              )
      else:
          out = F.n_step_bilstm(self.n_layers, 0.0, h, c, ws, bs, xs)
  
      rets = []
      rets.append(out[0])
      rets.append(out[1])
      for i in range(len(out[2])):
          rets.append(out[2][i])
      return tuple(rets)
  
imports: import unittest
  import numpy
  import chainer
  from chainer.backends import cuda
  import chainer.functions
  from chainer import testing
  from chainer.testing import attr
  from chainer.testing import backend
  from chainer.testing import condition
label_desc: Use image node_id 4 for calling the TestNStepBiLSTM obj's underlying member method code with example usage: obj.forward(inputs, device) and returns: tuple