def rename_events(input_path, output_path, old_tags, new_tag): # Make a record writer with tf.io.TFRecordWriter(str(output_path)) as writer: # Iterate event records for rec in tf.data.TFRecordDataset([str(input_path)]): # Read event ev = Event() ev.MergeFromString(rec.numpy()) # Check if it is a summary if ev.summary: # Iterate summary values for v in ev.summary.value: # Check if the tag should be renamed if v.tag in old_tags: # Rename with new tag name v.tag = new_tag writer.write(ev.SerializeToString())
def remove_events(input_file, groups_to_remove): new_file = input_file + ".new" # Make a record writer with tf.io.TFRecordWriter(new_file) as writer: # Iterate event records for rec in tf.data.TFRecordDataset([input_file]): # Read event ev = Event() ev.MergeFromString(rec.numpy()) # Check if it is a summary event if ev.summary: orig_values = [v for v in ev.summary.value] filtered_values = [v for v in orig_values if not is_tag_matching_group(v.tag, groups_to_remove)] #print(f"filtered_values={len(filtered_values)}, orig_values={len(orig_values)}") if len(filtered_values) != len(orig_values): # for v in orig_values: # print(v) del ev.summary.value[:] ev.summary.value.extend(filtered_values) writer.write(ev.SerializeToString()) os.rename(new_file, input_file)
def rename_events(input_file, old_tags, new_tag): new_file = input_file + ".new" # Make a record writer with tf.io.TFRecordWriter(new_file) as writer: # Iterate event records for rec in tf.data.TFRecordDataset([input_file]): # Read event ev = Event() ev.MergeFromString(rec.numpy()) # Check if it is a summary #print(ev) if ev.summary: # Iterate summary values for v in ev.summary.value: #print(v) # Check if the tag should be renamed if v.tag in old_tags: # Rename with new tag name v.tag = new_tag writer.write(ev.SerializeToString()) os.rename(new_file, input_file)