예제 #1
0
 def f(tag_prefix):
   with summary_ops.create_file_writer(logdir).as_default():
     default_output = summary_ops.write(tag_prefix + '_default', 1, step=0)
     with summary_ops.always_record_summaries():
       on_output = summary_ops.write(tag_prefix + '_on', 1, step=0)
     with summary_ops.never_record_summaries():
       off_output = summary_ops.write(tag_prefix + '_off', 1, step=0)
     return [default_output, on_output, off_output]
예제 #2
0
 def testWrite_shouldRecordSummaries(self):
   logdir = self.get_temp_dir()
   with context.eager_mode():
     with summary_ops.create_file_writer(logdir).as_default():
       self.assertTrue(summary_ops.write('default_on', 1, step=0))
       with summary_ops.always_record_summaries():
         self.assertTrue(summary_ops.write('set_on', 1, step=0))
       with summary_ops.never_record_summaries():
         self.assertFalse(summary_ops.write('set_off', 1, step=0))
   events = events_from_logdir(logdir)
   self.assertEqual(3, len(events))
   self.assertEqual('default_on', events[1].summary.value[0].tag)
   self.assertEqual('set_on', events[2].summary.value[0].tag)
예제 #3
0
  def all_metric_results(self, summary_logdir=None):
    """Computes results for all contained metrics.

    Args:
      summary_logdir: An optional string. If specified, metric results
        will be written as summaries to this directory.

    Returns:
      A `dict` mapping string names to tensors.
    """
    if summary_logdir is None:
      with summary_ops.never_record_summaries():
        return self._all_metric_results()
    else:
      def f():
        with summary_ops.create_file_writer(
            summary_logdir).as_default(), summary_ops.always_record_summaries():
          return self._all_metric_results()

      if context.executing_eagerly():
        return f()
      else:
        return function.defun(f)()
예제 #4
0
    def all_metric_results(self, summary_logdir=None):
        """Computes results for all contained metrics.

    Args:
      summary_logdir: An optional string. If specified, metric results
        will be written as summaries to this directory.

    Returns:
      A `dict` mapping string names to tensors.
    """
        if summary_logdir is None:
            with summary_ops.never_record_summaries():
                return self._all_metric_results()
        else:

            def f():
                with summary_ops.create_file_writer(summary_logdir).as_default(
                ), summary_ops.always_record_summaries():
                    return self._all_metric_results()

            if context.executing_eagerly():
                return f()
            else:
                return function.defun(f)()
예제 #5
0
 def testWrite_shouldRecordSummaries_fromFunction(self):
   logdir = self.get_temp_dir()
   @def_function.function
   def f(tag_prefix):
     with summary_ops.create_file_writer(logdir).as_default():
       default_output = summary_ops.write(tag_prefix + '_default', 1, step=0)
       with summary_ops.always_record_summaries():
         on_output = summary_ops.write(tag_prefix + '_on', 1, step=0)
       with summary_ops.never_record_summaries():
         off_output = summary_ops.write(tag_prefix + '_off', 1, step=0)
       return [default_output, on_output, off_output]
   with context.eager_mode():
     self.assertAllEqual([True, True, False], f('default'))
     with summary_ops.always_record_summaries():
       self.assertAllEqual([True, True, False], f('on'))
     with summary_ops.never_record_summaries():
       self.assertAllEqual([False, True, False], f('off'))
   events = events_from_logdir(logdir)
   self.assertEqual(6, len(events))
   self.assertEqual('default_default', events[1].summary.value[0].tag)
   self.assertEqual('default_on', events[2].summary.value[0].tag)
   self.assertEqual('on_default', events[3].summary.value[0].tag)
   self.assertEqual('on_on', events[4].summary.value[0].tag)
   self.assertEqual('off_on', events[5].summary.value[0].tag)