CSS-LM

Форк
0
/
draw_loss.py 
86 строк · 2.4 Кб
1
import matplotlib.pyplot as plt
2
import os
3
import sys
4

5
dir = sys.argv[1]
6
fileDir = os.listdir(dir)
7
filename_test = {int(f.split("_")[-1].replace(".txt","")):f for f in fileDir if "test_paper_results_" in f and "best" not in f}
8
#x = sorted(list(filename_test.keys()))
9
#print(x)
10
#exit()
11
#filename_dev = {int(f.split("_")[-1].replace(".txt","")):f for f in fileDir if "test_results_" in f}
12
filename_dev = {int(f.split("_")[-1].replace(".txt","")):f for f in fileDir if "eval_results_" in f}
13
x = sorted(list(filename_dev.keys()))
14
#print(x)
15
#exit()
16

17

18
y_test_f1 = list()
19
y_dev_acc = list()
20
y_dev_loss = list()
21

22
for id_ in x:
23
    file_dev = filename_dev[id_]
24
    file_test = filename_test[id_]
25

26
    with open(dir+file_dev) as f:
27
        for line in f:
28
            line = line.strip().split()
29
            if line[0]=='eval_accuracy':
30
                y_dev_acc.append(float(line[-1]))
31
            elif line[0]=='eval_loss':
32
                y_dev_loss.append(float(line[-1]))
33
            else:
34
                pass
35

36
    with open(dir+file_test) as f:
37
        for line in f:
38
            line = line.strip().split()
39
            #print(line)
40
            if line[0]=='F1':
41
                y_test_f1.append(float(line[-1].replace("%",""))/100)
42
                #print(y_test_f1)
43
            else:
44
                pass
45

46

47
plt.plot(x, y_test_f1, label="test_f1", color='coral')
48
plt.scatter(x, y_test_f1, color='coral')
49

50
plt.plot(x, y_dev_loss, label="dev_loss", color='blue', linestyle='--')
51
plt.scatter(x, y_dev_loss, color='blue')
52

53
plt.plot(x, y_dev_acc, label="dev_f1", color='lightblue', linestyle='--')
54
plt.scatter(x, y_dev_acc, color='lightblue')
55

56
##########
57
###loss###
58
##########
59
loss_x = list()
60
loss_y = list()
61
loss_no_pseudo_x = list()
62
loss_no_pseudo_y = list()
63
with open(dir+"loss") as f:
64
    for i, line in enumerate(f):
65
        if i%x[0] == 0 and i>=x[0]:
66
            loss_x.append(i)
67
            loss_y.append(float(line))
68

69
try:
70
    with open(dir+"loss_no_pseudo") as f:
71
        for i, line in enumerate(f):
72
            if i%x[0] == 0 and i>=x[0]:
73
                loss_no_pseudo_x.append(i)
74
                loss_no_pseudo_y.append(float(line))
75
except:
76
    print("Have no loss_no_pseudo")
77

78
plt.plot(loss_x, loss_y, label="train_loss", color='lightgreen', linestyle='--')
79

80
try:
81
    plt.plot(loss_no_pseudo_x, loss_no_pseudo_y, label="train_loss_no_pseudo", color='green', linestyle='--')
82
except:
83
    pass
84

85
plt.legend(loc='upper left')
86
plt.savefig('loss.pdf',format="pdf")
87

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.