in notebooks/utils.py [0:0]
def _parse_metrics_from_tb_events(summary_dir, out_file):
""" Parse TensorBoard events files and log results to csv
Adapted from
https://github.com/google-research/text-to-text-transfer-transformer/blob/main/t5/scripts/parse_tb.py
"""
try:
# Reading event directories
subdirs = tf.io.gfile.listdir(summary_dir)
summary_dirs = [os.path.join(summary_dir, d.rstrip('/')) for d in subdirs]
# Parsing event files
scores = None
for d in summary_dirs:
events = eval_utils.parse_events_files(d, True)
task_metrics = eval_utils.get_eval_metric_values(
events,
task_name=os.path.basename(d))
if scores:
scores.update(task_metrics)
else:
scores = task_metrics
if not scores:
print(f"No evaluation events found in {summary_dir}")
# Computing and formatting metrics
df = eval_utils.scores_to_df(scores)
df = eval_utils.compute_avg_glue(df)
df = eval_utils.sort_columns(df)
# Writing metrics to output file
eval_utils.log_csv(df, output_file=out_file)
except Exception as e:
print(e)
print('Failed to parse TensorBoard event files')