def get_model(name, dataset_name='<STR_LIT>', **kwargs):
models = {'<STR_LIT>': bert_12_768_12,<EOL>'<STR_LIT>': bert_24_1024_16}<EOL>name = name.lower()<EOL>if name not in models:<EOL><INDENT>raise ValueError(<EOL>'<STR_LIT>' % (<EOL>name, '<STR_LIT>'.join(sorted(models.keys()))))<EOL><DEDENT>kwargs['<STR_LIT>'] = dataset_name<EOL>return models[name](**kwargs)<EOL>
Returns a pre-defined model by name.

    Parameters
    ----------
    name : str
        Name of the model.
    dataset_name : str or None, default 'wikitext-2'.
        If None, then vocab is required, for specifying embedding weight size, and is directly
        returned.
    vocab : gluonnlp.Vocab or None, default None
        Vocabulary object to be used with the language model.
        Required when dataset_name is not specified.
        None Vocabulary object is required with the ELMo model.
    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/models'
        Location for keeping the model parameters.

    Returns
    -------
    gluon.Block, gluonnlp.Vocab, (optional) gluonnlp.Vocab