class_docstr: Multiplicative-weight strategy which samples representations adaptively.
code: def _update(self, epoch, validation_losses):
      validation_losses = tf.convert_to_tensor(validation_losses)
      eta = eta_scheduler(epoch)
      self.weights.assign(
          self.weights * tf.math.exp(eta * validation_losses)
      )
      for i in range(self.num_representations):
          tf.summary.scalar(
              f"representations/weight/{self.representation_names[i]}",
              self.weights[i],
              step=epoch,
          )
  
imports: import gin
  import tensorflow.compat.v2
label_desc: Use image node_id 3 for calling the MultiplicativeWeightStrategy obj's underlying member method code with example usage: obj._update(epoch, validation_losses) without return types