-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathextract.py
35 lines (27 loc) · 1.19 KB
/
extract.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import re
def parse_log_file(file_path):
epochs = []
training_losses = []
validation_losses = []
validation_accuracies = []
with open(file_path, 'r') as file:
lines = file.readlines()
for line in lines:
epoch_match = re.search(r'Epoch (\d+)/\d+, Training Loss: ([\d.]+)', line)
val_loss_match = re.search(r'Validation Loss: ([\d.]+)', line)
val_acc_match = re.search(r'Validation Accuracy: ([\d.]+)%', line)
if epoch_match:
epoch = int(epoch_match.group(1))
training_loss = float(epoch_match.group(2))
epochs.append(epoch)
training_losses.append(training_loss)
if val_loss_match:
validation_loss = float(val_loss_match.group(1))
validation_losses.append(validation_loss)
if val_acc_match:
validation_accuracy = float(val_acc_match.group(1))
validation_accuracies.append(validation_accuracy)
return epochs, training_losses, validation_losses, validation_accuracies
log_file_path = 'training.log'
epochs, training_losses, validation_losses, validation_accuracies = parse_log_file(log_file_path)
print(max(validation_accuracies))