sport-text-classification-ball/w2v.ipynb
Paweł Łączkowski 4ef009f252 initial commit
2024-05-08 20:27:57 +02:00

108 KiB

Importing libraries

# Data manipulation
import numpy as np
import pandas as pd

# Word2vec
from gensim.models import KeyedVectors

# NLP
import spacy

# Neural network
import torch
import torch.nn as nn
import torch.optim as optim

# Metrics
from sklearn.metrics import accuracy_score

Load word2vec model (100 dimensions)

word2vec = KeyedVectors.load('word2vec/word2vec_100_3_polish.bin')

Load spacy model

nlp = spacy.load('pl_core_news_sm')

Neural network model

class NeuralNetwork(nn.Module):
    def __init__(self, input_size, hidden_size):
        super(NeuralNetwork, self).__init__()
        
        self.fc1 = nn.Linear(input_size, hidden_size)
        self.fc2 = nn.Linear(hidden_size, hidden_size // 2)
        self.fc3 = nn.Linear(hidden_size // 2, hidden_size // 4)
        self.fc4 = nn.Linear(hidden_size // 4, hidden_size // 8)
        self.fc5 = nn.Linear(hidden_size // 8, 1)
        
        self.relu = nn.ReLU()
        self.sigmoid = nn.Sigmoid()
    
    def forward(self, x):
        x = self.fc1(x)
        x = self.relu(x)
        x = self.fc2(x)
        x = self.relu(x)
        x = self.fc3(x)
        x = self.relu(x)
        x = self.fc4(x)
        x = self.relu(x)
        x = self.fc5(x)
        x = self.sigmoid(x)
        return x

Load and preprocess data

# Load data
df_train = pd.read_csv('train/train.tsv', delimiter='\t', header=None)
df_test = pd.read_csv('test-A/in.tsv', delimiter='\t', header=None)
df_dev = pd.read_csv('dev-0/in.tsv', delimiter='\t', header=None)
df_dev_expected = pd.read_csv('dev-0/expected.tsv', delimiter='\t', header=None)

# Drop invalid columns
df_train.drop(columns=2, inplace=True)
df_test.drop(columns=1, inplace=True)

# Rename columns
df_train.columns = ['label', 'sentence']
df_test.columns = ['sentence']
df_dev.columns = ['sentence']
df_dev_expected.columns = ['label']

# Convert sentences to lowercase
df_train['sentence'] = df_train['sentence'].apply(lambda x: x.lower())
df_test['sentence'] = df_test['sentence'].apply(lambda x: x.lower())
df_dev['sentence'] = df_dev['sentence'].apply(lambda x: x.lower())

Sentence representation with word2vec

def get_sentence_representation(sentence):
    doc = nlp(sentence.lower())
    return np.sum([word2vec[token.text] for token in doc if token.text in word2vec], axis=0)
# Train data
X_train = np.array([get_sentence_representation(sentence) for sentence in df_train['sentence']])
y_train = df_train['label'].values

# Dev data
X_dev = np.array([get_sentence_representation(sentence) for sentence in df_dev['sentence']])
y_dev = df_dev_expected['label'].values

# Test data
X_test = np.array([get_sentence_representation(sentence) for sentence in df_test['sentence']])
# Load previously saved data (word2vec representation of sentences)
X_train = np.load('X_train.npy')
y_train = np.load('y_train.npy')

X_dev = np.load('X_dev.npy')
y_dev = np.load('y_dev.npy')

X_test = np.load('X_test.npy')
model = NeuralNetwork(100, 256)

criterion = nn.BCELoss()
optimizer = optim.Adam(model.parameters(), lr=0.001, weight_decay=0.001)

X_train_tensor = torch.from_numpy(X_train).float()
y_train_tensor = torch.from_numpy(y_train).float().view(-1, 1)

X_dev_tensor = torch.from_numpy(X_dev).float()
y_dev_tensor = torch.from_numpy(y_dev).float().view(-1, 1)

model.train()

best_epoch = 0
max_accuracy = 0.0

for epoch in range(500):
    
    optimizer.zero_grad()
    y_pred = model(X_train_tensor)
    loss = criterion(y_pred, y_train_tensor)
    loss.backward()
    optimizer.step()
    
    # dev loss
    with torch.no_grad():
        y_pred = model(X_dev_tensor)
        loss = criterion(y_pred, y_dev_tensor)
        accuracy = accuracy_score(y_dev_tensor, np.where(y_pred > 0.5, 1, 0))

        if max_accuracy < accuracy:
            best_epoch = epoch
            max_accuracy = accuracy
        
        print(f"Epoch {epoch} - loss: {loss}")
        print(f"Epoch {epoch} - accuracy: {accuracy}")
    
model.eval()

with torch.no_grad():
    y_pred = model(X_dev_tensor)
    y_pred = np.where(y_pred > 0.5, 1, 0)
    accuracy = accuracy_score(y_dev_tensor, y_pred)
    print(accuracy)

print(f"Best epoch: {best_epoch}")
print(f"Max accuracy: {max_accuracy}")
Epoch 0 - loss: 0.9116247892379761
Epoch 0 - accuracy: 0.6362802641232576
Epoch 1 - loss: 0.7140407562255859
Epoch 1 - accuracy: 0.6362802641232576
Epoch 2 - loss: 0.618240237236023
Epoch 2 - accuracy: 0.6366471019809244
Epoch 3 - loss: 0.6239327788352966
Epoch 3 - accuracy: 0.6977256052824652
Epoch 4 - loss: 0.6335155367851257
Epoch 4 - accuracy: 0.7316581071166545
Epoch 5 - loss: 0.6156240701675415
Epoch 5 - accuracy: 0.7279897285399853
Epoch 6 - loss: 0.5953847169876099
Epoch 6 - accuracy: 0.694424064563463
Epoch 7 - loss: 0.5810463428497314
Epoch 7 - accuracy: 0.6766324284666178
Epoch 8 - loss: 0.5640420317649841
Epoch 8 - accuracy: 0.6856199559794571
Epoch 9 - loss: 0.5385629534721375
Epoch 9 - accuracy: 0.733125458547322
Epoch 10 - loss: 0.5121918320655823
Epoch 10 - accuracy: 0.7870506236243581
Epoch 11 - loss: 0.49032482504844666
Epoch 11 - accuracy: 0.80997798972854
Epoch 12 - loss: 0.45911359786987305
Epoch 12 - accuracy: 0.8105282465150404
Epoch 13 - loss: 0.43574512004852295
Epoch 13 - accuracy: 0.8046588407923698
Epoch 14 - loss: 0.4038088619709015
Epoch 14 - accuracy: 0.8297872340425532
Epoch 15 - loss: 0.38172227144241333
Epoch 15 - accuracy: 0.8406089508437271
Epoch 16 - loss: 0.34902533888816833
Epoch 16 - accuracy: 0.8547322083639032
Epoch 17 - loss: 0.32240182161331177
Epoch 17 - accuracy: 0.8679383712399119
Epoch 18 - loss: 0.311143159866333
Epoch 18 - accuracy: 0.8706896551724138
Epoch 19 - loss: 0.3087221682071686
Epoch 19 - accuracy: 0.8650036683785767
Epoch 20 - loss: 0.2847115099430084
Epoch 20 - accuracy: 0.8798606016140865
Epoch 21 - loss: 0.2667429447174072
Epoch 21 - accuracy: 0.8906823184152605
Epoch 22 - loss: 0.27080655097961426
Epoch 22 - accuracy: 0.8857300073367571
Epoch 23 - loss: 0.2571971118450165
Epoch 23 - accuracy: 0.8890315480557593
Epoch 24 - loss: 0.2406086027622223
Epoch 24 - accuracy: 0.9002201027146002
Epoch 25 - loss: 0.24326132237911224
Epoch 25 - accuracy: 0.8972853998532648
Epoch 26 - loss: 0.23878683149814606
Epoch 26 - accuracy: 0.898936170212766
Epoch 27 - loss: 0.2246064394712448
Epoch 27 - accuracy: 0.9060895084372708
Epoch 28 - loss: 0.2251722663640976
Epoch 28 - accuracy: 0.9055392516507703
Epoch 29 - loss: 0.22923922538757324
Epoch 29 - accuracy: 0.9022377109317682
Epoch 30 - loss: 0.2179824411869049
Epoch 30 - accuracy: 0.9092076302274394
Epoch 31 - loss: 0.21235334873199463
Epoch 31 - accuracy: 0.9106749816581071
Epoch 32 - loss: 0.21798621118068695
Epoch 32 - accuracy: 0.9048055759354365
Epoch 33 - loss: 0.2159065306186676
Epoch 33 - accuracy: 0.913059427732942
Epoch 34 - loss: 0.20762306451797485
Epoch 34 - accuracy: 0.9117754952311079
Epoch 35 - loss: 0.20568040013313293
Epoch 35 - accuracy: 0.9115920763022743
Epoch 36 - loss: 0.20884327590465546
Epoch 36 - accuracy: 0.9161775495231108
Epoch 37 - loss: 0.2060328722000122
Epoch 37 - accuracy: 0.9104915627292737
Epoch 38 - loss: 0.19855882227420807
Epoch 38 - accuracy: 0.9163609684519443
Epoch 39 - loss: 0.19888578355312347
Epoch 39 - accuracy: 0.9174614820249449
Epoch 40 - loss: 0.20154142379760742
Epoch 40 - accuracy: 0.9148936170212766
Epoch 41 - loss: 0.19735418260097504
Epoch 41 - accuracy: 0.9167278063096111
Epoch 42 - loss: 0.19287440180778503
Epoch 42 - accuracy: 0.9181951577402788
Epoch 43 - loss: 0.19381892681121826
Epoch 43 - accuracy: 0.9181951577402788
Epoch 44 - loss: 0.19489999115467072
Epoch 44 - accuracy: 0.9183785766691123
Epoch 45 - loss: 0.191724494099617
Epoch 45 - accuracy: 0.9187454145267792
Epoch 46 - loss: 0.187753826379776
Epoch 46 - accuracy: 0.9196625091709465
Epoch 47 - loss: 0.18749786913394928
Epoch 47 - accuracy: 0.9196625091709465
Epoch 48 - loss: 0.18893089890480042
Epoch 48 - accuracy: 0.9194790902421129
Epoch 49 - loss: 0.18769621849060059
Epoch 49 - accuracy: 0.921496698459281
Epoch 50 - loss: 0.18460743129253387
Epoch 50 - accuracy: 0.9224137931034483
Epoch 51 - loss: 0.18182355165481567
Epoch 51 - accuracy: 0.9222303741746148
Epoch 52 - loss: 0.18156687915325165
Epoch 52 - accuracy: 0.923881144534116
Epoch 53 - loss: 0.183009535074234
Epoch 53 - accuracy: 0.9231474688187821
Epoch 54 - loss: 0.1834733784198761
Epoch 54 - accuracy: 0.9236977256052825
Epoch 55 - loss: 0.18309442698955536
Epoch 55 - accuracy: 0.9231474688187821
Epoch 56 - loss: 0.18024547398090363
Epoch 56 - accuracy: 0.9257153338224505
Epoch 57 - loss: 0.17757220566272736
Epoch 57 - accuracy: 0.9253484959647835
Epoch 58 - loss: 0.17630420625209808
Epoch 58 - accuracy: 0.9257153338224505
Epoch 59 - loss: 0.17675919830799103
Epoch 59 - accuracy: 0.9269992663242846
Epoch 60 - loss: 0.17855069041252136
Epoch 60 - accuracy: 0.9253484959647835
Epoch 61 - loss: 0.17923885583877563
Epoch 61 - accuracy: 0.9264490095377843
Epoch 62 - loss: 0.17824675142765045
Epoch 62 - accuracy: 0.9249816581071166
Epoch 63 - loss: 0.17506806552410126
Epoch 63 - accuracy: 0.927916360968452
Epoch 64 - loss: 0.17224562168121338
Epoch 64 - accuracy: 0.9292002934702861
Epoch 65 - loss: 0.17135733366012573
Epoch 65 - accuracy: 0.9290168745414527
Epoch 66 - loss: 0.1721159666776657
Epoch 66 - accuracy: 0.9303008070432869
Epoch 67 - loss: 0.17357103526592255
Epoch 67 - accuracy: 0.927549523110785
Epoch 68 - loss: 0.17438305914402008
Epoch 68 - accuracy: 0.9286500366837858
Epoch 69 - loss: 0.17328017950057983
Epoch 69 - accuracy: 0.9271826852531181
Epoch 70 - loss: 0.1704489141702652
Epoch 70 - accuracy: 0.9301173881144534
Epoch 71 - loss: 0.16770099103450775
Epoch 71 - accuracy: 0.9325018341892883
Epoch 72 - loss: 0.1664922684431076
Epoch 72 - accuracy: 0.9321349963316214
Epoch 73 - loss: 0.16692861914634705
Epoch 73 - accuracy: 0.9308510638297872
Epoch 74 - loss: 0.1685953289270401
Epoch 74 - accuracy: 0.9292002934702861
Epoch 75 - loss: 0.17085592448711395
Epoch 75 - accuracy: 0.9282831988261189
Epoch 76 - loss: 0.1718451827764511
Epoch 76 - accuracy: 0.9282831988261189
Epoch 77 - loss: 0.17076171934604645
Epoch 77 - accuracy: 0.9277329420396185
Epoch 78 - loss: 0.16577975451946259
Epoch 78 - accuracy: 0.9308510638297872
Epoch 79 - loss: 0.16221792995929718
Epoch 79 - accuracy: 0.9352531181217901
Epoch 80 - loss: 0.16273713111877441
Epoch 80 - accuracy: 0.9330520909757887
Epoch 81 - loss: 0.16511954367160797
Epoch 81 - accuracy: 0.9312179016874541
Epoch 82 - loss: 0.165837362408638
Epoch 82 - accuracy: 0.9301173881144534
Epoch 83 - loss: 0.16341626644134521
Epoch 83 - accuracy: 0.9317681584739546
Epoch 84 - loss: 0.16035114228725433
Epoch 84 - accuracy: 0.9336023477622891
Epoch 85 - loss: 0.1588079333305359
Epoch 85 - accuracy: 0.9356199559794571
Epoch 86 - loss: 0.15911996364593506
Epoch 86 - accuracy: 0.9337857666911226
Epoch 87 - loss: 0.16078558564186096
Epoch 87 - accuracy: 0.9321349963316214
Epoch 88 - loss: 0.16469542682170868
Epoch 88 - accuracy: 0.9315847395451211
Epoch 89 - loss: 0.1707155555486679
Epoch 89 - accuracy: 0.9284666177549523
Epoch 90 - loss: 0.17066214978694916
Epoch 90 - accuracy: 0.927916360968452
Epoch 91 - loss: 0.16468870639801025
Epoch 91 - accuracy: 0.9317681584739546
Epoch 92 - loss: 0.15593402087688446
Epoch 92 - accuracy: 0.9361702127659575
Epoch 93 - loss: 0.15852655470371246
Epoch 93 - accuracy: 0.9332355099046221
Epoch 94 - loss: 0.1638629287481308
Epoch 94 - accuracy: 0.9317681584739546
Epoch 95 - loss: 0.15902242064476013
Epoch 95 - accuracy: 0.9341526045487895
Epoch 96 - loss: 0.15367668867111206
Epoch 96 - accuracy: 0.9372707263389581
Epoch 97 - loss: 0.1557561308145523
Epoch 97 - accuracy: 0.9356199559794571
Epoch 98 - loss: 0.15850110352039337
Epoch 98 - accuracy: 0.9343360234776229
Epoch 99 - loss: 0.1556081622838974
Epoch 99 - accuracy: 0.9356199559794571
Epoch 100 - loss: 0.15204134583473206
Epoch 100 - accuracy: 0.9369038884812912
Epoch 101 - loss: 0.1527155041694641
Epoch 101 - accuracy: 0.935986793837124
Epoch 102 - loss: 0.15533211827278137
Epoch 102 - accuracy: 0.9352531181217901
Epoch 103 - loss: 0.1561749130487442
Epoch 103 - accuracy: 0.9345194424064563
Epoch 104 - loss: 0.15393942594528198
Epoch 104 - accuracy: 0.9369038884812912
Epoch 105 - loss: 0.15091024339199066
Epoch 105 - accuracy: 0.9356199559794571
Epoch 106 - loss: 0.14931201934814453
Epoch 106 - accuracy: 0.9391049156272927
Epoch 107 - loss: 0.14995944499969482
Epoch 107 - accuracy: 0.9374541452677916
Epoch 108 - loss: 0.15163299441337585
Epoch 108 - accuracy: 0.9358033749082906
Epoch 109 - loss: 0.15240135788917542
Epoch 109 - accuracy: 0.9365370506236244
Epoch 110 - loss: 0.1520850509405136
Epoch 110 - accuracy: 0.9347028613352898
Epoch 111 - loss: 0.1503436118364334
Epoch 111 - accuracy: 0.9365370506236244
Epoch 112 - loss: 0.14841999113559723
Epoch 112 - accuracy: 0.9365370506236244
Epoch 113 - loss: 0.14677779376506805
Epoch 113 - accuracy: 0.9396551724137931
Epoch 114 - loss: 0.14633171260356903
Epoch 114 - accuracy: 0.94002201027146
Epoch 115 - loss: 0.14686140418052673
Epoch 115 - accuracy: 0.9378209831254586
Epoch 116 - loss: 0.14767663180828094
Epoch 116 - accuracy: 0.9369038884812912
Epoch 117 - loss: 0.14996299147605896
Epoch 117 - accuracy: 0.9352531181217901
Epoch 118 - loss: 0.15362921357154846
Epoch 118 - accuracy: 0.9345194424064563
Epoch 119 - loss: 0.15794260799884796
Epoch 119 - accuracy: 0.9334189288334556
Epoch 120 - loss: 0.16259002685546875
Epoch 120 - accuracy: 0.9306676449009538
Epoch 121 - loss: 0.1544409841299057
Epoch 121 - accuracy: 0.9336023477622891
Epoch 122 - loss: 0.14526315033435822
Epoch 122 - accuracy: 0.9383712399119589
Epoch 123 - loss: 0.1445532888174057
Epoch 123 - accuracy: 0.9385546588407924
Epoch 124 - loss: 0.15006223320960999
Epoch 124 - accuracy: 0.9358033749082906
Epoch 125 - loss: 0.1499934196472168
Epoch 125 - accuracy: 0.9370873074101247
Epoch 126 - loss: 0.1433618664741516
Epoch 126 - accuracy: 0.9396551724137931
Epoch 127 - loss: 0.14303633570671082
Epoch 127 - accuracy: 0.94002201027146
Epoch 128 - loss: 0.14751005172729492
Epoch 128 - accuracy: 0.9370873074101247
Epoch 129 - loss: 0.1479104906320572
Epoch 129 - accuracy: 0.9361702127659575
Epoch 130 - loss: 0.14386673271656036
Epoch 130 - accuracy: 0.9378209831254586
Epoch 131 - loss: 0.1406869888305664
Epoch 131 - accuracy: 0.9422230374174615
Epoch 132 - loss: 0.14180149137973785
Epoch 132 - accuracy: 0.94002201027146
Epoch 133 - loss: 0.1451810747385025
Epoch 133 - accuracy: 0.9378209831254586
Epoch 134 - loss: 0.14710348844528198
Epoch 134 - accuracy: 0.9374541452677916
Epoch 135 - loss: 0.14716187119483948
Epoch 135 - accuracy: 0.9370873074101247
Epoch 136 - loss: 0.14351975917816162
Epoch 136 - accuracy: 0.938004402054292
Epoch 137 - loss: 0.1399369090795517
Epoch 137 - accuracy: 0.9411225238444607
Epoch 138 - loss: 0.13867513835430145
Epoch 138 - accuracy: 0.9422230374174615
Epoch 139 - loss: 0.14000000059604645
Epoch 139 - accuracy: 0.9411225238444607
Epoch 140 - loss: 0.14197778701782227
Epoch 140 - accuracy: 0.9391049156272927
Epoch 141 - loss: 0.1430107057094574
Epoch 141 - accuracy: 0.9378209831254586
Epoch 142 - loss: 0.14269666373729706
Epoch 142 - accuracy: 0.9378209831254586
Epoch 143 - loss: 0.1405152529478073
Epoch 143 - accuracy: 0.9413059427732942
Epoch 144 - loss: 0.13812802731990814
Epoch 144 - accuracy: 0.9422230374174615
Epoch 145 - loss: 0.13681475818157196
Epoch 145 - accuracy: 0.9431401320616287
Epoch 146 - loss: 0.13699214160442352
Epoch 146 - accuracy: 0.9431401320616287
Epoch 147 - loss: 0.13806407153606415
Epoch 147 - accuracy: 0.9422230374174615
Epoch 148 - loss: 0.14000557363033295
Epoch 148 - accuracy: 0.9398385913426266
Epoch 149 - loss: 0.14341016113758087
Epoch 149 - accuracy: 0.9374541452677916
Epoch 150 - loss: 0.14785771071910858
Epoch 150 - accuracy: 0.9374541452677916
Epoch 151 - loss: 0.15585456788539886
Epoch 151 - accuracy: 0.9323184152604549
Epoch 152 - loss: 0.1521560400724411
Epoch 152 - accuracy: 0.9356199559794571
Epoch 153 - loss: 0.14386101067066193
Epoch 153 - accuracy: 0.9378209831254586
Epoch 154 - loss: 0.1349945366382599
Epoch 154 - accuracy: 0.9433235509904622
Epoch 155 - loss: 0.14102381467819214
Epoch 155 - accuracy: 0.9405722670579604
Epoch 156 - loss: 0.14648419618606567
Epoch 156 - accuracy: 0.935986793837124
Epoch 157 - loss: 0.13682815432548523
Epoch 157 - accuracy: 0.9418561995597946
Epoch 158 - loss: 0.13537228107452393
Epoch 158 - accuracy: 0.9424064563462949
Epoch 159 - loss: 0.14196345210075378
Epoch 159 - accuracy: 0.9389214966984593
Epoch 160 - loss: 0.13914623856544495
Epoch 160 - accuracy: 0.9407556859867938
Epoch 161 - loss: 0.13375478982925415
Epoch 161 - accuracy: 0.9440572267057961
Epoch 162 - loss: 0.13424597680568695
Epoch 162 - accuracy: 0.9425898752751284
Epoch 163 - loss: 0.1385672688484192
Epoch 163 - accuracy: 0.9411225238444607
Epoch 164 - loss: 0.14130806922912598
Epoch 164 - accuracy: 0.9394717534849596
Epoch 165 - loss: 0.1381911337375641
Epoch 165 - accuracy: 0.9411225238444607
Epoch 166 - loss: 0.13435527682304382
Epoch 166 - accuracy: 0.9424064563462949
Epoch 167 - loss: 0.13232551515102386
Epoch 167 - accuracy: 0.9435069699192957
Epoch 168 - loss: 0.13362722098827362
Epoch 168 - accuracy: 0.9431401320616287
Epoch 169 - loss: 0.136326402425766
Epoch 169 - accuracy: 0.9429567131327953
Epoch 170 - loss: 0.13702066242694855
Epoch 170 - accuracy: 0.9422230374174615
Epoch 171 - loss: 0.13637429475784302
Epoch 171 - accuracy: 0.9425898752751284
Epoch 172 - loss: 0.13346955180168152
Epoch 172 - accuracy: 0.9424064563462949
Epoch 173 - loss: 0.1314283013343811
Epoch 173 - accuracy: 0.9438738077769626
Epoch 174 - loss: 0.1313088834285736
Epoch 174 - accuracy: 0.9440572267057961
Epoch 175 - loss: 0.13260416686534882
Epoch 175 - accuracy: 0.9429567131327953
Epoch 176 - loss: 0.13419018685817719
Epoch 176 - accuracy: 0.9431401320616287
Epoch 177 - loss: 0.1347162425518036
Epoch 177 - accuracy: 0.9429567131327953
Epoch 178 - loss: 0.13532517850399017
Epoch 178 - accuracy: 0.9433235509904622
Epoch 179 - loss: 0.1342029869556427
Epoch 179 - accuracy: 0.9438738077769626
Epoch 180 - loss: 0.1333332359790802
Epoch 180 - accuracy: 0.9436903888481292
Epoch 181 - loss: 0.13152720034122467
Epoch 181 - accuracy: 0.9436903888481292
Epoch 182 - loss: 0.1302594542503357
Epoch 182 - accuracy: 0.9446074834922964
Epoch 183 - loss: 0.1294606775045395
Epoch 183 - accuracy: 0.9438738077769626
Epoch 184 - loss: 0.1292601078748703
Epoch 184 - accuracy: 0.9446074834922964
Epoch 185 - loss: 0.1295052468776703
Epoch 185 - accuracy: 0.9447909024211298
Epoch 186 - loss: 0.13040119409561157
Epoch 186 - accuracy: 0.9433235509904622
Epoch 187 - loss: 0.13275794684886932
Epoch 187 - accuracy: 0.9433235509904622
Epoch 188 - loss: 0.1388574093580246
Epoch 188 - accuracy: 0.9418561995597946
Epoch 189 - loss: 0.15836314857006073
Epoch 189 - accuracy: 0.9328686720469552
Epoch 190 - loss: 0.17806877195835114
Epoch 190 - accuracy: 0.9268158473954512
Epoch 191 - loss: 0.20557238161563873
Epoch 191 - accuracy: 0.919112252384446
Epoch 192 - loss: 0.13659578561782837
Epoch 192 - accuracy: 0.9422230374174615
Epoch 193 - loss: 0.1556226760149002
Epoch 193 - accuracy: 0.9330520909757887
Epoch 194 - loss: 0.172604039311409
Epoch 194 - accuracy: 0.9277329420396185
Epoch 195 - loss: 0.13436183333396912
Epoch 195 - accuracy: 0.9422230374174615
Epoch 196 - loss: 0.17623932659626007
Epoch 196 - accuracy: 0.9244314013206163
Epoch 197 - loss: 0.13648562133312225
Epoch 197 - accuracy: 0.9409391049156273
Epoch 198 - loss: 0.1569497287273407
Epoch 198 - accuracy: 0.9323184152604549
Epoch 199 - loss: 0.13791748881340027
Epoch 199 - accuracy: 0.9411225238444607
Epoch 200 - loss: 0.14613977074623108
Epoch 200 - accuracy: 0.9385546588407924
Epoch 201 - loss: 0.14238546788692474
Epoch 201 - accuracy: 0.9383712399119589
Epoch 202 - loss: 0.13876666128635406
Epoch 202 - accuracy: 0.9387380777696258
Epoch 203 - loss: 0.14433924853801727
Epoch 203 - accuracy: 0.9394717534849596
Epoch 204 - loss: 0.13128788769245148
Epoch 204 - accuracy: 0.9446074834922964
Epoch 205 - loss: 0.1427002102136612
Epoch 205 - accuracy: 0.9369038884812912
Epoch 206 - loss: 0.12868227064609528
Epoch 206 - accuracy: 0.9447909024211298
Epoch 207 - loss: 0.14365875720977783
Epoch 207 - accuracy: 0.94002201027146
Epoch 208 - loss: 0.13067907094955444
Epoch 208 - accuracy: 0.9433235509904622
Epoch 209 - loss: 0.1349562257528305
Epoch 209 - accuracy: 0.94002201027146
Epoch 210 - loss: 0.13604091107845306
Epoch 210 - accuracy: 0.9436903888481292
Epoch 211 - loss: 0.1275433897972107
Epoch 211 - accuracy: 0.9451577402787967
Epoch 212 - loss: 0.13538497686386108
Epoch 212 - accuracy: 0.9414893617021277
Epoch 213 - loss: 0.1287802904844284
Epoch 213 - accuracy: 0.9438738077769626
Epoch 214 - loss: 0.1299477219581604
Epoch 214 - accuracy: 0.9447909024211298
Epoch 215 - loss: 0.13284087181091309
Epoch 215 - accuracy: 0.9427732942039618
Epoch 216 - loss: 0.12653198838233948
Epoch 216 - accuracy: 0.9453411592076302
Epoch 217 - loss: 0.13136284053325653
Epoch 217 - accuracy: 0.9440572267057961
Epoch 218 - loss: 0.13037842512130737
Epoch 218 - accuracy: 0.9440572267057961
Epoch 219 - loss: 0.1261424571275711
Epoch 219 - accuracy: 0.9451577402787967
Epoch 220 - loss: 0.13126927614212036
Epoch 220 - accuracy: 0.9438738077769626
Epoch 221 - loss: 0.12874549627304077
Epoch 221 - accuracy: 0.9451577402787967
Epoch 222 - loss: 0.12589335441589355
Epoch 222 - accuracy: 0.9451577402787967
Epoch 223 - loss: 0.13035798072814941
Epoch 223 - accuracy: 0.944424064563463
Epoch 224 - loss: 0.12775404751300812
Epoch 224 - accuracy: 0.9455245781364637
Epoch 225 - loss: 0.12526558339595795
Epoch 225 - accuracy: 0.9460748349229641
Epoch 226 - loss: 0.1290864199399948
Epoch 226 - accuracy: 0.944424064563463
Epoch 227 - loss: 0.1273193061351776
Epoch 227 - accuracy: 0.9458914159941306
Epoch 228 - loss: 0.12475359439849854
Epoch 228 - accuracy: 0.9460748349229641
Epoch 229 - loss: 0.12801365554332733
Epoch 229 - accuracy: 0.9453411592076302
Epoch 230 - loss: 0.12760193645954132
Epoch 230 - accuracy: 0.9451577402787967
Epoch 231 - loss: 0.12460287660360336
Epoch 231 - accuracy: 0.9455245781364637
Epoch 232 - loss: 0.126450777053833
Epoch 232 - accuracy: 0.9440572267057961
Epoch 233 - loss: 0.1277255415916443
Epoch 233 - accuracy: 0.9458914159941306
Epoch 234 - loss: 0.1250246912240982
Epoch 234 - accuracy: 0.9453411592076302
Epoch 235 - loss: 0.124518021941185
Epoch 235 - accuracy: 0.9457079970652972
Epoch 236 - loss: 0.12645651400089264
Epoch 236 - accuracy: 0.9442406456346295
Epoch 237 - loss: 0.12585106492042542
Epoch 237 - accuracy: 0.9447909024211298
Epoch 238 - loss: 0.12404952198266983
Epoch 238 - accuracy: 0.9462582538517975
Epoch 239 - loss: 0.12434504926204681
Epoch 239 - accuracy: 0.9460748349229641
Epoch 240 - loss: 0.12558409571647644
Epoch 240 - accuracy: 0.9451577402787967
Epoch 241 - loss: 0.12516562640666962
Epoch 241 - accuracy: 0.9460748349229641
Epoch 242 - loss: 0.1238495483994484
Epoch 242 - accuracy: 0.9462582538517975
Epoch 243 - loss: 0.12349341064691544
Epoch 243 - accuracy: 0.9462582538517975
Epoch 244 - loss: 0.124192014336586
Epoch 244 - accuracy: 0.946441672780631
Epoch 245 - loss: 0.12476740032434464
Epoch 245 - accuracy: 0.9458914159941306
Epoch 246 - loss: 0.12425507605075836
Epoch 246 - accuracy: 0.9460748349229641
Epoch 247 - loss: 0.12344306707382202
Epoch 247 - accuracy: 0.946441672780631
Epoch 248 - loss: 0.12292434275150299
Epoch 248 - accuracy: 0.9458914159941306
Epoch 249 - loss: 0.12305624783039093
Epoch 249 - accuracy: 0.9455245781364637
Epoch 250 - loss: 0.12364161759614944
Epoch 250 - accuracy: 0.9473587674247982
Epoch 251 - loss: 0.12392168492078781
Epoch 251 - accuracy: 0.9460748349229641
Epoch 252 - loss: 0.12429433315992355
Epoch 252 - accuracy: 0.9475421863536317
Epoch 253 - loss: 0.12410783767700195
Epoch 253 - accuracy: 0.9460748349229641
Epoch 254 - loss: 0.12418146431446075
Epoch 254 - accuracy: 0.9471753484959647
Epoch 255 - loss: 0.12378914654254913
Epoch 255 - accuracy: 0.9460748349229641
Epoch 256 - loss: 0.12378736585378647
Epoch 256 - accuracy: 0.9475421863536317
Epoch 257 - loss: 0.12342856079339981
Epoch 257 - accuracy: 0.9462582538517975
Epoch 258 - loss: 0.12355145812034607
Epoch 258 - accuracy: 0.9477256052824652
Epoch 259 - loss: 0.12343250960111618
Epoch 259 - accuracy: 0.9462582538517975
Epoch 260 - loss: 0.1240469440817833
Epoch 260 - accuracy: 0.9468085106382979
Epoch 261 - loss: 0.12469983100891113
Epoch 261 - accuracy: 0.9471753484959647
Epoch 262 - loss: 0.12708620727062225
Epoch 262 - accuracy: 0.9442406456346295
Epoch 263 - loss: 0.13097906112670898
Epoch 263 - accuracy: 0.944424064563463
Epoch 264 - loss: 0.13735362887382507
Epoch 264 - accuracy: 0.9425898752751284
Epoch 265 - loss: 0.14637614786624908
Epoch 265 - accuracy: 0.9389214966984593
Epoch 266 - loss: 0.13928058743476868
Epoch 266 - accuracy: 0.9418561995597946
Epoch 267 - loss: 0.1263727992773056
Epoch 267 - accuracy: 0.9457079970652972
Epoch 268 - loss: 0.12248501926660538
Epoch 268 - accuracy: 0.946441672780631
Epoch 269 - loss: 0.13156425952911377
Epoch 269 - accuracy: 0.9436903888481292
Epoch 270 - loss: 0.13035646080970764
Epoch 270 - accuracy: 0.9438738077769626
Epoch 271 - loss: 0.12129738926887512
Epoch 271 - accuracy: 0.9482758620689655
Epoch 272 - loss: 0.12735018134117126
Epoch 272 - accuracy: 0.9453411592076302
Epoch 273 - loss: 0.13254329562187195
Epoch 273 - accuracy: 0.944424064563463
Epoch 274 - loss: 0.12437407672405243
Epoch 274 - accuracy: 0.9469919295671313
Epoch 275 - loss: 0.12198557704687119
Epoch 275 - accuracy: 0.9479090242112986
Epoch 276 - loss: 0.1282014101743698
Epoch 276 - accuracy: 0.9449743213499633
Epoch 277 - loss: 0.13050922751426697
Epoch 277 - accuracy: 0.9436903888481292
Epoch 278 - loss: 0.12561355531215668
Epoch 278 - accuracy: 0.9460748349229641
Epoch 279 - loss: 0.12143143266439438
Epoch 279 - accuracy: 0.9482758620689655
Epoch 280 - loss: 0.12208808958530426
Epoch 280 - accuracy: 0.9488261188554659
Epoch 281 - loss: 0.12578213214874268
Epoch 281 - accuracy: 0.9468085106382979
Epoch 282 - loss: 0.12954838573932648
Epoch 282 - accuracy: 0.9442406456346295
Epoch 283 - loss: 0.12968361377716064
Epoch 283 - accuracy: 0.9458914159941306
Epoch 284 - loss: 0.125925675034523
Epoch 284 - accuracy: 0.9453411592076302
Epoch 285 - loss: 0.1212596595287323
Epoch 285 - accuracy: 0.9466250917094644
Epoch 286 - loss: 0.12094567716121674
Epoch 286 - accuracy: 0.9477256052824652
Epoch 287 - loss: 0.12425583600997925
Epoch 287 - accuracy: 0.9466250917094644
Epoch 288 - loss: 0.12605202198028564
Epoch 288 - accuracy: 0.946441672780631
Epoch 289 - loss: 0.1254625767469406
Epoch 289 - accuracy: 0.9453411592076302
Epoch 290 - loss: 0.12259259074926376
Epoch 290 - accuracy: 0.9455245781364637
Epoch 291 - loss: 0.12090922147035599
Epoch 291 - accuracy: 0.9482758620689655
Epoch 292 - loss: 0.12081866711378098
Epoch 292 - accuracy: 0.9482758620689655
Epoch 293 - loss: 0.12197820842266083
Epoch 293 - accuracy: 0.9451577402787967
Epoch 294 - loss: 0.12467528134584427
Epoch 294 - accuracy: 0.9460748349229641
Epoch 295 - loss: 0.12644042074680328
Epoch 295 - accuracy: 0.9473587674247982
Epoch 296 - loss: 0.12967751920223236
Epoch 296 - accuracy: 0.9431401320616287
Epoch 297 - loss: 0.13314160704612732
Epoch 297 - accuracy: 0.9447909024211298
Epoch 298 - loss: 0.13466300070285797
Epoch 298 - accuracy: 0.9429567131327953
Epoch 299 - loss: 0.13335949182510376
Epoch 299 - accuracy: 0.9438738077769626
Epoch 300 - loss: 0.12456800788640976
Epoch 300 - accuracy: 0.946441672780631
Epoch 301 - loss: 0.12012847512960434
Epoch 301 - accuracy: 0.9493763756419662
Epoch 302 - loss: 0.12398750334978104
Epoch 302 - accuracy: 0.9460748349229641
Epoch 303 - loss: 0.12710987031459808
Epoch 303 - accuracy: 0.944424064563463
Epoch 304 - loss: 0.12448311597108841
Epoch 304 - accuracy: 0.9468085106382979
Epoch 305 - loss: 0.12061852961778641
Epoch 305 - accuracy: 0.948459280997799
Epoch 306 - loss: 0.12071719765663147
Epoch 306 - accuracy: 0.9482758620689655
Epoch 307 - loss: 0.12375523895025253
Epoch 307 - accuracy: 0.9462582538517975
Epoch 308 - loss: 0.12774750590324402
Epoch 308 - accuracy: 0.9442406456346295
Epoch 309 - loss: 0.12890563905239105
Epoch 309 - accuracy: 0.9460748349229641
Epoch 310 - loss: 0.12809687852859497
Epoch 310 - accuracy: 0.9438738077769626
Epoch 311 - loss: 0.12481006234884262
Epoch 311 - accuracy: 0.9475421863536317
Epoch 312 - loss: 0.12165655940771103
Epoch 312 - accuracy: 0.9473587674247982
Epoch 313 - loss: 0.11955662071704865
Epoch 313 - accuracy: 0.9491929567131328
Epoch 314 - loss: 0.12011021375656128
Epoch 314 - accuracy: 0.9490095377842993
Epoch 315 - loss: 0.1227300688624382
Epoch 315 - accuracy: 0.9473587674247982
Epoch 316 - loss: 0.1252894401550293
Epoch 316 - accuracy: 0.9479090242112986
Epoch 317 - loss: 0.12868621945381165
Epoch 317 - accuracy: 0.9438738077769626
Epoch 318 - loss: 0.13128605484962463
Epoch 318 - accuracy: 0.9455245781364637
Epoch 319 - loss: 0.13100145757198334
Epoch 319 - accuracy: 0.9440572267057961
Epoch 320 - loss: 0.12706202268600464
Epoch 320 - accuracy: 0.9460748349229641
Epoch 321 - loss: 0.12146887183189392
Epoch 321 - accuracy: 0.9480924431401321
Epoch 322 - loss: 0.11979363113641739
Epoch 322 - accuracy: 0.948459280997799
Epoch 323 - loss: 0.12291908264160156
Epoch 323 - accuracy: 0.9466250917094644
Epoch 324 - loss: 0.1266350895166397
Epoch 324 - accuracy: 0.9446074834922964
Epoch 325 - loss: 0.12731537222862244
Epoch 325 - accuracy: 0.9468085106382979
Epoch 326 - loss: 0.12540048360824585
Epoch 326 - accuracy: 0.9451577402787967
Epoch 327 - loss: 0.12146314978599548
Epoch 327 - accuracy: 0.9473587674247982
Epoch 328 - loss: 0.11976297944784164
Epoch 328 - accuracy: 0.9490095377842993
Epoch 329 - loss: 0.12041870504617691
Epoch 329 - accuracy: 0.9482758620689655
Epoch 330 - loss: 0.12252318114042282
Epoch 330 - accuracy: 0.9468085106382979
Epoch 331 - loss: 0.1266428381204605
Epoch 331 - accuracy: 0.9442406456346295
Epoch 332 - loss: 0.1323375105857849
Epoch 332 - accuracy: 0.9447909024211298
Epoch 333 - loss: 0.14109158515930176
Epoch 333 - accuracy: 0.9407556859867938
Epoch 334 - loss: 0.15532760322093964
Epoch 334 - accuracy: 0.9350696991929567
Epoch 335 - loss: 0.14378340542316437
Epoch 335 - accuracy: 0.9392883345561261
Epoch 336 - loss: 0.12407119572162628
Epoch 336 - accuracy: 0.9479090242112986
Epoch 337 - loss: 0.12199515104293823
Epoch 337 - accuracy: 0.9482758620689655
Epoch 338 - loss: 0.1333143711090088
Epoch 338 - accuracy: 0.9446074834922964
Epoch 339 - loss: 0.1249939352273941
Epoch 339 - accuracy: 0.9469919295671313
Epoch 340 - loss: 0.11966632306575775
Epoch 340 - accuracy: 0.948459280997799
Epoch 341 - loss: 0.13108626008033752
Epoch 341 - accuracy: 0.9449743213499633
Epoch 342 - loss: 0.1272350698709488
Epoch 342 - accuracy: 0.9458914159941306
Epoch 343 - loss: 0.11856188625097275
Epoch 343 - accuracy: 0.9479090242112986
Epoch 344 - loss: 0.12906348705291748
Epoch 344 - accuracy: 0.9447909024211298
Epoch 345 - loss: 0.1326865404844284
Epoch 345 - accuracy: 0.9425898752751284
Epoch 346 - loss: 0.12189553678035736
Epoch 346 - accuracy: 0.9479090242112986
Epoch 347 - loss: 0.12244117259979248
Epoch 347 - accuracy: 0.9466250917094644
Epoch 348 - loss: 0.13159716129302979
Epoch 348 - accuracy: 0.9449743213499633
Epoch 349 - loss: 0.13086934387683868
Epoch 349 - accuracy: 0.9440572267057961
Epoch 350 - loss: 0.12248321622610092
Epoch 350 - accuracy: 0.948459280997799
Epoch 351 - loss: 0.11868999153375626
Epoch 351 - accuracy: 0.9499266324284666
Epoch 352 - loss: 0.1236417293548584
Epoch 352 - accuracy: 0.9451577402787967
Epoch 353 - loss: 0.127396360039711
Epoch 353 - accuracy: 0.9469919295671313
Epoch 354 - loss: 0.12435289472341537
Epoch 354 - accuracy: 0.9451577402787967
Epoch 355 - loss: 0.11912697553634644
Epoch 355 - accuracy: 0.9499266324284666
Epoch 356 - loss: 0.11984141916036606
Epoch 356 - accuracy: 0.9490095377842993
Epoch 357 - loss: 0.12398801743984222
Epoch 357 - accuracy: 0.9462582538517975
Epoch 358 - loss: 0.12404925376176834
Epoch 358 - accuracy: 0.9479090242112986
Epoch 359 - loss: 0.12187787145376205
Epoch 359 - accuracy: 0.9477256052824652
Epoch 360 - loss: 0.11939382553100586
Epoch 360 - accuracy: 0.950476889214967
Epoch 361 - loss: 0.12002267688512802
Epoch 361 - accuracy: 0.9491929567131328
Epoch 362 - loss: 0.12263120710849762
Epoch 362 - accuracy: 0.9471753484959647
Epoch 363 - loss: 0.12382364273071289
Epoch 363 - accuracy: 0.948459280997799
Epoch 364 - loss: 0.12410726398229599
Epoch 364 - accuracy: 0.9462582538517975
Epoch 365 - loss: 0.12248091399669647
Epoch 365 - accuracy: 0.9480924431401321
Epoch 366 - loss: 0.12116307765245438
Epoch 366 - accuracy: 0.9482758620689655
Epoch 367 - loss: 0.11971309036016464
Epoch 367 - accuracy: 0.950476889214967
Epoch 368 - loss: 0.11947835236787796
Epoch 368 - accuracy: 0.950476889214967
Epoch 369 - loss: 0.11992073804140091
Epoch 369 - accuracy: 0.9502934702861335
Epoch 370 - loss: 0.12049725651741028
Epoch 370 - accuracy: 0.9491929567131328
Epoch 371 - loss: 0.12239193171262741
Epoch 371 - accuracy: 0.9477256052824652
Epoch 372 - loss: 0.12434761226177216
Epoch 372 - accuracy: 0.9479090242112986
Epoch 373 - loss: 0.1290699988603592
Epoch 373 - accuracy: 0.9431401320616287
Epoch 374 - loss: 0.1359148472547531
Epoch 374 - accuracy: 0.9433235509904622
Epoch 375 - loss: 0.1423913836479187
Epoch 375 - accuracy: 0.9392883345561261
Epoch 376 - loss: 0.14881592988967896
Epoch 376 - accuracy: 0.9391049156272927
Epoch 377 - loss: 0.13204756379127502
Epoch 377 - accuracy: 0.9446074834922964
Epoch 378 - loss: 0.11842061579227448
Epoch 378 - accuracy: 0.9508437270726339
Epoch 379 - loss: 0.12411734461784363
Epoch 379 - accuracy: 0.9477256052824652
Epoch 380 - loss: 0.12863674759864807
Epoch 380 - accuracy: 0.9442406456346295
Epoch 381 - loss: 0.12139783054590225
Epoch 381 - accuracy: 0.9490095377842993
Epoch 382 - loss: 0.11913666129112244
Epoch 382 - accuracy: 0.9493763756419662
Epoch 383 - loss: 0.12667888402938843
Epoch 383 - accuracy: 0.9457079970652972
Epoch 384 - loss: 0.1274142861366272
Epoch 384 - accuracy: 0.9468085106382979
Epoch 385 - loss: 0.12151997536420822
Epoch 385 - accuracy: 0.9482758620689655
Epoch 386 - loss: 0.11988431960344315
Epoch 386 - accuracy: 0.9497432134996332
Epoch 387 - loss: 0.12450485676527023
Epoch 387 - accuracy: 0.9477256052824652
Epoch 388 - loss: 0.1301063597202301
Epoch 388 - accuracy: 0.9438738077769626
Epoch 389 - loss: 0.13058441877365112
Epoch 389 - accuracy: 0.9453411592076302
Epoch 390 - loss: 0.1274021863937378
Epoch 390 - accuracy: 0.9460748349229641
Epoch 391 - loss: 0.12132485955953598
Epoch 391 - accuracy: 0.9497432134996332
Epoch 392 - loss: 0.11876960098743439
Epoch 392 - accuracy: 0.950476889214967
Epoch 393 - loss: 0.12090307474136353
Epoch 393 - accuracy: 0.9482758620689655
Epoch 394 - loss: 0.12387574464082718
Epoch 394 - accuracy: 0.9482758620689655
Epoch 395 - loss: 0.12585753202438354
Epoch 395 - accuracy: 0.9436903888481292
Epoch 396 - loss: 0.12338998168706894
Epoch 396 - accuracy: 0.9480924431401321
Epoch 397 - loss: 0.12095915526151657
Epoch 397 - accuracy: 0.9482758620689655
Epoch 398 - loss: 0.11895456165075302
Epoch 398 - accuracy: 0.9512105649303008
Epoch 399 - loss: 0.11982899159193039
Epoch 399 - accuracy: 0.9510271460014673
Epoch 400 - loss: 0.1227630227804184
Epoch 400 - accuracy: 0.9475421863536317
Epoch 401 - loss: 0.1245056763291359
Epoch 401 - accuracy: 0.9477256052824652
Epoch 402 - loss: 0.1266520470380783
Epoch 402 - accuracy: 0.9451577402787967
Epoch 403 - loss: 0.12723323702812195
Epoch 403 - accuracy: 0.9469919295671313
Epoch 404 - loss: 0.12804493308067322
Epoch 404 - accuracy: 0.9447909024211298
Epoch 405 - loss: 0.12689587473869324
Epoch 405 - accuracy: 0.9468085106382979
Epoch 406 - loss: 0.1248333603143692
Epoch 406 - accuracy: 0.946441672780631
Epoch 407 - loss: 0.12143062800168991
Epoch 407 - accuracy: 0.9490095377842993
Epoch 408 - loss: 0.11979366093873978
Epoch 408 - accuracy: 0.9510271460014673
Epoch 409 - loss: 0.11989187449216843
Epoch 409 - accuracy: 0.9506603081438004
Epoch 410 - loss: 0.12118031084537506
Epoch 410 - accuracy: 0.9493763756419662
Epoch 411 - loss: 0.12442609667778015
Epoch 411 - accuracy: 0.9468085106382979
Epoch 412 - loss: 0.12685492634773254
Epoch 412 - accuracy: 0.9473587674247982
Epoch 413 - loss: 0.13157705962657928
Epoch 413 - accuracy: 0.9440572267057961
Epoch 414 - loss: 0.13618524372577667
Epoch 414 - accuracy: 0.9429567131327953
Epoch 415 - loss: 0.13877074420452118
Epoch 415 - accuracy: 0.9422230374174615
Epoch 416 - loss: 0.13766561448574066
Epoch 416 - accuracy: 0.942039618488628
Epoch 417 - loss: 0.12581269443035126
Epoch 417 - accuracy: 0.9466250917094644
Epoch 418 - loss: 0.11829851567745209
Epoch 418 - accuracy: 0.9502934702861335
Epoch 419 - loss: 0.12286898493766785
Epoch 419 - accuracy: 0.948459280997799
Epoch 420 - loss: 0.12826034426689148
Epoch 420 - accuracy: 0.9442406456346295
Epoch 421 - loss: 0.12521657347679138
Epoch 421 - accuracy: 0.9469919295671313
Epoch 422 - loss: 0.12012328952550888
Epoch 422 - accuracy: 0.9488261188554659
Epoch 423 - loss: 0.12050732970237732
Epoch 423 - accuracy: 0.9501100513573001
Epoch 424 - loss: 0.12443410605192184
Epoch 424 - accuracy: 0.9475421863536317
Epoch 425 - loss: 0.1285167634487152
Epoch 425 - accuracy: 0.9457079970652972
Epoch 426 - loss: 0.12714825570583344
Epoch 426 - accuracy: 0.9468085106382979
Epoch 427 - loss: 0.12536460161209106
Epoch 427 - accuracy: 0.946441672780631
Epoch 428 - loss: 0.12127231061458588
Epoch 428 - accuracy: 0.9502934702861335
Epoch 429 - loss: 0.11975359916687012
Epoch 429 - accuracy: 0.9497432134996332
Epoch 430 - loss: 0.11963523924350739
Epoch 430 - accuracy: 0.9506603081438004
Epoch 431 - loss: 0.12077296525239944
Epoch 431 - accuracy: 0.950476889214967
Epoch 432 - loss: 0.12409121543169022
Epoch 432 - accuracy: 0.9473587674247982
Epoch 433 - loss: 0.12621550261974335
Epoch 433 - accuracy: 0.9477256052824652
Epoch 434 - loss: 0.1316927820444107
Epoch 434 - accuracy: 0.944424064563463
Epoch 435 - loss: 0.13731232285499573
Epoch 435 - accuracy: 0.9427732942039618
Epoch 436 - loss: 0.14055246114730835
Epoch 436 - accuracy: 0.9411225238444607
Epoch 437 - loss: 0.13798841834068298
Epoch 437 - accuracy: 0.942039618488628
Epoch 438 - loss: 0.12439721822738647
Epoch 438 - accuracy: 0.9471753484959647
Epoch 439 - loss: 0.11913619935512543
Epoch 439 - accuracy: 0.9508437270726339
Epoch 440 - loss: 0.12641268968582153
Epoch 440 - accuracy: 0.9473587674247982
Epoch 441 - loss: 0.12938538193702698
Epoch 441 - accuracy: 0.9451577402787967
Epoch 442 - loss: 0.12298136949539185
Epoch 442 - accuracy: 0.9490095377842993
Epoch 443 - loss: 0.11922991275787354
Epoch 443 - accuracy: 0.9506603081438004
Epoch 444 - loss: 0.12371832132339478
Epoch 444 - accuracy: 0.9477256052824652
Epoch 445 - loss: 0.12833170592784882
Epoch 445 - accuracy: 0.9466250917094644
Epoch 446 - loss: 0.13009405136108398
Epoch 446 - accuracy: 0.9451577402787967
Epoch 447 - loss: 0.12564228475093842
Epoch 447 - accuracy: 0.9482758620689655
Epoch 448 - loss: 0.12178538739681244
Epoch 448 - accuracy: 0.9499266324284666
Epoch 449 - loss: 0.1192527562379837
Epoch 449 - accuracy: 0.9502934702861335
Epoch 450 - loss: 0.12046285718679428
Epoch 450 - accuracy: 0.950476889214967
Epoch 451 - loss: 0.12494070082902908
Epoch 451 - accuracy: 0.9479090242112986
Epoch 452 - loss: 0.12780679762363434
Epoch 452 - accuracy: 0.9480924431401321
Epoch 453 - loss: 0.13254830241203308
Epoch 453 - accuracy: 0.9446074834922964
Epoch 454 - loss: 0.13431498408317566
Epoch 454 - accuracy: 0.9442406456346295
Epoch 455 - loss: 0.13251695036888123
Epoch 455 - accuracy: 0.944424064563463
Epoch 456 - loss: 0.1252819150686264
Epoch 456 - accuracy: 0.9471753484959647
Epoch 457 - loss: 0.1196482852101326
Epoch 457 - accuracy: 0.9510271460014673
Epoch 458 - loss: 0.12122555822134018
Epoch 458 - accuracy: 0.9495597945707998
Epoch 459 - loss: 0.12617750465869904
Epoch 459 - accuracy: 0.9471753484959647
Epoch 460 - loss: 0.1289263814687729
Epoch 460 - accuracy: 0.9453411592076302
Epoch 461 - loss: 0.12516246736049652
Epoch 461 - accuracy: 0.9473587674247982
Epoch 462 - loss: 0.12158451974391937
Epoch 462 - accuracy: 0.9501100513573001
Epoch 463 - loss: 0.1201198622584343
Epoch 463 - accuracy: 0.9510271460014673
Epoch 464 - loss: 0.1223447248339653
Epoch 464 - accuracy: 0.9501100513573001
Epoch 465 - loss: 0.12768422067165375
Epoch 465 - accuracy: 0.9468085106382979
Epoch 466 - loss: 0.13118062913417816
Epoch 466 - accuracy: 0.946441672780631
Epoch 467 - loss: 0.13691848516464233
Epoch 467 - accuracy: 0.944424064563463
Epoch 468 - loss: 0.1410398930311203
Epoch 468 - accuracy: 0.9414893617021277
Epoch 469 - loss: 0.1366601139307022
Epoch 469 - accuracy: 0.9436903888481292
Epoch 470 - loss: 0.12491223961114883
Epoch 470 - accuracy: 0.948459280997799
Epoch 471 - loss: 0.11888165026903152
Epoch 471 - accuracy: 0.9519442406456347
Epoch 472 - loss: 0.12632633745670319
Epoch 472 - accuracy: 0.9458914159941306
Epoch 473 - loss: 0.13229218125343323
Epoch 473 - accuracy: 0.9457079970652972
Epoch 474 - loss: 0.1283317506313324
Epoch 474 - accuracy: 0.9458914159941306
Epoch 475 - loss: 0.11960683017969131
Epoch 475 - accuracy: 0.9506603081438004
Epoch 476 - loss: 0.12003237754106522
Epoch 476 - accuracy: 0.950476889214967
Epoch 477 - loss: 0.1274898201227188
Epoch 477 - accuracy: 0.9471753484959647
Epoch 478 - loss: 0.12885287404060364
Epoch 478 - accuracy: 0.9475421863536317
Epoch 479 - loss: 0.12669768929481506
Epoch 479 - accuracy: 0.9480924431401321
Epoch 480 - loss: 0.1212262511253357
Epoch 480 - accuracy: 0.9510271460014673
Epoch 481 - loss: 0.1199721023440361
Epoch 481 - accuracy: 0.9515774027879678
Epoch 482 - loss: 0.12229137867689133
Epoch 482 - accuracy: 0.9502934702861335
Epoch 483 - loss: 0.1249641627073288
Epoch 483 - accuracy: 0.9479090242112986
Epoch 484 - loss: 0.12990516424179077
Epoch 484 - accuracy: 0.9471753484959647
Epoch 485 - loss: 0.13138818740844727
Epoch 485 - accuracy: 0.946441672780631
Epoch 486 - loss: 0.13237611949443817
Epoch 486 - accuracy: 0.9455245781364637
Epoch 487 - loss: 0.12806807458400726
Epoch 487 - accuracy: 0.9473587674247982
Epoch 488 - loss: 0.12325626611709595
Epoch 488 - accuracy: 0.9495597945707998
Epoch 489 - loss: 0.11965951323509216
Epoch 489 - accuracy: 0.9519442406456347
Epoch 490 - loss: 0.12142913788557053
Epoch 490 - accuracy: 0.9506603081438004
Epoch 491 - loss: 0.1262865960597992
Epoch 491 - accuracy: 0.9473587674247982
Epoch 492 - loss: 0.12745560705661774
Epoch 492 - accuracy: 0.9468085106382979
Epoch 493 - loss: 0.12800352275371552
Epoch 493 - accuracy: 0.948459280997799
Epoch 494 - loss: 0.12423637509346008
Epoch 494 - accuracy: 0.9482758620689655
Epoch 495 - loss: 0.12243915349245071
Epoch 495 - accuracy: 0.9501100513573001
Epoch 496 - loss: 0.12085887044668198
Epoch 496 - accuracy: 0.9515774027879678
Epoch 497 - loss: 0.12142859399318695
Epoch 497 - accuracy: 0.9508437270726339
Epoch 498 - loss: 0.12384403496980667
Epoch 498 - accuracy: 0.9495597945707998
Epoch 499 - loss: 0.12585672736167908
Epoch 499 - accuracy: 0.9475421863536317
0.9475421863536317
Best epoch: 471
Max accuracy: 0.9519442406456347
best_model = NeuralNetwork(100, 256)

criterion = nn.BCELoss()
optimizer = optim.Adam(best_model.parameters(), lr=0.001, weight_decay=0.001)

X_train_tensor = torch.from_numpy(X_train).float()
y_train_tensor = torch.from_numpy(y_train).float().view(-1, 1)

X_dev_tensor = torch.from_numpy(X_dev).float()
y_dev_tensor = torch.from_numpy(y_dev).float().view(-1, 1)

X_test_tensor = torch.from_numpy(X_test).float()

best_model.train()

best_epoch = 471

for epoch in range(best_epoch + 1):
    
    optimizer.zero_grad()
    y_pred = best_model(X_train_tensor)
    loss = criterion(y_pred, y_train_tensor)
    loss.backward()
    optimizer.step()
    
    # dev loss
    with torch.no_grad():
        y_pred = best_model(X_dev_tensor)
        loss = criterion(y_pred, y_dev_tensor)
        accuracy = accuracy_score(y_dev_tensor, np.where(y_pred > 0.5, 1, 0))
        
        print(f"Epoch {epoch} - loss: {loss}")
        print(f"Epoch {epoch} - accuracy: {accuracy}")
    
model.eval()
Epoch 0 - loss: 0.6600890755653381
Epoch 0 - accuracy: 0.636463683052091
Epoch 1 - loss: 0.6251927614212036
Epoch 1 - accuracy: 0.7168011738811445
Epoch 2 - loss: 0.6044067740440369
Epoch 2 - accuracy: 0.7454145267791636
Epoch 3 - loss: 0.5796983242034912
Epoch 3 - accuracy: 0.6925898752751284
Epoch 4 - loss: 0.5561812520027161
Epoch 4 - accuracy: 0.7035950110051358
Epoch 5 - loss: 0.5200029015541077
Epoch 5 - accuracy: 0.8017241379310345
Epoch 6 - loss: 0.4880651533603668
Epoch 6 - accuracy: 0.8242846661775495
Epoch 7 - loss: 0.4609140455722809
Epoch 7 - accuracy: 0.7848495964783566
Epoch 8 - loss: 0.4216255843639374
Epoch 8 - accuracy: 0.8431768158473955
Epoch 9 - loss: 0.39770105481147766
Epoch 9 - accuracy: 0.8464783565663977
Epoch 10 - loss: 0.38234901428222656
Epoch 10 - accuracy: 0.8275862068965517
Epoch 11 - loss: 0.3460651636123657
Epoch 11 - accuracy: 0.8617021276595744
Epoch 12 - loss: 0.3165454864501953
Epoch 12 - accuracy: 0.8769258987527513
Epoch 13 - loss: 0.31047651171684265
Epoch 13 - accuracy: 0.871606749816581
Epoch 14 - loss: 0.31299567222595215
Epoch 14 - accuracy: 0.8670212765957447
Epoch 15 - loss: 0.28543993830680847
Epoch 15 - accuracy: 0.8826118855465884
Epoch 16 - loss: 0.2618979215621948
Epoch 16 - accuracy: 0.8971019809244314
Epoch 17 - loss: 0.2782493829727173
Epoch 17 - accuracy: 0.8794937637564196
Epoch 18 - loss: 0.26039671897888184
Epoch 18 - accuracy: 0.8947175348495965
Epoch 19 - loss: 0.2395632565021515
Epoch 19 - accuracy: 0.9042553191489362
Epoch 20 - loss: 0.26059266924858093
Epoch 20 - accuracy: 0.8882978723404256
Epoch 21 - loss: 0.23744292557239532
Epoch 21 - accuracy: 0.9038884812912693
Epoch 22 - loss: 0.23012538254261017
Epoch 22 - accuracy: 0.9053558327219369
Epoch 23 - loss: 0.24461759626865387
Epoch 23 - accuracy: 0.8932501834189288
Epoch 24 - loss: 0.21968719363212585
Epoch 24 - accuracy: 0.9101247248716068
Epoch 25 - loss: 0.22737234830856323
Epoch 25 - accuracy: 0.9084739545121057
Epoch 26 - loss: 0.22357280552387238
Epoch 26 - accuracy: 0.9035216434336023
Epoch 27 - loss: 0.2126060277223587
Epoch 27 - accuracy: 0.9088407923697726
Epoch 28 - loss: 0.22030684351921082
Epoch 28 - accuracy: 0.9097578870139399
Epoch 29 - loss: 0.20767514407634735
Epoch 29 - accuracy: 0.9126925898752751
Epoch 30 - loss: 0.21199911832809448
Epoch 30 - accuracy: 0.9103081438004402
Epoch 31 - loss: 0.21017472445964813
Epoch 31 - accuracy: 0.911041819515774
Epoch 32 - loss: 0.20167312026023865
Epoch 32 - accuracy: 0.9180117388114454
Epoch 33 - loss: 0.20891046524047852
Epoch 33 - accuracy: 0.913059427732942
Epoch 34 - loss: 0.20060847699642181
Epoch 34 - accuracy: 0.9165443873807777
Epoch 35 - loss: 0.19901244342327118
Epoch 35 - accuracy: 0.917094644167278
Epoch 36 - loss: 0.20174746215343475
Epoch 36 - accuracy: 0.9145267791636097
Epoch 37 - loss: 0.19371414184570312
Epoch 37 - accuracy: 0.9200293470286134
Epoch 38 - loss: 0.1961180418729782
Epoch 38 - accuracy: 0.9185619955979457
Epoch 39 - loss: 0.19458524882793427
Epoch 39 - accuracy: 0.9194790902421129
Epoch 40 - loss: 0.18955352902412415
Epoch 40 - accuracy: 0.9213132795304475
Epoch 41 - loss: 0.19220395386219025
Epoch 41 - accuracy: 0.9203961848862803
Epoch 42 - loss: 0.18957814574241638
Epoch 42 - accuracy: 0.9211298606016141
Epoch 43 - loss: 0.18620409071445465
Epoch 43 - accuracy: 0.9227806309611152
Epoch 44 - loss: 0.18816402554512024
Epoch 44 - accuracy: 0.921496698459281
Epoch 45 - loss: 0.18725506961345673
Epoch 45 - accuracy: 0.9231474688187821
Epoch 46 - loss: 0.18374845385551453
Epoch 46 - accuracy: 0.9249816581071166
Epoch 47 - loss: 0.18296627700328827
Epoch 47 - accuracy: 0.9242479823917829
Epoch 48 - loss: 0.18405590951442719
Epoch 48 - accuracy: 0.9225972120322817
Epoch 49 - loss: 0.18362443149089813
Epoch 49 - accuracy: 0.923881144534116
Epoch 50 - loss: 0.17992615699768066
Epoch 50 - accuracy: 0.9246148202494497
Epoch 51 - loss: 0.17868903279304504
Epoch 51 - accuracy: 0.9257153338224505
Epoch 52 - loss: 0.17998185753822327
Epoch 52 - accuracy: 0.9268158473954512
Epoch 53 - loss: 0.180391326546669
Epoch 53 - accuracy: 0.9240645634629494
Epoch 54 - loss: 0.1815360188484192
Epoch 54 - accuracy: 0.9249816581071166
Epoch 55 - loss: 0.1782231479883194
Epoch 55 - accuracy: 0.9249816581071166
Epoch 56 - loss: 0.1754382997751236
Epoch 56 - accuracy: 0.9292002934702861
Epoch 57 - loss: 0.173308864235878
Epoch 57 - accuracy: 0.9304842259721203
Epoch 58 - loss: 0.1733696460723877
Epoch 58 - accuracy: 0.9286500366837858
Epoch 59 - loss: 0.17508764564990997
Epoch 59 - accuracy: 0.9288334556126192
Epoch 60 - loss: 0.17530100047588348
Epoch 60 - accuracy: 0.9271826852531181
Epoch 61 - loss: 0.1759965568780899
Epoch 61 - accuracy: 0.9280997798972854
Epoch 62 - loss: 0.1731904298067093
Epoch 62 - accuracy: 0.9284666177549523
Epoch 63 - loss: 0.17060300707817078
Epoch 63 - accuracy: 0.9304842259721203
Epoch 64 - loss: 0.16826492547988892
Epoch 64 - accuracy: 0.9323184152604549
Epoch 65 - loss: 0.16778990626335144
Epoch 65 - accuracy: 0.931951577402788
Epoch 66 - loss: 0.16876132786273956
Epoch 66 - accuracy: 0.9306676449009538
Epoch 67 - loss: 0.17013192176818848
Epoch 67 - accuracy: 0.9310344827586207
Epoch 68 - loss: 0.17322558164596558
Epoch 68 - accuracy: 0.9290168745414527
Epoch 69 - loss: 0.1745549589395523
Epoch 69 - accuracy: 0.9277329420396185
Epoch 70 - loss: 0.17566947638988495
Epoch 70 - accuracy: 0.927549523110785
Epoch 71 - loss: 0.16949035227298737
Epoch 71 - accuracy: 0.9304842259721203
Epoch 72 - loss: 0.16411995887756348
Epoch 72 - accuracy: 0.9328686720469552
Epoch 73 - loss: 0.1636730283498764
Epoch 73 - accuracy: 0.9336023477622891
Epoch 74 - loss: 0.16683687269687653
Epoch 74 - accuracy: 0.931951577402788
Epoch 75 - loss: 0.168714702129364
Epoch 75 - accuracy: 0.9315847395451211
Epoch 76 - loss: 0.16501154005527496
Epoch 76 - accuracy: 0.9315847395451211
Epoch 77 - loss: 0.16135883331298828
Epoch 77 - accuracy: 0.933969185619956
Epoch 78 - loss: 0.16116301715373993
Epoch 78 - accuracy: 0.9341526045487895
Epoch 79 - loss: 0.16375577449798584
Epoch 79 - accuracy: 0.9315847395451211
Epoch 80 - loss: 0.16777744889259338
Epoch 80 - accuracy: 0.9315847395451211
Epoch 81 - loss: 0.1683170050382614
Epoch 81 - accuracy: 0.9297505502567865
Epoch 82 - loss: 0.16626843810081482
Epoch 82 - accuracy: 0.931951577402788
Epoch 83 - loss: 0.16042152047157288
Epoch 83 - accuracy: 0.9326852531181218
Epoch 84 - loss: 0.1577889770269394
Epoch 84 - accuracy: 0.9352531181217901
Epoch 85 - loss: 0.15964850783348083
Epoch 85 - accuracy: 0.9345194424064563
Epoch 86 - loss: 0.1621726006269455
Epoch 86 - accuracy: 0.9315847395451211
Epoch 87 - loss: 0.1624235063791275
Epoch 87 - accuracy: 0.9336023477622891
Epoch 88 - loss: 0.15911513566970825
Epoch 88 - accuracy: 0.9337857666911226
Epoch 89 - loss: 0.15607108175754547
Epoch 89 - accuracy: 0.9378209831254586
Epoch 90 - loss: 0.15539272129535675
Epoch 90 - accuracy: 0.9367204695524578
Epoch 91 - loss: 0.15680216252803802
Epoch 91 - accuracy: 0.9354365370506236
Epoch 92 - loss: 0.15915803611278534
Epoch 92 - accuracy: 0.9337857666911226
Epoch 93 - loss: 0.161188542842865
Epoch 93 - accuracy: 0.9315847395451211
Epoch 94 - loss: 0.1637449860572815
Epoch 94 - accuracy: 0.9326852531181218
Epoch 95 - loss: 0.16255930066108704
Epoch 95 - accuracy: 0.9315847395451211
Epoch 96 - loss: 0.15967024862766266
Epoch 96 - accuracy: 0.9337857666911226
Epoch 97 - loss: 0.1543407291173935
Epoch 97 - accuracy: 0.9356199559794571
Epoch 98 - loss: 0.15191201865673065
Epoch 98 - accuracy: 0.9369038884812912
Epoch 99 - loss: 0.15335297584533691
Epoch 99 - accuracy: 0.9378209831254586
Epoch 100 - loss: 0.1558246612548828
Epoch 100 - accuracy: 0.9341526045487895
Epoch 101 - loss: 0.15698470175266266
Epoch 101 - accuracy: 0.9348862802641232
Epoch 102 - loss: 0.15483127534389496
Epoch 102 - accuracy: 0.9354365370506236
Epoch 103 - loss: 0.15184034407138824
Epoch 103 - accuracy: 0.9370873074101247
Epoch 104 - loss: 0.14983399212360382
Epoch 104 - accuracy: 0.9383712399119589
Epoch 105 - loss: 0.1496090143918991
Epoch 105 - accuracy: 0.9383712399119589
Epoch 106 - loss: 0.1509258896112442
Epoch 106 - accuracy: 0.9383712399119589
Epoch 107 - loss: 0.15413691103458405
Epoch 107 - accuracy: 0.9361702127659575
Epoch 108 - loss: 0.16182859241962433
Epoch 108 - accuracy: 0.9321349963316214
Epoch 109 - loss: 0.17049157619476318
Epoch 109 - accuracy: 0.9293837123991195
Epoch 110 - loss: 0.18406210839748383
Epoch 110 - accuracy: 0.921496698459281
Epoch 111 - loss: 0.1651865839958191
Epoch 111 - accuracy: 0.9330520909757887
Epoch 112 - loss: 0.14784397184848785
Epoch 112 - accuracy: 0.9403888481291269
Epoch 113 - loss: 0.15461425483226776
Epoch 113 - accuracy: 0.9354365370506236
Epoch 114 - loss: 0.1594894975423813
Epoch 114 - accuracy: 0.9336023477622891
Epoch 115 - loss: 0.14919613301753998
Epoch 115 - accuracy: 0.9389214966984593
Epoch 116 - loss: 0.14946608245372772
Epoch 116 - accuracy: 0.9385546588407924
Epoch 117 - loss: 0.15539346635341644
Epoch 117 - accuracy: 0.9352531181217901
Epoch 118 - loss: 0.14897421002388
Epoch 118 - accuracy: 0.9385546588407924
Epoch 119 - loss: 0.14688338339328766
Epoch 119 - accuracy: 0.9396551724137931
Epoch 120 - loss: 0.15270763635635376
Epoch 120 - accuracy: 0.9370873074101247
Epoch 121 - loss: 0.1505187451839447
Epoch 121 - accuracy: 0.9374541452677916
Epoch 122 - loss: 0.14485368132591248
Epoch 122 - accuracy: 0.9407556859867938
Epoch 123 - loss: 0.14813244342803955
Epoch 123 - accuracy: 0.9389214966984593
Epoch 124 - loss: 0.15244553983211517
Epoch 124 - accuracy: 0.935986793837124
Epoch 125 - loss: 0.14820507168769836
Epoch 125 - accuracy: 0.9385546588407924
Epoch 126 - loss: 0.1435617357492447
Epoch 126 - accuracy: 0.9409391049156273
Epoch 127 - loss: 0.14422369003295898
Epoch 127 - accuracy: 0.9405722670579604
Epoch 128 - loss: 0.14768363535404205
Epoch 128 - accuracy: 0.9385546588407924
Epoch 129 - loss: 0.1491793990135193
Epoch 129 - accuracy: 0.9365370506236244
Epoch 130 - loss: 0.14625929296016693
Epoch 130 - accuracy: 0.94002201027146
Epoch 131 - loss: 0.14273685216903687
Epoch 131 - accuracy: 0.9414893617021277
Epoch 132 - loss: 0.14178012311458588
Epoch 132 - accuracy: 0.9409391049156273
Epoch 133 - loss: 0.1434500366449356
Epoch 133 - accuracy: 0.9414893617021277
Epoch 134 - loss: 0.14543531835079193
Epoch 134 - accuracy: 0.9387380777696258
Epoch 135 - loss: 0.14560234546661377
Epoch 135 - accuracy: 0.9424064563462949
Epoch 136 - loss: 0.1443878710269928
Epoch 136 - accuracy: 0.9392883345561261
Epoch 137 - loss: 0.14207443594932556
Epoch 137 - accuracy: 0.9422230374174615
Epoch 138 - loss: 0.14036691188812256
Epoch 138 - accuracy: 0.9422230374174615
Epoch 139 - loss: 0.1399471014738083
Epoch 139 - accuracy: 0.9422230374174615
Epoch 140 - loss: 0.14061304926872253
Epoch 140 - accuracy: 0.9425898752751284
Epoch 141 - loss: 0.14191102981567383
Epoch 141 - accuracy: 0.9392883345561261
Epoch 142 - loss: 0.1439162641763687
Epoch 142 - accuracy: 0.9422230374174615
Epoch 143 - loss: 0.14785940945148468
Epoch 143 - accuracy: 0.9370873074101247
Epoch 144 - loss: 0.15084269642829895
Epoch 144 - accuracy: 0.9385546588407924
Epoch 145 - loss: 0.15596060454845428
Epoch 145 - accuracy: 0.9336023477622891
Epoch 146 - loss: 0.1506507396697998
Epoch 146 - accuracy: 0.9376375641966251
Epoch 147 - loss: 0.1430141031742096
Epoch 147 - accuracy: 0.9378209831254586
Epoch 148 - loss: 0.1378999948501587
Epoch 148 - accuracy: 0.9429567131327953
Epoch 149 - loss: 0.14189480245113373
Epoch 149 - accuracy: 0.9429567131327953
Epoch 150 - loss: 0.1461869180202484
Epoch 150 - accuracy: 0.938004402054292
Epoch 151 - loss: 0.1414678692817688
Epoch 151 - accuracy: 0.9429567131327953
Epoch 152 - loss: 0.13736973702907562
Epoch 152 - accuracy: 0.9446074834922964
Epoch 153 - loss: 0.13923421502113342
Epoch 153 - accuracy: 0.9405722670579604
Epoch 154 - loss: 0.14242184162139893
Epoch 154 - accuracy: 0.9427732942039618
Epoch 155 - loss: 0.14257796108722687
Epoch 155 - accuracy: 0.9381878209831255
Epoch 156 - loss: 0.138951376080513
Epoch 156 - accuracy: 0.9451577402787967
Epoch 157 - loss: 0.1361865997314453
Epoch 157 - accuracy: 0.9451577402787967
Epoch 158 - loss: 0.13608776032924652
Epoch 158 - accuracy: 0.9446074834922964
Epoch 159 - loss: 0.1380961388349533
Epoch 159 - accuracy: 0.9458914159941306
Epoch 160 - loss: 0.14209063351154327
Epoch 160 - accuracy: 0.9392883345561261
Epoch 161 - loss: 0.1477213203907013
Epoch 161 - accuracy: 0.9403888481291269
Epoch 162 - loss: 0.16057507693767548
Epoch 162 - accuracy: 0.931951577402788
Epoch 163 - loss: 0.16030831634998322
Epoch 163 - accuracy: 0.9326852531181218
Epoch 164 - loss: 0.15553373098373413
Epoch 164 - accuracy: 0.933969185619956
Epoch 165 - loss: 0.13658468425273895
Epoch 165 - accuracy: 0.9473587674247982
Epoch 166 - loss: 0.14066576957702637
Epoch 166 - accuracy: 0.9446074834922964
Epoch 167 - loss: 0.15113432705402374
Epoch 167 - accuracy: 0.9358033749082906
Epoch 168 - loss: 0.13788758218288422
Epoch 168 - accuracy: 0.9451577402787967
Epoch 169 - loss: 0.13813276588916779
Epoch 169 - accuracy: 0.9458914159941306
Epoch 170 - loss: 0.14637058973312378
Epoch 170 - accuracy: 0.9370873074101247
Epoch 171 - loss: 0.13659228384494781
Epoch 171 - accuracy: 0.9466250917094644
Epoch 172 - loss: 0.13671350479125977
Epoch 172 - accuracy: 0.9460748349229641
Epoch 173 - loss: 0.1432092934846878
Epoch 173 - accuracy: 0.9376375641966251
Epoch 174 - loss: 0.13640692830085754
Epoch 174 - accuracy: 0.9473587674247982
Epoch 175 - loss: 0.13370223343372345
Epoch 175 - accuracy: 0.9479090242112986
Epoch 176 - loss: 0.13890092074871063
Epoch 176 - accuracy: 0.9394717534849596
Epoch 177 - loss: 0.1390204131603241
Epoch 177 - accuracy: 0.9446074834922964
Epoch 178 - loss: 0.13492031395435333
Epoch 178 - accuracy: 0.9435069699192957
Epoch 179 - loss: 0.13199980556964874
Epoch 179 - accuracy: 0.9469919295671313
Epoch 180 - loss: 0.1336917281150818
Epoch 180 - accuracy: 0.9475421863536317
Epoch 181 - loss: 0.13739150762557983
Epoch 181 - accuracy: 0.9414893617021277
Epoch 182 - loss: 0.1385558694601059
Epoch 182 - accuracy: 0.9449743213499633
Epoch 183 - loss: 0.13827867805957794
Epoch 183 - accuracy: 0.9409391049156273
Epoch 184 - loss: 0.1347222477197647
Epoch 184 - accuracy: 0.9473587674247982
Epoch 185 - loss: 0.13180093467235565
Epoch 185 - accuracy: 0.9453411592076302
Epoch 186 - loss: 0.1310291290283203
Epoch 186 - accuracy: 0.9471753484959647
Epoch 187 - loss: 0.13239546120166779
Epoch 187 - accuracy: 0.9490095377842993
Epoch 188 - loss: 0.1344117820262909
Epoch 188 - accuracy: 0.9438738077769626
Epoch 189 - loss: 0.13522079586982727
Epoch 189 - accuracy: 0.9468085106382979
Epoch 190 - loss: 0.1355038285255432
Epoch 190 - accuracy: 0.9431401320616287
Epoch 191 - loss: 0.13365335762500763
Epoch 191 - accuracy: 0.9469919295671313
Epoch 192 - loss: 0.13177931308746338
Epoch 192 - accuracy: 0.9451577402787967
Epoch 193 - loss: 0.13017825782299042
Epoch 193 - accuracy: 0.9488261188554659
Epoch 194 - loss: 0.1296418458223343
Epoch 194 - accuracy: 0.9475421863536317
Epoch 195 - loss: 0.13013602793216705
Epoch 195 - accuracy: 0.946441672780631
Epoch 196 - loss: 0.13140098750591278
Epoch 196 - accuracy: 0.948459280997799
Epoch 197 - loss: 0.13433723151683807
Epoch 197 - accuracy: 0.9433235509904622
Epoch 198 - loss: 0.13919727504253387
Epoch 198 - accuracy: 0.9440572267057961
Epoch 199 - loss: 0.15434369444847107
Epoch 199 - accuracy: 0.9343360234776229
Epoch 200 - loss: 0.1615518182516098
Epoch 200 - accuracy: 0.931951577402788
Epoch 201 - loss: 0.17248667776584625
Epoch 201 - accuracy: 0.9257153338224505
Epoch 202 - loss: 0.13753581047058105
Epoch 202 - accuracy: 0.9451577402787967
Epoch 203 - loss: 0.13390885293483734
Epoch 203 - accuracy: 0.9473587674247982
Epoch 204 - loss: 0.15163034200668335
Epoch 204 - accuracy: 0.9350696991929567
Epoch 205 - loss: 0.1322300136089325
Epoch 205 - accuracy: 0.9493763756419662
Epoch 206 - loss: 0.1383107304573059
Epoch 206 - accuracy: 0.9436903888481292
Epoch 207 - loss: 0.14488989114761353
Epoch 207 - accuracy: 0.9376375641966251
Epoch 208 - loss: 0.12969642877578735
Epoch 208 - accuracy: 0.9475421863536317
Epoch 209 - loss: 0.1437886655330658
Epoch 209 - accuracy: 0.9418561995597946
Epoch 210 - loss: 0.13960619270801544
Epoch 210 - accuracy: 0.9398385913426266
Epoch 211 - loss: 0.1303216964006424
Epoch 211 - accuracy: 0.9451577402787967
Epoch 212 - loss: 0.1448250114917755
Epoch 212 - accuracy: 0.9409391049156273
Epoch 213 - loss: 0.1382424384355545
Epoch 213 - accuracy: 0.9409391049156273
Epoch 214 - loss: 0.12859448790550232
Epoch 214 - accuracy: 0.9466250917094644
Epoch 215 - loss: 0.14336782693862915
Epoch 215 - accuracy: 0.9403888481291269
Epoch 216 - loss: 0.1435861885547638
Epoch 216 - accuracy: 0.9394717534849596
Epoch 217 - loss: 0.12729865312576294
Epoch 217 - accuracy: 0.9471753484959647
Epoch 218 - loss: 0.14043588936328888
Epoch 218 - accuracy: 0.9422230374174615
Epoch 219 - loss: 0.14857016503810883
Epoch 219 - accuracy: 0.9370873074101247
Epoch 220 - loss: 0.12810075283050537
Epoch 220 - accuracy: 0.9495597945707998
Epoch 221 - loss: 0.13681010901927948
Epoch 221 - accuracy: 0.9440572267057961
Epoch 222 - loss: 0.1480584442615509
Epoch 222 - accuracy: 0.9376375641966251
Epoch 223 - loss: 0.12819060683250427
Epoch 223 - accuracy: 0.9499266324284666
Epoch 224 - loss: 0.13606873154640198
Epoch 224 - accuracy: 0.9442406456346295
Epoch 225 - loss: 0.14506947994232178
Epoch 225 - accuracy: 0.9385546588407924
Epoch 226 - loss: 0.12688535451889038
Epoch 226 - accuracy: 0.9501100513573001
Epoch 227 - loss: 0.13793440163135529
Epoch 227 - accuracy: 0.9436903888481292
Epoch 228 - loss: 0.14175213873386383
Epoch 228 - accuracy: 0.9405722670579604
Epoch 229 - loss: 0.12606659531593323
Epoch 229 - accuracy: 0.9471753484959647
Epoch 230 - loss: 0.14068996906280518
Epoch 230 - accuracy: 0.9422230374174615
Epoch 231 - loss: 0.13893744349479675
Epoch 231 - accuracy: 0.9407556859867938
Epoch 232 - loss: 0.12637808918952942
Epoch 232 - accuracy: 0.9471753484959647
Epoch 233 - loss: 0.1423971951007843
Epoch 233 - accuracy: 0.9411225238444607
Epoch 234 - loss: 0.13614536821842194
Epoch 234 - accuracy: 0.9422230374174615
Epoch 235 - loss: 0.12686654925346375
Epoch 235 - accuracy: 0.9466250917094644
Epoch 236 - loss: 0.14213667809963226
Epoch 236 - accuracy: 0.9402054292002935
Epoch 237 - loss: 0.1342005431652069
Epoch 237 - accuracy: 0.9429567131327953
Epoch 238 - loss: 0.12690769135951996
Epoch 238 - accuracy: 0.9460748349229641
Epoch 239 - loss: 0.1406722366809845
Epoch 239 - accuracy: 0.9402054292002935
Epoch 240 - loss: 0.1323944330215454
Epoch 240 - accuracy: 0.9427732942039618
Epoch 241 - loss: 0.12687557935714722
Epoch 241 - accuracy: 0.9458914159941306
Epoch 242 - loss: 0.13867004215717316
Epoch 242 - accuracy: 0.9429567131327953
Epoch 243 - loss: 0.13049884140491486
Epoch 243 - accuracy: 0.9453411592076302
Epoch 244 - loss: 0.12657293677330017
Epoch 244 - accuracy: 0.9458914159941306
Epoch 245 - loss: 0.13628236949443817
Epoch 245 - accuracy: 0.9440572267057961
Epoch 246 - loss: 0.12921735644340515
Epoch 246 - accuracy: 0.9457079970652972
Epoch 247 - loss: 0.125750333070755
Epoch 247 - accuracy: 0.9468085106382979
Epoch 248 - loss: 0.13418523967266083
Epoch 248 - accuracy: 0.9447909024211298
Epoch 249 - loss: 0.128926083445549
Epoch 249 - accuracy: 0.9455245781364637
Epoch 250 - loss: 0.12465361505746841
Epoch 250 - accuracy: 0.9469919295671313
Epoch 251 - loss: 0.13247524201869965
Epoch 251 - accuracy: 0.9457079970652972
Epoch 252 - loss: 0.1298513263463974
Epoch 252 - accuracy: 0.9453411592076302
Epoch 253 - loss: 0.12355927377939224
Epoch 253 - accuracy: 0.9479090242112986
Epoch 254 - loss: 0.13069619238376617
Epoch 254 - accuracy: 0.9469919295671313
Epoch 255 - loss: 0.13157017529010773
Epoch 255 - accuracy: 0.9440572267057961
Epoch 256 - loss: 0.12315743416547775
Epoch 256 - accuracy: 0.9495597945707998
Epoch 257 - loss: 0.12831072509288788
Epoch 257 - accuracy: 0.948459280997799
Epoch 258 - loss: 0.13248488306999207
Epoch 258 - accuracy: 0.9442406456346295
Epoch 259 - loss: 0.12374118715524673
Epoch 259 - accuracy: 0.9506603081438004
Epoch 260 - loss: 0.12544500827789307
Epoch 260 - accuracy: 0.9499266324284666
Epoch 261 - loss: 0.13119831681251526
Epoch 261 - accuracy: 0.944424064563463
Epoch 262 - loss: 0.12471841275691986
Epoch 262 - accuracy: 0.950476889214967
Epoch 263 - loss: 0.12288667261600494
Epoch 263 - accuracy: 0.9501100513573001
Epoch 264 - loss: 0.12759484350681305
Epoch 264 - accuracy: 0.9466250917094644
Epoch 265 - loss: 0.125613272190094
Epoch 265 - accuracy: 0.9491929567131328
Epoch 266 - loss: 0.12219160795211792
Epoch 266 - accuracy: 0.9486426999266324
Epoch 267 - loss: 0.12327056378126144
Epoch 267 - accuracy: 0.9477256052824652
Epoch 268 - loss: 0.12530098855495453
Epoch 268 - accuracy: 0.9491929567131328
Epoch 269 - loss: 0.1247311532497406
Epoch 269 - accuracy: 0.9471753484959647
Epoch 270 - loss: 0.1219773069024086
Epoch 270 - accuracy: 0.9501100513573001
Epoch 271 - loss: 0.12205666303634644
Epoch 271 - accuracy: 0.9499266324284666
Epoch 272 - loss: 0.12405984103679657
Epoch 272 - accuracy: 0.9475421863536317
Epoch 273 - loss: 0.12427092343568802
Epoch 273 - accuracy: 0.9499266324284666
Epoch 274 - loss: 0.123012013733387
Epoch 274 - accuracy: 0.9479090242112986
Epoch 275 - loss: 0.12140244245529175
Epoch 275 - accuracy: 0.9502934702861335
Epoch 276 - loss: 0.12125080823898315
Epoch 276 - accuracy: 0.9506603081438004
Epoch 277 - loss: 0.12223225086927414
Epoch 277 - accuracy: 0.9488261188554659
Epoch 278 - loss: 0.12314152717590332
Epoch 278 - accuracy: 0.9499266324284666
Epoch 279 - loss: 0.12346971035003662
Epoch 279 - accuracy: 0.9482758620689655
Epoch 280 - loss: 0.12271338701248169
Epoch 280 - accuracy: 0.9497432134996332
Epoch 281 - loss: 0.12176275253295898
Epoch 281 - accuracy: 0.9495597945707998
Epoch 282 - loss: 0.12081919610500336
Epoch 282 - accuracy: 0.9508437270726339
Epoch 283 - loss: 0.12036316096782684
Epoch 283 - accuracy: 0.9501100513573001
Epoch 284 - loss: 0.12042579054832458
Epoch 284 - accuracy: 0.9499266324284666
Epoch 285 - loss: 0.1209179013967514
Epoch 285 - accuracy: 0.9506603081438004
Epoch 286 - loss: 0.12179320305585861
Epoch 286 - accuracy: 0.9499266324284666
Epoch 287 - loss: 0.12336383759975433
Epoch 287 - accuracy: 0.9499266324284666
Epoch 288 - loss: 0.12664794921875
Epoch 288 - accuracy: 0.9460748349229641
Epoch 289 - loss: 0.12985500693321228
Epoch 289 - accuracy: 0.9495597945707998
Epoch 290 - loss: 0.13782480359077454
Epoch 290 - accuracy: 0.9424064563462949
Epoch 291 - loss: 0.13601623475551605
Epoch 291 - accuracy: 0.9429567131327953
Epoch 292 - loss: 0.13354693353176117
Epoch 292 - accuracy: 0.9424064563462949
Epoch 293 - loss: 0.12155157327651978
Epoch 293 - accuracy: 0.9517608217168012
Epoch 294 - loss: 0.1212334856390953
Epoch 294 - accuracy: 0.9517608217168012
Epoch 295 - loss: 0.12846817076206207
Epoch 295 - accuracy: 0.9460748349229641
Epoch 296 - loss: 0.12484529614448547
Epoch 296 - accuracy: 0.9512105649303008
Epoch 297 - loss: 0.11943589150905609
Epoch 297 - accuracy: 0.9501100513573001
Epoch 298 - loss: 0.12043111026287079
Epoch 298 - accuracy: 0.9493763756419662
Epoch 299 - loss: 0.12429048120975494
Epoch 299 - accuracy: 0.9510271460014673
Epoch 300 - loss: 0.12505868077278137
Epoch 300 - accuracy: 0.9458914159941306
Epoch 301 - loss: 0.12101427465677261
Epoch 301 - accuracy: 0.9502934702861335
Epoch 302 - loss: 0.11874640733003616
Epoch 302 - accuracy: 0.9513939838591343
Epoch 303 - loss: 0.11972319334745407
Epoch 303 - accuracy: 0.9513939838591343
Epoch 304 - loss: 0.12259635329246521
Epoch 304 - accuracy: 0.9508437270726339
Epoch 305 - loss: 0.1272718459367752
Epoch 305 - accuracy: 0.9453411592076302
Epoch 306 - loss: 0.1310117095708847
Epoch 306 - accuracy: 0.9482758620689655
Epoch 307 - loss: 0.13956663012504578
Epoch 307 - accuracy: 0.9414893617021277
Epoch 308 - loss: 0.13723066449165344
Epoch 308 - accuracy: 0.9425898752751284
Epoch 309 - loss: 0.13382814824581146
Epoch 309 - accuracy: 0.9436903888481292
Epoch 310 - loss: 0.12054771184921265
Epoch 310 - accuracy: 0.9513939838591343
Epoch 311 - loss: 0.12119341641664505
Epoch 311 - accuracy: 0.9515774027879678
Epoch 312 - loss: 0.12905658781528473
Epoch 312 - accuracy: 0.9449743213499633
Epoch 313 - loss: 0.1224476620554924
Epoch 313 - accuracy: 0.9517608217168012
Epoch 314 - loss: 0.11810442805290222
Epoch 314 - accuracy: 0.9508437270726339
Epoch 315 - loss: 0.12269062548875809
Epoch 315 - accuracy: 0.9473587674247982
Epoch 316 - loss: 0.12358292192220688
Epoch 316 - accuracy: 0.9515774027879678
Epoch 317 - loss: 0.11988306790590286
Epoch 317 - accuracy: 0.9502934702861335
Epoch 318 - loss: 0.11729229986667633
Epoch 318 - accuracy: 0.9512105649303008
Epoch 319 - loss: 0.11976367235183716
Epoch 319 - accuracy: 0.9501100513573001
Epoch 320 - loss: 0.12398409843444824
Epoch 320 - accuracy: 0.9466250917094644
Epoch 321 - loss: 0.12489615380764008
Epoch 321 - accuracy: 0.950476889214967
Epoch 322 - loss: 0.12479665130376816
Epoch 322 - accuracy: 0.9469919295671313
Epoch 323 - loss: 0.12163161486387253
Epoch 323 - accuracy: 0.9510271460014673
Epoch 324 - loss: 0.11900309473276138
Epoch 324 - accuracy: 0.9510271460014673
Epoch 325 - loss: 0.11766552925109863
Epoch 325 - accuracy: 0.9521276595744681
Epoch 326 - loss: 0.11795462667942047
Epoch 326 - accuracy: 0.9521276595744681
Epoch 327 - loss: 0.11942996829748154
Epoch 327 - accuracy: 0.9506603081438004
Epoch 328 - loss: 0.12166863679885864
Epoch 328 - accuracy: 0.9513939838591343
Epoch 329 - loss: 0.12576095759868622
Epoch 329 - accuracy: 0.9469919295671313
Epoch 330 - loss: 0.12968149781227112
Epoch 330 - accuracy: 0.9479090242112986
Epoch 331 - loss: 0.1390303373336792
Epoch 331 - accuracy: 0.9422230374174615
Epoch 332 - loss: 0.13620175421237946
Epoch 332 - accuracy: 0.9435069699192957
Epoch 333 - loss: 0.13187989592552185
Epoch 333 - accuracy: 0.9438738077769626
Epoch 334 - loss: 0.1182360053062439
Epoch 334 - accuracy: 0.9521276595744681
Epoch 335 - loss: 0.121561199426651
Epoch 335 - accuracy: 0.9515774027879678
Epoch 336 - loss: 0.12973010540008545
Epoch 336 - accuracy: 0.9455245781364637
Epoch 337 - loss: 0.11987362802028656
Epoch 337 - accuracy: 0.9521276595744681
Epoch 338 - loss: 0.11774610728025436
Epoch 338 - accuracy: 0.9532281731474688
Epoch 339 - loss: 0.12471359968185425
Epoch 339 - accuracy: 0.9473587674247982
Epoch 340 - loss: 0.12189881503582001
Epoch 340 - accuracy: 0.9513939838591343
Epoch 341 - loss: 0.11661942303180695
Epoch 341 - accuracy: 0.9515774027879678
Epoch 342 - loss: 0.11699726432561874
Epoch 342 - accuracy: 0.9513939838591343
Epoch 343 - loss: 0.12145952135324478
Epoch 343 - accuracy: 0.9513939838591343
Epoch 344 - loss: 0.12609325349330902
Epoch 344 - accuracy: 0.9469919295671313
Epoch 345 - loss: 0.12498581409454346
Epoch 345 - accuracy: 0.9499266324284666
Epoch 346 - loss: 0.1231597438454628
Epoch 346 - accuracy: 0.9480924431401321
Epoch 347 - loss: 0.11873132735490799
Epoch 347 - accuracy: 0.9510271460014673
Epoch 348 - loss: 0.11646643280982971
Epoch 348 - accuracy: 0.9528613352898019
Epoch 349 - loss: 0.11734868586063385
Epoch 349 - accuracy: 0.9512105649303008
Epoch 350 - loss: 0.11994626373052597
Epoch 350 - accuracy: 0.9528613352898019
Epoch 351 - loss: 0.12329673767089844
Epoch 351 - accuracy: 0.9475421863536317
Epoch 352 - loss: 0.12438608705997467
Epoch 352 - accuracy: 0.950476889214967
Epoch 353 - loss: 0.12616336345672607
Epoch 353 - accuracy: 0.9473587674247982
Epoch 354 - loss: 0.12313596159219742
Epoch 354 - accuracy: 0.950476889214967
Epoch 355 - loss: 0.12048415839672089
Epoch 355 - accuracy: 0.9491929567131328
Epoch 356 - loss: 0.11673296988010406
Epoch 356 - accuracy: 0.9521276595744681
Epoch 357 - loss: 0.11539475619792938
Epoch 357 - accuracy: 0.9515774027879678
Epoch 358 - loss: 0.11649461835622787
Epoch 358 - accuracy: 0.952494497432135
Epoch 359 - loss: 0.11848600953817368
Epoch 359 - accuracy: 0.9517608217168012
Epoch 360 - loss: 0.12056515365839005
Epoch 360 - accuracy: 0.9499266324284666
Epoch 361 - loss: 0.12084736675024033
Epoch 361 - accuracy: 0.9508437270726339
Epoch 362 - loss: 0.12160326540470123
Epoch 362 - accuracy: 0.9486426999266324
Epoch 363 - loss: 0.12055764347314835
Epoch 363 - accuracy: 0.9510271460014673
Epoch 364 - loss: 0.12027326971292496
Epoch 364 - accuracy: 0.9490095377842993
Epoch 365 - loss: 0.1186472624540329
Epoch 365 - accuracy: 0.9519442406456347
Epoch 366 - loss: 0.11754312366247177
Epoch 366 - accuracy: 0.9517608217168012
Epoch 367 - loss: 0.1162467822432518
Epoch 367 - accuracy: 0.9517608217168012
Epoch 368 - loss: 0.11557508260011673
Epoch 368 - accuracy: 0.9515774027879678
Epoch 369 - loss: 0.11531295627355576
Epoch 369 - accuracy: 0.9510271460014673
Epoch 370 - loss: 0.11541815102100372
Epoch 370 - accuracy: 0.9515774027879678
Epoch 371 - loss: 0.11582695692777634
Epoch 371 - accuracy: 0.9523110785033015
Epoch 372 - loss: 0.1167873665690422
Epoch 372 - accuracy: 0.9517608217168012
Epoch 373 - loss: 0.11975935101509094
Epoch 373 - accuracy: 0.9512105649303008
Epoch 374 - loss: 0.12819969654083252
Epoch 374 - accuracy: 0.9486426999266324
Epoch 375 - loss: 0.16193169355392456
Epoch 375 - accuracy: 0.9369038884812912
Epoch 376 - loss: 0.20821644365787506
Epoch 376 - accuracy: 0.9154438738077769
Epoch 377 - loss: 0.325961709022522
Epoch 377 - accuracy: 0.8919662509170947
Epoch 378 - loss: 0.1364455372095108
Epoch 378 - accuracy: 0.9440572267057961
Epoch 379 - loss: 0.21241942048072815
Epoch 379 - accuracy: 0.907006603081438
Epoch 380 - loss: 0.1626487672328949
Epoch 380 - accuracy: 0.9269992663242846
Epoch 381 - loss: 0.20652639865875244
Epoch 381 - accuracy: 0.9092076302274394
Epoch 382 - loss: 0.13588370382785797
Epoch 382 - accuracy: 0.9455245781364637
Epoch 383 - loss: 0.20422253012657166
Epoch 383 - accuracy: 0.909024211298606
Epoch 384 - loss: 0.13599459826946259
Epoch 384 - accuracy: 0.9495597945707998
Epoch 385 - loss: 0.17693686485290527
Epoch 385 - accuracy: 0.921496698459281
Epoch 386 - loss: 0.1579907238483429
Epoch 386 - accuracy: 0.9314013206162876
Epoch 387 - loss: 0.14672908186912537
Epoch 387 - accuracy: 0.942039618488628
Epoch 388 - loss: 0.16746172308921814
Epoch 388 - accuracy: 0.927549523110785
Epoch 389 - loss: 0.1338583081960678
Epoch 389 - accuracy: 0.948459280997799
Epoch 390 - loss: 0.15159721672534943
Epoch 390 - accuracy: 0.9341526045487895
Epoch 391 - loss: 0.13681034743785858
Epoch 391 - accuracy: 0.9436903888481292
Epoch 392 - loss: 0.14098820090293884
Epoch 392 - accuracy: 0.9440572267057961
Epoch 393 - loss: 0.1385105550289154
Epoch 393 - accuracy: 0.9451577402787967
Epoch 394 - loss: 0.13083040714263916
Epoch 394 - accuracy: 0.9446074834922964
Epoch 395 - loss: 0.13558636605739594
Epoch 395 - accuracy: 0.9425898752751284
Epoch 396 - loss: 0.12347723543643951
Epoch 396 - accuracy: 0.9512105649303008
Epoch 397 - loss: 0.13910643756389618
Epoch 397 - accuracy: 0.9436903888481292
Epoch 398 - loss: 0.12173766642808914
Epoch 398 - accuracy: 0.9479090242112986
Epoch 399 - loss: 0.13300205767154694
Epoch 399 - accuracy: 0.944424064563463
Epoch 400 - loss: 0.1191490963101387
Epoch 400 - accuracy: 0.9499266324284666
Epoch 401 - loss: 0.13313132524490356
Epoch 401 - accuracy: 0.9480924431401321
Epoch 402 - loss: 0.11875271052122116
Epoch 402 - accuracy: 0.9521276595744681
Epoch 403 - loss: 0.1281844675540924
Epoch 403 - accuracy: 0.9455245781364637
Epoch 404 - loss: 0.11837610602378845
Epoch 404 - accuracy: 0.9534115920763023
Epoch 405 - loss: 0.12806600332260132
Epoch 405 - accuracy: 0.9501100513573001
Epoch 406 - loss: 0.11814288049936295
Epoch 406 - accuracy: 0.9519442406456347
Epoch 407 - loss: 0.12468785047531128
Epoch 407 - accuracy: 0.9475421863536317
Epoch 408 - loss: 0.11862160265445709
Epoch 408 - accuracy: 0.9526779163609684
Epoch 409 - loss: 0.12392288446426392
Epoch 409 - accuracy: 0.952494497432135
Epoch 410 - loss: 0.11869090050458908
Epoch 410 - accuracy: 0.9497432134996332
Epoch 411 - loss: 0.12116280943155289
Epoch 411 - accuracy: 0.9501100513573001
Epoch 412 - loss: 0.1193477138876915
Epoch 412 - accuracy: 0.9528613352898019
Epoch 413 - loss: 0.11886186897754669
Epoch 413 - accuracy: 0.9541452677916361
Epoch 414 - loss: 0.11949761211872101
Epoch 414 - accuracy: 0.9506603081438004
Epoch 415 - loss: 0.11689911782741547
Epoch 415 - accuracy: 0.9519442406456347
Epoch 416 - loss: 0.1198965311050415
Epoch 416 - accuracy: 0.9530447542186353
Epoch 417 - loss: 0.11652497947216034
Epoch 417 - accuracy: 0.9532281731474688
Epoch 418 - loss: 0.1186857745051384
Epoch 418 - accuracy: 0.9506603081438004
Epoch 419 - loss: 0.11728774011135101
Epoch 419 - accuracy: 0.9537784299339692
Epoch 420 - loss: 0.11748381704092026
Epoch 420 - accuracy: 0.9537784299339692
Epoch 421 - loss: 0.11850572377443314
Epoch 421 - accuracy: 0.9515774027879678
Epoch 422 - loss: 0.11655177175998688
Epoch 422 - accuracy: 0.9537784299339692
Epoch 423 - loss: 0.11829046159982681
Epoch 423 - accuracy: 0.9521276595744681
Epoch 424 - loss: 0.11714666336774826
Epoch 424 - accuracy: 0.9528613352898019
Epoch 425 - loss: 0.11655426770448685
Epoch 425 - accuracy: 0.9530447542186353
Epoch 426 - loss: 0.11783893406391144
Epoch 426 - accuracy: 0.9515774027879678
Epoch 427 - loss: 0.11623657494783401
Epoch 427 - accuracy: 0.9528613352898019
Epoch 428 - loss: 0.11643465608358383
Epoch 428 - accuracy: 0.9526779163609684
Epoch 429 - loss: 0.11700281500816345
Epoch 429 - accuracy: 0.9528613352898019
Epoch 430 - loss: 0.11578302085399628
Epoch 430 - accuracy: 0.9530447542186353
Epoch 431 - loss: 0.11609523743391037
Epoch 431 - accuracy: 0.9517608217168012
Epoch 432 - loss: 0.11639384180307388
Epoch 432 - accuracy: 0.952494497432135
Epoch 433 - loss: 0.11552444845438004
Epoch 433 - accuracy: 0.9530447542186353
Epoch 434 - loss: 0.11577931046485901
Epoch 434 - accuracy: 0.9521276595744681
Epoch 435 - loss: 0.11588909476995468
Epoch 435 - accuracy: 0.9528613352898019
Epoch 436 - loss: 0.11526598036289215
Epoch 436 - accuracy: 0.9534115920763023
Epoch 437 - loss: 0.11537007242441177
Epoch 437 - accuracy: 0.9526779163609684
Epoch 438 - loss: 0.11550384759902954
Epoch 438 - accuracy: 0.9532281731474688
Epoch 439 - loss: 0.11503107100725174
Epoch 439 - accuracy: 0.9530447542186353
Epoch 440 - loss: 0.11492138355970383
Epoch 440 - accuracy: 0.9535950110051358
Epoch 441 - loss: 0.11515788733959198
Epoch 441 - accuracy: 0.9532281731474688
Epoch 442 - loss: 0.11495614796876907
Epoch 442 - accuracy: 0.9534115920763023
Epoch 443 - loss: 0.11473667621612549
Epoch 443 - accuracy: 0.9535950110051358
Epoch 444 - loss: 0.11485560238361359
Epoch 444 - accuracy: 0.9539618488628027
Epoch 445 - loss: 0.11495267599821091
Epoch 445 - accuracy: 0.9539618488628027
Epoch 446 - loss: 0.11481142789125443
Epoch 446 - accuracy: 0.9537784299339692
Epoch 447 - loss: 0.11461487412452698
Epoch 447 - accuracy: 0.9543286867204696
Epoch 448 - loss: 0.11467333883047104
Epoch 448 - accuracy: 0.9535950110051358
Epoch 449 - loss: 0.11486823111772537
Epoch 449 - accuracy: 0.9535950110051358
Epoch 450 - loss: 0.1148831769824028
Epoch 450 - accuracy: 0.9535950110051358
Epoch 451 - loss: 0.11478026211261749
Epoch 451 - accuracy: 0.9541452677916361
Epoch 452 - loss: 0.11460951715707779
Epoch 452 - accuracy: 0.9534115920763023
Epoch 453 - loss: 0.11460217833518982
Epoch 453 - accuracy: 0.9534115920763023
Epoch 454 - loss: 0.11475560069084167
Epoch 454 - accuracy: 0.9534115920763023
Epoch 455 - loss: 0.11476694047451019
Epoch 455 - accuracy: 0.9539618488628027
Epoch 456 - loss: 0.11479894816875458
Epoch 456 - accuracy: 0.9530447542186353
Epoch 457 - loss: 0.11459555476903915
Epoch 457 - accuracy: 0.9541452677916361
Epoch 458 - loss: 0.11456222832202911
Epoch 458 - accuracy: 0.9535950110051358
Epoch 459 - loss: 0.11451135575771332
Epoch 459 - accuracy: 0.9543286867204696
Epoch 460 - loss: 0.11464311182498932
Epoch 460 - accuracy: 0.9530447542186353
Epoch 461 - loss: 0.11459161341190338
Epoch 461 - accuracy: 0.9541452677916361
Epoch 462 - loss: 0.11457392573356628
Epoch 462 - accuracy: 0.9530447542186353
Epoch 463 - loss: 0.1144469603896141
Epoch 463 - accuracy: 0.9537784299339692
Epoch 464 - loss: 0.11453792452812195
Epoch 464 - accuracy: 0.9528613352898019
Epoch 465 - loss: 0.11465635150671005
Epoch 465 - accuracy: 0.9530447542186353
Epoch 466 - loss: 0.11518797278404236
Epoch 466 - accuracy: 0.9526779163609684
Epoch 467 - loss: 0.11605854332447052
Epoch 467 - accuracy: 0.9537784299339692
Epoch 468 - loss: 0.11784745752811432
Epoch 468 - accuracy: 0.9523110785033015
Epoch 469 - loss: 0.12037881463766098
Epoch 469 - accuracy: 0.9510271460014673
Epoch 470 - loss: 0.12108893692493439
Epoch 470 - accuracy: 0.9508437270726339
Epoch 471 - loss: 0.12257847934961319
Epoch 471 - accuracy: 0.9512105649303008
0.9512105649303008
with torch.no_grad():
    y_pred_dev = best_model(X_dev_tensor)
    y_pred_dev = np.where(y_pred_dev > 0.5, 1, 0)
    df_dev_out = pd.DataFrame(y_pred_dev)
    df_dev_out.to_csv('dev-0/out.tsv', sep = '\t', index = None)
    accuracy_dev = accuracy_score(y_dev_tensor, y_pred_dev)
    print(f"Dev accuracy: {accuracy_dev}")

    y_pred_test = best_model(X_test_tensor)
    y_pred_test = np.where(y_pred_test > 0.5, 1, 0)
    df_test_out = pd.DataFrame(y_pred_test)
    df_test_out.to_csv('test-A/out.tsv', sep = '\t', index = None)
Dev accuracy: 0.9512105649303008