code: def test_unroll_layout():
      cell = gluon.rnn.HybridSequentialRNNCell()
      for i in range(5):
          if i == 1:
              cell.add(gluon.rnn.ResidualCell(gluon.rnn.LSTMCell(100)))
          else:
              cell.add(gluon.rnn.LSTMCell(100))
      inputs = [mx.np.random.uniform(size=(10, 50)) for _ in range(3)]
      cell.infer_shape(0, inputs[0], False)
      cell.initialize()
      outputs, _ = cell.unroll(3, inputs, layout="TNC")
      assert outputs[0].shape == (10, 100)
      assert outputs[1].shape == (10, 100)
      assert outputs[2].shape == (10, 100)
  
      outputs, _ = cell.unroll(3, inputs, layout="NTC")
      assert outputs[0].shape == (10, 100)
      assert outputs[1].shape == (10, 100)
      assert outputs[2].shape == (10, 100)
  
imports: import mxnet
  from mxnet import gluon, np
  import numpy
  import copy
  from functools import partial
  from numpy.testing import assert_allclose
  from mxnet.gluon.utils import split_rnn_params
  import pytest
  from mxnet.test_utils import almost_equal, assert_almost_equal, default_device
  from common import assert_raises_cudnn_not_satisfied, retry
label_desc: Use image node_id 14 for calling a global function with example usage: test_unroll_layout() without return types