import re import matplotlib.pyplot as plt PATH = r'C:\Users\feokt\PycharmProjects\CSI\CSI\logs' def postprocess_data(log: list): for pth in log: loss_sim = [] loss_shift = [] with open(PATH + pth) as f: lines = f.readlines() for line in lines: # line = '[2022-01-31 20:40:23.947855] [DONE] [Time 0.179] [Data 0.583] [LossC 0.000000] [LossSim 4.024234] [LossShift 0.065126]' part = re.search('\[DONE\]', line) if part is not None: l_sim = re.search('(\[LossSim.[0-9]*.[0-9]*\])', line).group() if l_sim is not None: loss_sim.append(float(re.search('(\s[0-9].*[0-9])', l_sim).group())) l_shift = re.search('(\[LossShift.[0-9]*.[0-9]*\])', line).group() if l_shift is not None: loss_shift.append(float(re.search('(\s[0-9].*[0-9])', l_shift).group())) loss = [loss_sim[i] + loss_shift[i] for i in range(len(loss_sim))] plt.ylabel("loss") plt.xlabel("epoch") plt.title("Loss over epochs") plt.plot(list(range(1, 101)), loss) for idx in range(len(log)): log[idx] = log[idx][38:] plt.legend(log) plt.grid() #plt.plot(list(range(1, 101)), loss_sim) #plt.plot(list(range(1, 101)), loss_shift) plt.show()