(
    monitor_dict,
    model_dir,
    prefix="",
    reduce_fn=None)
return host_call_fn, [global_step_tensor] + other_tensors
Construct host calls to monitor training progress on TPUs.
Construct host calls to monitor training progress on TPUs.
Construct host calls to monitor training progress on TPUs .
def construct_scalar_host_call(
    monitor_dict,
    model_dir,
    prefix="",
    reduce_fn=None):
  """
  Construct host calls to monitor training progress on TPUs.
  """

  metric_names = list(monitor_dict.keys())

  def host_call_fn(global_step, *args):
    """actual host call function."""
    step = global_step[0]
    with tf.contrib.summary.create_file_writer(
        logdir=model_dir, filename_suffix=".host_call").as_default():
      with tf.contrib.summary.always_record_summaries():
        for i, name in enumerate(metric_names):
          if reduce_fn is None:
            scalar = args[i][0]
          else:
            scalar = reduce_fn(args[i])
          with tf.contrib.summary.record_summaries_every_n_global_steps(
              100, global_step=step):
            tf.contrib.summary.scalar(prefix + name, scalar, step=step)

        return tf.contrib.summary.all_summary_ops()

  global_step_tensor = tf.reshape(tf.train.get_or_create_global_step(), [1])
  other_tensors = [tf.reshape(monitor_dict[key], [1]) for key in metric_names]

  return host_call_fn, [global_step_tensor] + other_tensors
def construct_scalar_host_call ( monitor_dict , model_dir , prefix = "" , reduce_fn = None ) : metric_names = list ( monitor_dict . keys ( ) ) def host_call_fn ( global_step , * args ) : """actual host call function.""" step = global_step [ 0 ] with tf . contrib . summary . create_file_writer ( logdir = model_dir , filename_suffix = ".host_call" ) . as_default ( ) : with tf . contrib . summary . always_record_summaries ( ) : for i , name in enumerate ( metric_names ) : if reduce_fn is None : scalar = args [ i ] [ 0 ] else : scalar = reduce_fn ( args [ i ] ) with tf . contrib . summary . record_summaries_every_n_global_steps ( 100 , global_step = step ) : tf . contrib . summary . scalar ( prefix + name , scalar , step = step ) return tf . contrib . summary . all_summary_ops ( ) global_step_tensor = tf . reshape ( tf . train . get_or_create_global_step ( ) , [ 1 ] ) other_tensors = [ tf . reshape ( monitor_dict [ key ] , [ 1 ] ) for key in metric_names ] return host_call_fn , [ global_step_tensor ] + other_tensors