code: def test_rnn_layer():
      check_rnn_layer(gluon.rnn.RNN(100, num_layers=3))
      check_rnn_layer(
          gluon.rnn.RNN(100, activation="tanh", num_layers=3)
      )
      check_rnn_layer(gluon.rnn.LSTM(100, num_layers=3))
      check_rnn_layer(gluon.rnn.GRU(100, num_layers=3))
  
      check_rnn_layer(
          gluon.rnn.LSTM(100, num_layers=3, bidirectional=True)
      )
      check_rnn_layer_w_rand_inputs(
          gluon.rnn.LSTM(100, num_layers=3, bidirectional=True)
      )
  
imports: import sys
  import os
  import time
  import random
  import mxnet
  import multiprocessing
  from mxnet.test_utils import check_consistency, set_default_device, assert_almost_equal, rand_ndarray, environment
  import numpy
  import math
  from mxnet import autograd
  import pytest
  from common import assert_raises_cudnn_not_satisfied, run_in_spawned_process, random_seed
  from test_gluon import *
  from test_loss import *
  from test_numpy_loss import *
  from test_gluon_rnn import *
label_desc: Use image node_id 5 for calling a global function with example usage: test_rnn_layer() without return types