class_docstr: TCAV object: runs TCAV for one target and a set of concepts.
  The static methods (get_direction_dir_sign, compute_tcav_score,
  get_directional_dir) invole getting directional derivatives and calculating
  TCAV scores. These are static because they might be useful independently,
  for instance, if you are developing a new interpretability method using
  CAVs.
  See https://arxiv.org/abs/1711.11279
docstr: Run TCAV with provided for one set of (target, concepts).
  
  Args:
    param: parameters to run
    overwrite: if True, overwrite any saved CAV files.
    run_parallel: run this parallel.
  
  Returns:
    a dictionary of results (panda frame)
docstr_tok: ["Run","TCAV","with","provided","for","one","set","of","(","target",",","concepts",")",".","Args",":","param",":","parameters","to","run","overwrite",":","if","True",",","overwrite","any","saved","CAV","files",".","run_parallel",":","run","this","parallel",".","Returns",":","a","dictionary","of","results","(","panda","frame",")"]
code: def _run_single_set(self, param, overwrite=False, run_parallel=False):
      """Run TCAV with provided for one set of (target, concepts).
  
      Args:
        param: parameters to run
        overwrite: if True, overwrite any saved CAV files.
        run_parallel: run this parallel.
  
      Returns:
        a dictionary of results (panda frame)
      """
      bottleneck = param.bottleneck
      concepts = param.concepts
      target_class = param.target_class
      activation_generator = param.activation_generator
      alpha = param.alpha
      mymodel = param.model
      cav_dir = param.cav_dir
      # first check if target class is in model.
  
      tf.compat.v1.logging.info(
          "running %s %s" % (target_class, concepts)
      )
  
      # Get acts
      acts = activation_generator.process_and_load_activations(
          [bottleneck], concepts + [target_class]
      )
      # Get CAVs
      cav_hparams = CAV.default_hparams()
      cav_hparams["alpha"] = alpha
      cav_instance = get_or_train_cav(
          concepts,
          bottleneck,
          acts,
          cav_dir=cav_dir,
          cav_hparams=cav_hparams,
          overwrite=overwrite,
      )
  
      # clean up
      for c in concepts:
          del acts[c]
  
      # Hypo testing
      a_cav_key = CAV.cav_key(
          concepts,
          bottleneck,
          cav_hparams["model_type"],
          cav_hparams["alpha"],
      )
      target_class_for_compute_tcav_score = target_class
  
      cav_concept = concepts[0]
  
      i_up = self.compute_tcav_score(
          mymodel,
          target_class_for_compute_tcav_score,
          cav_concept,
          cav_instance,
          acts[target_class][cav_instance.bottleneck],
          activation_generator.get_examples_for_concept(target_class),
          run_parallel=run_parallel,
      )
      val_directional_dirs = self.get_directional_dir(
          mymodel,
          target_class_for_compute_tcav_score,
          cav_concept,
          cav_instance,
          acts[target_class][cav_instance.bottleneck],
          activation_generator.get_examples_for_concept(target_class),
      )
      result = {
          "cav_key": a_cav_key,
          "cav_concept": cav_concept,
          "negative_concept": concepts[1],
          "target_class": target_class,
          "cav_accuracies": cav_instance.accuracies,
          "i_up": i_up,
          "val_directional_dirs_abs_mean": np.mean(
              np.abs(val_directional_dirs)
          ),
          "val_directional_dirs_mean": np.mean(val_directional_dirs),
          "val_directional_dirs_std": np.std(val_directional_dirs),
          "val_directional_dirs": val_directional_dirs,
          "note": "alpha_%s " % (alpha),
          "alpha": alpha,
          "bottleneck": bottleneck,
      }
      del acts
      return result
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from multiprocessing import dummy
  from six.moves import range
  from tcav.cav import CAV
  from tcav.cav import get_or_train_cav
  from tcav import run_params
  from tcav import utils
  import numpy
  import time
  import tensorflow
label_desc: Use image node_id 6 for calling the TCAV obj's underlying member method code with example usage: obj._run_single_set(param, overwrite, run_parallel) and returns: result