class_docstr: Train Transformer models for multiple language pairs simultaneously.
  
  Requires `--task multilingual_translation`.
  
  We inherit all arguments from TransformerModel and assume that all language
  pairs use a single Transformer architecture. In addition, we provide several
  options that are specific to the multilingual setting.
  
  Args:
      --share-encoder-embeddings: share encoder embeddings across all source languages
      --share-decoder-embeddings: share decoder embeddings across all target languages
      --share-encoders: share all encoder params (incl. embeddings) across all source languages
      --share-decoders: share all decoder params (incl. embeddings) across all target languages
code: def _get_module_class(
      cls, is_encoder, args, lang_dict, embed_tokens, langs
  ):
      module_class = (
          TransformerEncoder if is_encoder else TransformerDecoder
      )
      return module_class(args, lang_dict, embed_tokens)
  
file_path: fairseq/fairseq/models/multilingual_transformer.py
imports: from collections import OrderedDict
  from fairseq import utils
  from fairseq.models import FairseqMultiModel, register_model, register_model_architecture
  from fairseq.models.transformer import Embedding, TransformerDecoder, TransformerEncoder, TransformerModel, base_architecture
  from fairseq.utils import safe_hasattr
label_desc: Use image node_id 4 for calling the MultilingualTransformerModel obj's underlying member method code with example usage: obj._get_module_class(cls, is_encoder, args, lang_dict, embed_tokens, langs) and returns: module_class