class_docstr: Compute a single layer of ELMo representations.
  
  This class serves as a convenience when you only want to use one layer of
  ELMo representations at the input of your network.  It's essentially a wrapper
  around Elmo(num_output_representations=1, ...)
  
  Parameters
  ----------
  options_file : ``str``, required.
      An ELMo JSON options file.
  weight_file : ``str``, required.
      An ELMo hdf5 weight file.
  do_layer_norm : ``bool``, optional.
      Should we apply layer normalization (passed to ``ScalarMix``)?
  dropout : ``float``, optional.
      The dropout value to be applied to the ELMo representations.
  requires_grad : ``bool``, optional
      If True, compute gradient of ELMo parameters for fine tuning.
  projection_dim : ``int``, optional
      If given, we will project the ELMo embedding down to this dimension.  We recommend that you
      try using ELMo with a lot of dropout and no projection first, but we have found a few cases
      where projection helps (particulary where there is very limited training data).
  vocab_to_cache : ``List[str]``, optional, (default = 0.5).
      A list of words to pre-compute and cache character convolutions
      for. If you use this option, the ElmoTokenEmbedder expects that you pass word
      indices of shape (batch_size, timesteps) to forward, instead
      of character indices. If you use this option and pass a word which
      wasn't pre-cached, this will break.
class_docstr_tok: ["Compute","a","single","layer","of","ELMo","representations",".","This","class","serves","as","a","convenience","when","you","only","want","to","use","one","layer","of","ELMo","representations","at","the","input","of","your","network",".","It","'s","essentially","a","wrapper","around","Elmo","(","num_output_representations=1",",","...",")","Parameters","--","--","--","--","--","options_file",":","``","str","``",",","required",".","An","ELMo","JSON","options","file",".","weight_file",":","``","str","``",",","required",".","An","ELMo","hdf5","weight","file",".","do_layer_norm",":","``","bool","``",",","optional",".","Should","we","apply","layer","normalization","(","passed","to","``","ScalarMix","``",")","?","dropout",":","``","float","``",",","optional",".","The","dropout","value","to","be","applied","to","the","ELMo","representations",".","requires_grad",":","``","bool","``",",","optional","If","True",",","compute","gradient","of","ELMo","parameters","for","fine","tuning",".","projection_dim",":","``","int","``",",","optional","If","given",",","we","will","project","the","ELMo","embedding","down","to","this","dimension",".","We","recommend","that","you","try","using","ELMo","with","a","lot","of","dropout","and","no","projection","first",",","but","we","have","found","a","few","cases","where","projection","helps","(","particulary","where","there","is","very","limited","training","data",")",".","vocab_to_cache",":","``","List","[","str","]","``",",","optional",",","(","default","=","0.5",")",".","A","list","of","words","to","pre-compute","and","cache","character","convolutions","for",".","If","you","use","this","option",",","the","ElmoTokenEmbedder","expects","that","you","pass","word","indices","of","shape","(","batch_size",",","timesteps",")","to","forward",",","instead","of","character","indices",".","If","you","use","this","option","and","pass","a","word","which","was","n't","pre-cached",",","this","will","break","."]
code: def from_params(cls, vocab, params):  # type: ignore
      # pylint: disable=arguments-differ
      params.add_file_to_archive("options_file")
      params.add_file_to_archive("weight_file")
      options_file = params.pop("options_file")
      weight_file = params.pop("weight_file")
      requires_grad = params.pop("requires_grad", False)
      do_layer_norm = params.pop_bool("do_layer_norm", False)
      dropout = params.pop_float("dropout", 0.5)
      namespace_to_cache = params.pop("namespace_to_cache", None)
      if namespace_to_cache is not None:
          vocab_to_cache = list(
              vocab.get_token_to_index_vocabulary(
                  namespace_to_cache
              ).keys()
          )
      else:
          vocab_to_cache = None
      projection_dim = params.pop_int("projection_dim", None)
      params.assert_empty(cls.__name__)
      return cls(
          options_file=options_file,
          weight_file=weight_file,
          do_layer_norm=do_layer_norm,
          dropout=dropout,
          requires_grad=requires_grad,
          projection_dim=projection_dim,
          vocab_to_cache=vocab_to_cache,
      )
  
file_path: magnitude/pymagnitude/third_party/allennlp/modules/token_embedders/elmo_token_embedder.py
imports: from __future__ import absolute_import
  import torch
  from allennlp.common import Params
  from allennlp.modules.token_embedders.token_embedder import TokenEmbedder
  from allennlp.modules.elmo import Elmo
  from allennlp.modules.time_distributed import TimeDistributed
  from allennlp.data import Vocabulary
label_desc: Use image node_id 4 for calling the ElmoTokenEmbedder obj's underlying member method code with example usage: obj.from_params(cls, vocab, params) and returns: cls