| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- import pickle
- df_loc = "output/adaptive/vConv2d.pickle"
- with open(df_loc, "rb") as f:
- df = pickle.load(f)
- debug_outputs = df["debug_outputs"]
- message_by_loop = {}
- for i, output in enumerate(debug_outputs):
- for line in output:
- try:
- if line.startswith("Start recovery"):
- log = (i, "R")
- for loop_id in message_by_loop.keys():
- message_by_loop[loop_id].append(log)
- continue
- loop_index_string = "estimation for loop"
- loc = line.find(loop_index_string)
- assert(loc > -1)
- loop_index = loc + len(loop_index_string) + 1
- loop_id = line[loop_index:].split()[0]
- update_string = "is updated to"
- loc = line.find(update_string)
- assert(loc > -1)
- val_index = loc + len(update_string) + 1
- updated_val = line[val_index:].split()[0]
- if line.startswith("(recovery)"):
- updated_val = "!" + updated_val
- if loop_id not in message_by_loop:
- message_by_loop[loop_id] = []
-
- log = (i, updated_val)
- message_by_loop[loop_id].append(log)
- except:
- print("incomplete string:", line)
- for key in sorted(message_by_loop.keys()):
- # print(key, message_by_loop[key])
- outputs = []
- current_iter = -1
- for log in message_by_loop[key]:
- i, val = log
- while current_iter < i:
- current_iter += 1
- outputs.append(f"({current_iter})")
- outputs.append(val)
- print(f"{key}:", " ".join(outputs))
|