def save_summaries(metrics: Dict[str, float], writer: tf.summary.FileWriter, global_step: int) -> None: """Log metrics with a tf.summary.FileWriter.""" values = [ tf.Summary.Value(tag=k, simple_value=v) for k, v in metrics.items() ] summary = tf.Summary(value=values) writer.add_summary(summary, global_step) writer.flush()
def save_episode_to_summary(summary_writer: tensorflow.summary.FileWriter, episode: int, step: int, time: float, reward: float, epsilon: float) -> None: """ Adds summary of episode to summary file NOTE: to view summary execute "tensorboard --logdir output/[algorithm]/tensorboard_summary" :param summary_writer: summary writer :param episode: number of episode :param step: total steps of episode :param time: time needed to complete episode :param reward: total reward received in episode :param epsilon: value of epsilon at the end of episode """ # create summary of episode summary = tensorflow.Summary() summary.value.add(tag='Reward', simple_value=float(reward)) summary.value.add(tag='Step', simple_value=int(step)) summary.value.add(tag='Time', simple_value=float(time)) summary.value.add(tag='Epsilon', simple_value=float(epsilon)) # add summary to file writer summary_writer.add_summary(summary, episode) summary_writer.flush()