class_docstr: CAV class contains methods for concept activation vector (CAV).
  
  CAV represents semenatically meaningful vector directions in
  network's embeddings (bottlenecks).
class_docstr_tok: ["CAV","class","contains","methods","for","concept","activation","vector","(","CAV",")",".","CAV","represents","semenatically","meaningful","vector","directions","in","network","'s","embeddings","(","bottlenecks",")","."]
docstr: Initialize CAV class.
  
  Args:
    concepts: set of concepts used for CAV
    bottleneck: the bottleneck used for CAV
    hparams: a parameter used to learn CAV
    save_path: where to save this CAV
docstr_tok: ["Initialize","CAV","class",".","Args",":","concepts",":","set","of","concepts","used","for","CAV","bottleneck",":","the","bottleneck","used","for","CAV","hparams",":","a","parameter","used","to","learn","CAV","save_path",":","where","to","save","this","CAV"]
code: def __init__(self, concepts, bottleneck, hparams, save_path=None):
      """Initialize CAV class.
  
      Args:
        concepts: set of concepts used for CAV
        bottleneck: the bottleneck used for CAV
        hparams: a parameter used to learn CAV
        save_path: where to save this CAV
      """
      self.concepts = concepts
      self.bottleneck = bottleneck
      self.hparams = hparams
      self.save_path = save_path
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import os.path
  import pickle
  import numpy
  from six.moves import range
  from sklearn import linear_model
  from sklearn import metrics
  from sklearn.model_selection import train_test_split
  from tcav import utils
  import tensorflow
label_desc: Use image node_id 6 to create a new CAV object from inherited base classes: object with example: obj = CAV(concepts, bottleneck, hparams, save_path)