class_docstr: We can't use `self.single_model_cls` because at this point `__init__` hasn't
  run. single_model_cls is a static class variable that is meant to be
  constant
class_docstr_tok: ["We","ca","n't","use","`","self.single_model_cls","`","because","at","this","point","`","__init__","`","hasn't","run",".","single_model_cls","is","a","static","class","variable","that","is","meant","to","be","constant"]
code: def add_args(parser):
      TransformerModel.add_args(parser)
      SemiSupervisedModel.add_args(parser)
  
imports: import math
  import random
  import torch
  import torch.nn
  import torch.nn.functional
  from fairseq import options, utils
  from fairseq.models import FairseqEncoder, FairseqEncoderDecoderModel, FairseqIncrementalDecoder, register_model, register_model_architecture, transformer
  from fairseq.modules import AdaptiveSoftmax, LayerNorm, MultiheadAttention, SinusoidalPositionalEmbedding
  from pytorch_translate import utils, vocab_reduction
  from pytorch_translate.average_attention import AverageAttention
  from pytorch_translate.common_layers import TransformerEmbedding, TransformerEncoderGivenEmbeddings, TransformerTokenEmbedding, VariableTracker
  from pytorch_translate.semi_supervised import SemiSupervisedModel
  from pytorch_translate.utils import torch_find
label_desc: Use image node_id 1 for calling the SemiSupervisedTransformerModel obj's underlying member method code with example usage: obj.add_args(parser) without return types