CSS-LM

Форк
0
/
extract_test_by_eval.py 
99 строк · 2.7 Кб
1
import os
2
import sys
3
import csv
4

5
dir_input = sys.argv[1]
6
dir_output = sys.argv[2]
7
N = sys.argv[3]
8
if type(N) == int:
9
    N = str(N)
10

11

12
fileDir = os.listdir(dir_input)
13
fileDir = [file for file in fileDir]
14

15

16
best_f1 = 0
17
best_model = 0
18
best_model_eval = 0
19
best_acc = 0
20
best_loss = 0
21

22

23
for file in fileDir:
24
    if "eval" in file:
25
        with open(dir_input+"/"+file) as f:
26
            for line in f:
27
                line = line.strip().split()
28
                if line[0]=='eval_accuracy':
29
                    acc = float(line[-1])
30
                    if acc >= best_acc and "_test_paper_results_best.txt" not in file:
31
                        best_acc = acc
32
                        best_model_eval = file
33

34

35
save_list = list()
36
with open(str(dir_input)+"/"+str(best_model_eval)) as fin:
37
    for line in fin:
38
        save_list.append([line.strip()])
39

40
with open(str(dir_output)+"/"+str(N)+"_"+str(best_model_eval), "w", newline='\n') as fout:
41
    writer = csv.writer(fout)
42
    writer.writerows(save_list)
43

44

45

46
#Test in the best eval
47
for file in fileDir:
48
    if "test_paper_results_" in file:
49
        if file.split("_")[-1] == best_model_eval.split("_")[-1]:
50
            with open(dir_input+"/"+file) as f:
51
                for line in f:
52
                    line = line.strip().split()
53
                    if line[0]=='F1':
54
                        score = float(line[-1].replace("%",""))/100
55
                        if score > best_f1:
56
                            best_f1 = score
57
                            best_model = file
58
                    else:
59
                        pass
60

61

62
save_list = list()
63
with open(str(dir_input)+"/"+str(best_model)) as fin:
64
    for line in fin:
65
        save_list.append([line.strip()])
66

67
with open(str(dir_output)+"/"+str(N)+"_"+str(best_model), "w", newline='\n') as fout:
68
    writer = csv.writer(fout)
69
    writer.writerows(save_list)
70

71

72
###############################
73
###############################
74

75
best_model_test = 0
76
score=0
77
best_f1=0
78

79
#find the best test
80
for file in fileDir:
81
    if "test_paper_results_" in file:
82
        with open(dir_input+"/"+file) as f:
83
            for line in f:
84
                line = line.strip().split()
85
                if line[0]=='F1':
86
                    score = float(line[-1].replace("%",""))/100
87
                    if score > best_f1:
88
                        best_f1 = score
89
                        best_model_test = file
90
                else:
91
                    pass
92

93
with open(str(dir_input)+"/"+str(best_model_test)) as fin:
94
    for line in fin:
95
        save_list.append([line.strip()])
96

97
with open(str(dir_output)+"/"+str(N)+"_"+str(best_model_test)+"_no_eval", "w", newline='\n') as fout:
98
    writer = csv.writer(fout)
99
    writer.writerows(save_list)
100

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

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

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

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