code: def elmo_2x1024_128_2048cnn_1xhighway(dataset_name=None, pretrained=False, ctx=mx.cpu(),
                                        root=os.path.join(get_home_dir(), 'models'), **kwargs):
      r
  
      predefined_args = {'rnn_type': 'lstmpc',
                         'output_size': 128,
                         'filters': [[1, 32], [2, 32], [3, 64], [4, 128],
                                     [5, 256], [6, 512], [7, 1024]],
                         'char_embed_size': 16,
                         'num_highway': 1,
                         'conv_layer_activation': 'relu',
                         'max_chars_per_token': 50,
                         'input_size': 128,
                         'hidden_size': 1024,
                         'proj_size': 128,
                         'num_layers': 2,
                         'cell_clip': 3,
                         'proj_clip': 3,
                         'skip_connection': True}
      assert all((k not in kwargs) for k in predefined_args), \
             'Cannot override predefined model settings.'
      predefined_args.update(kwargs)
      return _get_elmo_model(ELMoBiLM, 'elmo_2x1024_128_2048cnn_1xhighway', dataset_name, pretrained,
                             ctx, root, **predefined_args)
docs: r"""ELMo 2-layer BiLSTM with 1024 hidden units, 128 projection size, 1 highway layer.
  
      Parameters
      ----------
      dataset_name : str or None, default None
          The dataset name on which the pre-trained model is trained.
          Options are 'gbw'.
      pretrained : bool, default False
          Whether to load the pre-trained weights for model.
      ctx : Context, default CPU
          The context in which to load the pre-trained weights.
      root : str, default '$MXNET_HOME/models'
          Location for keeping the model parameters.
          MXNET_HOME defaults to '~/.mxnet'.
  
      Returns
      -------
      gluon.Block