docstr: Add model-specific arguments to the parser.
docstr_tok: ["Add","model-specific","arguments","to","the","parser","."]
code: def add_args(parser):
      """Add model-specific arguments to the parser."""
      parser.add_argument(
          "--dropout",
          default=0.1,
          type=float,
          metavar="D",
          help="dropout probability",
      )
      parser.add_argument(
          "--encoder-embed-dim",
          type=int,
          metavar="N",
          help="encoder embedding dimension",
      )
      parser.add_argument(
          "--encoder-embed-path",
          default=None,
          type=str,
          metavar="STR",
          help="path to pre-trained encoder embedding",
      )
      parser.add_argument(
          "--encoder-hidden-size",
          type=int,
          metavar="N",
          help="encoder hidden size",
      )
      parser.add_argument(
          "--encoder-layers",
          type=int,
          metavar="N",
          help="number of encoder layers",
      )
      parser.add_argument(
          "--encoder-bidirectional",
          action="store_true",
          help="make all layers of encoder bidirectional",
      )
      parser.add_argument(
          "--decoder-embed-dim",
          type=int,
          metavar="N",
          help="decoder embedding dimension",
      )
      parser.add_argument(
          "--decoder-embed-path",
          default=None,
          type=str,
          metavar="STR",
          help="path to pre-trained decoder embedding",
      )
      parser.add_argument(
          "--decoder-hidden-size",
          type=int,
          metavar="N",
          help="decoder hidden size",
      )
      parser.add_argument(
          "--decoder-layers",
          type=int,
          metavar="N",
          help="number of decoder layers",
      )
      parser.add_argument(
          "--decoder-out-embed-dim",
          type=int,
          metavar="N",
          help="decoder output embedding dimension",
      )
      parser.add_argument(
          "--decoder-zero-init",
          type=str,
          metavar="BOOL",
          help="initialize the decoder hidden/cell state to zero",
      )
      parser.add_argument(
          "--decoder-lang-embed-dim",
          type=int,
          metavar="N",
          help="decoder language embedding dimension",
      )
      parser.add_argument(
          "--fixed-embeddings",
          action="store_true",
          help="keep embeddings fixed (ENCODER ONLY)",
      )  # TODO Also apply to decoder embeddings?
  
      # Granular dropout settings (if not specified these default to --dropout)
      parser.add_argument(
          "--encoder-dropout-in",
          type=float,
          metavar="D",
          help="dropout probability for encoder input embedding",
      )
      parser.add_argument(
          "--encoder-dropout-out",
          type=float,
          metavar="D",
          help="dropout probability for encoder output",
      )
      parser.add_argument(
          "--decoder-dropout-in",
          type=float,
          metavar="D",
          help="dropout probability for decoder input embedding",
      )
      parser.add_argument(
          "--decoder-dropout-out",
          type=float,
          metavar="D",
          help="dropout probability for decoder output",
      )
  
imports: import torch
  import torch.nn
  import torch.nn.functional
  from fairseq import options, utils
  from fairseq.models import FairseqEncoder, FairseqIncrementalDecoder, FairseqEncoderDecoderModel, register_model, register_model_architecture
label_desc: Use image node_id 3 for calling the LSTMModel obj's underlying member method code with example usage: obj.add_args(parser) without return types