chendl's picture
Add application file
0b7b08a
import glob
import os
import matplotlib.pyplot as plt
COLORS = ["green", "blue", "orange", "black", "purple", "gray", "gold", "red", "gold", "yellow"]
color_i = 0
if __name__ == "__main__":
data = {}
color = {}
filenames = glob.glob("./eval_results/*")
for filename in filenames:
if "ig" in filename or "0713" in filename or "0819" in filename:
continue
items = filename.split("/")[-1].split("_")
if len(items) < 5:
continue
task = items[0]
if task == "ok":
task = "okvqa"
exp = "_".join(items[2:-3])
else:
exp = "_".join(items[1:-3])
if "fix" not in exp:
step = int(items[-3])
if "13" in exp:
step //= 2
score = float(items[-1])
if task not in data:
data[task] = {}
if exp not in data[task]:
data[task][exp] = []
data[task][exp].append([step, score])
if exp not in color:
color[exp] = COLORS[color_i]
color_i += 1
for task in data:
for exp in data[task]:
data[task][exp] = sorted(data[task][exp], key=lambda x: x[0])
for task in data:
plt.figure()
plt.title(f"{task} evaluation")
for exp in data[task]:
steps = [x[0] for x in data[task][exp]]
scores = [x[1] for x in data[task][exp]]
plt.plot(steps, scores, "-o", color=color[exp], label=exp)
plt.grid()
plt.legend()
plt.xlabel("step")
plt.xlim(0, 15000)
plt.savefig(f"eval_results/{task}.jpg")