def histogram(self, *args, **kwargs): kwargs.setdefault('step', 1) writer = tf2.summary.create_file_writer(self.get_temp_dir()) with writer.as_default(): summary.histogram(*args, **kwargs) writer.close() return self.read_single_event_from_eventfile().summary
def graph_fn(): x = tf.constant(1.0) with tf2.GradientTape() as tape1: with tf2.GradientTape() as tape2: tape1.watch(x) tape2.watch(x) summary.histogram(name="loss", step=0, data=x, buckets=10)
def histogram_event(self, *args, **kwargs): kwargs.setdefault("step", 1) writer = tf2.summary.create_file_writer(self.get_temp_dir()) with writer.as_default(): summary.histogram(*args, **kwargs) writer.close() event_files = sorted(glob.glob(os.path.join(self.get_temp_dir(), "*"))) self.assertEqual(len(event_files), 1) events = list(tf.compat.v1.train.summary_iterator(event_files[0])) # Expect a boilerplate event for the file_version, then the summary one. self.assertEqual(len(events), 2) # Delete the event file to reset to an empty directory for later calls. # TODO(nickfelt): use a unique subdirectory per writer instead. os.remove(event_files[0]) return events[1]
def graph_fn(): # Recreate the active scope inside the defun since it won't propagate. with tf.name_scope(scope): summary.histogram(*args, **kwargs)
def write_histogram_event(self, *args, **kwargs): kwargs.setdefault("step", 1) writer = tf2.summary.create_file_writer(self.get_temp_dir()) with writer.as_default(): summary.histogram(*args, **kwargs) writer.close()
def call_histogram_op(self, *args, **kwargs): summary.histogram(*args, **kwargs)