class_docstr: SVM trainer that takes care of training (using k-fold cross validation),
  and evaluating the SVMs
class_docstr_tok: ["SVM","trainer","that","takes","care","of","training","(","using","k-fold","cross","validation",")",",","and","evaluating","the","SVMs"]
code: def __init__(self, config, layer, output_dir):
      self.config = config
      self.normalize = config["normalize"]
      self.layer = layer
      self.output_dir = self._get_output_dir(output_dir)
      self.costs_list = self._get_costs_list()
      self.train_ap_matrix = None
      self.cls_list = []
  
imports: import logging
  import pickle
  import threading
  import numpy
  from iopath.common.file_io import g_pathmgr
  from sklearn.model_selection import cross_val_score
  from sklearn.svm import LinearSVC
  from vissl.utils.io import load_file, save_file
  from vissl.utils.svm_utils.evaluate import get_precision_recall
label_desc: Use image node_id 1 to create a new SVMTrainer object  with example: obj = SVMTrainer(config, layer, output_dir)