class_docstr: Command line interface training args.
  
  This requires more arguments to create models and get datasets.
  Args:
      model_name_or_path (str): Name or path of the model we want to create. "lstm" and "cnn" will create TextAttack's LSTM and CNN models while
          any other input will be used to create Transformers model. (e.g."brt-base-uncased").
      attack (str): Attack recipe to use (enables adversarial training)
      dataset (str): dataset for training; will be loaded from `datasets` library.
      task_type (str): Type of task model is supposed to perform. Options: `classification`, `regression`.
      model_max_length (int): The maximum sequence length of the model.
      model_num_labels (int): The number of labels for classification (1 for regression).
      dataset_train_split (str): Name of the train split. If not provided will try `train` as the split name.
      dataset_eval_split (str): Name of the train split. If not provided will try `dev`, `validation`, or `eval` as split name.
class_docstr_tok: ["Command","line","interface","training","args",".","This","requires","more","arguments","to","create","models","and","get","datasets",".","Args",":","model_name_or_path","(","str",")",":","Name","or","path","of","the","model","we","want","to","create",".","``","lstm","''","and","``","cnn","''","will","create","TextAttack","'s","LSTM","and","CNN","models","while","any","other","input","will","be","used","to","create","Transformers","model",".","(","e.g.","''","brt-base-uncased","''",")",".","attack","(","str",")",":","Attack","recipe","to","use","(","enables","adversarial","training",")","dataset","(","str",")",":","dataset","for","training",";","will","be","loaded","from","`","datasets","`","library",".","task_type","(","str",")",":","Type","of","task","model","is","supposed","to","perform",".","Options",":","`","classification","`",",","`","regression","`",".","model_max_length","(","int",")",":","The","maximum","sequence","length","of","the","model",".","model_num_labels","(","int",")",":","The","number","of","labels","for","classification","(","1","for","regression",")",".","dataset_train_split","(","str",")",":","Name","of","the","train","split",".","If","not","provided","will","try","`","train","`","as","the","split","name",".","dataset_eval_split","(","str",")",":","Name","of","the","train","split",".","If","not","provided","will","try","`","dev","`",",","`","validation","`",",","or","`","eval","`","as","split","name","."]
code: def _add_parser_args(cls, parser):
      # Arguments that are needed if we want to create a model to train.
      parser.add_argument(
          "--model-name-or-path",
          "--model",
          type=str,
          required=True,
          help='Name or path of the model we want to create. "lstm" and "cnn" will create TextAttack\'s LSTM and CNN models while'
          ' any other input will be used to create Transformers model. (e.g."brt-base-uncased").',
      )
      parser.add_argument(
          "--model-max-length",
          type=int,
          default=None,
          help="The maximum sequence length of the model.",
      )
      parser.add_argument(
          "--model-num-labels",
          type=int,
          default=None,
          help="The number of labels for classification.",
      )
      parser.add_argument(
          "--attack",
          type=str,
          required=False,
          default=None,
          help="Attack recipe to use (enables adversarial training)",
      )
      parser.add_argument(
          "--task-type",
          type=str,
          default="classification",
          help="Type of task model is supposed to perform. Options: `classification`, `regression`.",
      )
      parser.add_argument(
          "--dataset",
          type=str,
          required=True,
          default="yelp",
          help="dataset for training; will be loaded from "
          "`datasets` library. if dataset has a subset, separate with a colon. "
          " ex: `glue^sst2` or `rotten_tomatoes`",
      )
      parser.add_argument(
          "--dataset-train-split",
          type=str,
          default="",
          help="train dataset split, if non-standard "
          "(can automatically detect 'train'",
      )
      parser.add_argument(
          "--dataset-eval-split",
          type=str,
          default="",
          help="val dataset split, if non-standard "
          "(can automatically detect 'dev', 'validation', 'eval')",
      )
      parser.add_argument(
          "--filter-train-by-labels",
          nargs="+",
          type=int,
          required=False,
          default=None,
          help="List of labels to keep in the train dataset and discard all others.",
      )
      parser.add_argument(
          "--filter-eval-by-labels",
          nargs="+",
          type=int,
          required=False,
          default=None,
          help="List of labels to keep in the eval dataset and discard all others.",
      )
      return parser
  
imports: from dataclasses import dataclass, field
  import datetime
  import os
  from typing import Union
  from textattack.datasets import HuggingFaceDataset
  from textattack.models.helpers import LSTMForClassification, WordCNNForClassification
  from textattack.models.wrappers import HuggingFaceModelWrapper, ModelWrapper, PyTorchModelWrapper
  from textattack.shared import logger
  from textattack.shared.utils import ARGS_SPLIT_TOKEN
  from .attack import Attack
  from .attack_args import ATTACK_RECIPE_NAMES
label_desc: Use image node_id 1 for calling the _CommandLineTrainingArgs obj's underlying member method code with example usage: obj._add_parser_args(cls, parser) and returns: parser