class_docstr: Wrapper to provide a common interfaces among different classifier modules
      
class_docstr_tok: ["Wrapper","to","provide","a","common","interfaces","among","different","classifier","modules"]
docstr: Initialize an instance of the wrapper
  
  :param args: arguments containing training and structure parameters
  :type args: ModelArguments
  :param model: A classifier module, ex. BERT or RNN classifier module
  :type model: BertForSequenceClassification or ClassifierModule
docstr_tok: ["Initialize","an","instance","of","the","wrapper",":","param","args",":","arguments","containing","training","and","structure","parameters",":","type","args",":","ModelArguments",":","param","model",":","A","classifier","module",",","ex",".","BERT","or","RNN","classifier","module",":","type","model",":","BertForSequenceClassification","or","ClassifierModule"]
code: def __init__(self, args, model):
      """Initialize an instance of the wrapper
  
      :param args: arguments containing training and structure parameters
      :type args: ModelArguments
      :param model: A classifier module, ex. BERT or RNN classifier module
      :type model: BertForSequenceClassification or ClassifierModule
      """
      self.args = args
      self.model = model
      self.opt = None
  
      self.num_epochs = args.num_pretrain_epochs
      self.epochs_since_improv = 0
      self.best_test_acc = 0
      self.avg_accuracy = 0
      self.test_accs = []
      self.train_accs = []
  
      self.loss_func = nn.CrossEntropyLoss(reduction="none")
  
imports: import os
  import logging
  import numpy
  import torch
  import torch.nn
  from torch.autograd import Variable
  from tqdm import tqdm
  from interpret_text.experimental.common.utils_introspective_rationale import generate_data
label_desc: Use image node_id 1 to create a new ClassifierWrapper object  with example: obj = ClassifierWrapper(args, model)