code: def create_op_by_mode(mode):
      if mode == "lstm":
          fused_op = gluon.rnn.LSTM
          stack_op = gluon.rnn.LSTMCell
          recurrent_block_prefix = "lstm0_"
      elif mode == "gru":
          fused_op = gluon.rnn.GRU
          stack_op = gluon.rnn.GRUCell
          recurrent_block_prefix = "gru0_"
      elif mode == "rnn_relu":
          fused_op = partial(gluon.rnn.RNN, activation="relu")
          stack_op = partial(gluon.rnn.RNNCell, activation="relu")
          recurrent_block_prefix = "rnn0_"
      elif mode == "rnn_tanh":
          fused_op = partial(gluon.rnn.RNN, activation="tanh")
          stack_op = partial(gluon.rnn.RNNCell, activation="tanh")
          recurrent_block_prefix = "rnn0_"
  
      return fused_op, stack_op, recurrent_block_prefix
  
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 24 for calling a global function with example usage: create_op_by_mode(mode) and returns: fused_op,  stack_op,  recurrent_block_prefix