class_docstr: Base class for strategies to select representations.
  
  This base class handles sample and update frequencies, as well as logging
  selection statistics to TensorBoard. Sub-classes should implement _select()
  and _update().
docstr: Constructs a SelectionStrategy object.
  
  Args:
    representation_names: A list of representations names for tf.summary.
    sample_freq: Frequency to draw a new selection (in steps).
    update_freq: Frequency to update the selector's state (in epochs).
docstr_tok: ["Constructs","a","SelectionStrategy","object",".","Args",":","representation_names",":","A","list","of","representations","names","for","tf.summary",".","sample_freq",":","Frequency","to","draw","a","new","selection","(","in","steps",")",".","update_freq",":","Frequency","to","update","the","selector","'s","state","(","in","epochs",")","."]
code: def __init__(self, representation_names, sample_freq, update_freq):
      """Constructs a SelectionStrategy object.
  
      Args:
        representation_names: A list of representations names for tf.summary.
        sample_freq: Frequency to draw a new selection (in steps).
        update_freq: Frequency to update the selector's state (in epochs).
      """
      self.num_representations = len(representation_names)
      self.representation_names = representation_names
      self.sample_freq = sample_freq
      self.update_freq = update_freq
      # index of the selected representation
      self.current_selection = tf.Variable(0, trainable=False)
      self.last_selection_step = tf.Variable(-1, trainable=False)
      self.last_update_epoch = tf.Variable(0, trainable=False)
      self.selection_counter = tf.Variable(
          [0] * self.num_representations
      )
  
imports: import gin
  import tensorflow.compat.v2
label_desc: Use image node_id 1 to create a new SelectionStrategy object from inherited base classes: tf with example: obj = SelectionStrategy(representation_names, sample_freq, update_freq)