best results

This commit is contained in:
pbiskup 2021-12-04 19:42:54 +01:00
parent 8a2b6e54a6
commit 8ca26e6988
2 changed files with 467 additions and 92 deletions

190
cnn.ipynb

File diff suppressed because one or more lines are too long

369
results.txt Normal file
View File

@ -0,0 +1,369 @@
Wyniki:
Bez normalizacji:
model = Sequential()
model.add(Conv2D(32, (3, 3), activation='relu', input_shape=(60, 80, 3)))
model.add(MaxPooling2D((2, 2)))
model.add(Conv2D(64, (3, 3), activation='relu'))
model.add(MaxPooling2D((2, 2)))
model.add(Conv2D(64, (3, 3), activation='relu'))
model.add(Flatten())
model.add(Dense(512, activation='relu'))
model.add(Dense(3, activation='sigmoid'))
val_accuracy: 0.3867
Z normalizacja:
model = Sequential()
model.add(Conv2D(32, (3, 3), activation='relu', input_shape=(60, 80, 3)))
model.add(MaxPooling2D((2, 2)))
model.add(Conv2D(64, (3, 3), activation='relu'))
model.add(MaxPooling2D((2, 2)))
model.add(Conv2D(64, (3, 3), activation='relu'))
model.add(Flatten())
model.add(Dense(512, activation='relu'))
model.add(Dense(3, activation='sigmoid'))
val_accuracy: 0.8756
Bez resize:
model = Sequential()
model.add(Conv2D(32, (3, 3), activation='relu', input_shape=(600, 800, 3)))
model.add(MaxPooling2D((2, 2)))
model.add(Conv2D(64, (3, 3), activation='relu'))
model.add(MaxPooling2D((2, 2)))
model.add(Conv2D(64, (3, 3), activation='relu'))
model.add(Flatten())
model.add(Dense(512, activation='relu'))
model.add(Dense(3, activation='sigmoid'))
Epoch 1/10
22/22 [==============================] - 288s 12s/step - loss: 12.4083 - accuracy: 0.3526 - val_loss: 1.3011 - val_accuracy: 0.2933
Epoch 2/10
22/22 [==============================] - 252s 11s/step - loss: 1.1115 - accuracy: 0.4415 - val_loss: 1.0952 - val_accuracy: 0.3689
Epoch 3/10
22/22 [==============================] - 247s 11s/step - loss: 1.1416 - accuracy: 0.6296 - val_loss: 0.9587 - val_accuracy: 0.6267
Epoch 4/10
22/22 [==============================] - 253s 11s/step - loss: 0.8643 - accuracy: 0.7393 - val_loss: 0.8531 - val_accuracy: 0.5867
Epoch 5/10
22/22 [==============================] - 262s 12s/step - loss: 1.0683 - accuracy: 0.7615 - val_loss: 0.8185 - val_accuracy: 0.6800
Epoch 6/10
22/22 [==============================] - 247s 11s/step - loss: 0.3728 - accuracy: 0.9185 - val_loss: 1.1842 - val_accuracy: 0.6489
Epoch 7/10
22/22 [==============================] - 249s 11s/step - loss: 0.1167 - accuracy: 0.9852 - val_loss: 1.4551 - val_accuracy: 0.6356
Epoch 8/10
22/22 [==============================] - 261s 12s/step - loss: 0.7428 - accuracy: 0.8830 - val_loss: 2.1261 - val_accuracy: 0.4933
Epoch 9/10
22/22 [==============================] - 234s 10s/step - loss: 0.6366 - accuracy: 0.8326 - val_loss: 1.1590 - val_accuracy: 0.6444
Epoch 10/10
22/22 [==============================] - 237s 11s/step - loss: 0.3049 - accuracy: 0.9630 - val_loss: 1.0840 - val_accuracy: 0.7200
20 epoch:
Epoch 1/20
20/20 [==============================] - 2s 89ms/step - loss: 1.1477 - accuracy: 0.3524 - val_loss: 1.0852 - val_accuracy: 0.2926
Epoch 2/20
20/20 [==============================] - 2s 81ms/step - loss: 0.9889 - accuracy: 0.5127 - val_loss: 0.9090 - val_accuracy: 0.5111
Epoch 3/20
20/20 [==============================] - 2s 80ms/step - loss: 0.8362 - accuracy: 0.6302 - val_loss: 0.8632 - val_accuracy: 0.5333
Epoch 4/20
20/20 [==============================] - 2s 82ms/step - loss: 0.7890 - accuracy: 0.6540 - val_loss: 0.7632 - val_accuracy: 0.6778
Epoch 5/20
20/20 [==============================] - 2s 81ms/step - loss: 0.6646 - accuracy: 0.7524 - val_loss: 0.6927 - val_accuracy: 0.7037
Epoch 6/20
20/20 [==============================] - 2s 82ms/step - loss: 0.5417 - accuracy: 0.8063 - val_loss: 0.6142 - val_accuracy: 0.7481
Epoch 7/20
20/20 [==============================] - 2s 80ms/step - loss: 0.4838 - accuracy: 0.8159 - val_loss: 0.5343 - val_accuracy: 0.7778
Epoch 8/20
20/20 [==============================] - 2s 83ms/step - loss: 0.3551 - accuracy: 0.8603 - val_loss: 0.4673 - val_accuracy: 0.8370
Epoch 9/20
20/20 [==============================] - 2s 81ms/step - loss: 0.2413 - accuracy: 0.9063 - val_loss: 0.3850 - val_accuracy: 0.8556
Epoch 10/20
20/20 [==============================] - 2s 81ms/step - loss: 0.1823 - accuracy: 0.9397 - val_loss: 0.3601 - val_accuracy: 0.8630
Epoch 11/20
20/20 [==============================] - 2s 82ms/step - loss: 0.1935 - accuracy: 0.9333 - val_loss: 0.3939 - val_accuracy: 0.8444
Epoch 12/20
20/20 [==============================] - 2s 81ms/step - loss: 0.3382 - accuracy: 0.8778 - val_loss: 0.5627 - val_accuracy: 0.8148
Epoch 13/20
20/20 [==============================] - 2s 83ms/step - loss: 0.2623 - accuracy: 0.9159 - val_loss: 0.3072 - val_accuracy: 0.8704
Epoch 14/20
20/20 [==============================] - 2s 82ms/step - loss: 0.1168 - accuracy: 0.9619 - val_loss: 0.2339 - val_accuracy: 0.9000
Epoch 15/20
20/20 [==============================] - 2s 83ms/step - loss: 0.0801 - accuracy: 0.9810 - val_loss: 0.4000 - val_accuracy: 0.8852
Epoch 16/20
20/20 [==============================] - 2s 83ms/step - loss: 0.0992 - accuracy: 0.9683 - val_loss: 0.2304 - val_accuracy: 0.9222
Epoch 17/20
20/20 [==============================] - 2s 83ms/step - loss: 0.0729 - accuracy: 0.9746 - val_loss: 0.1937 - val_accuracy: 0.9259
Epoch 18/20
20/20 [==============================] - 2s 84ms/step - loss: 0.0316 - accuracy: 0.9905 - val_loss: 0.1852 - val_accuracy: 0.9333
Epoch 19/20
20/20 [==============================] - 2s 83ms/step - loss: 0.0186 - accuracy: 0.9968 - val_loss: 0.2318 - val_accuracy: 0.9222
Epoch 20/20
20/20 [==============================] - 2s 82ms/step - loss: 0.0068 - accuracy: 1.0000 - val_loss: 0.2132 - val_accuracy: 0.9296
30 epoch
Epoch 1/30
20/20 [==============================] - 2s 85ms/step - loss: 0.0043 - accuracy: 1.0000 - val_loss: 0.2329 - val_accuracy: 0.9222
Epoch 2/30
20/20 [==============================] - 2s 83ms/step - loss: 0.0041 - accuracy: 1.0000 - val_loss: 0.2181 - val_accuracy: 0.9370
Epoch 3/30
20/20 [==============================] - 2s 79ms/step - loss: 0.0023 - accuracy: 1.0000 - val_loss: 0.2341 - val_accuracy: 0.9333
Epoch 4/30
20/20 [==============================] - 2s 81ms/step - loss: 0.0016 - accuracy: 1.0000 - val_loss: 0.2445 - val_accuracy: 0.9296
Epoch 5/30
20/20 [==============================] - 2s 81ms/step - loss: 0.0013 - accuracy: 1.0000 - val_loss: 0.2485 - val_accuracy: 0.9333
Epoch 6/30
20/20 [==============================] - 2s 80ms/step - loss: 0.0012 - accuracy: 1.0000 - val_loss: 0.2546 - val_accuracy: 0.9296
Epoch 7/30
20/20 [==============================] - 2s 81ms/step - loss: 0.0011 - accuracy: 1.0000 - val_loss: 0.2588 - val_accuracy: 0.9333
Epoch 8/30
20/20 [==============================] - 2s 94ms/step - loss: 8.9602e-04 - accuracy: 1.0000 - val_loss: 0.2607 - val_accuracy: 0.9333
Epoch 9/30
20/20 [==============================] - 2s 82ms/step - loss: 8.5268e-04 - accuracy: 1.0000 - val_loss: 0.2638 - val_accuracy: 0.9370
Epoch 10/30
20/20 [==============================] - 2s 82ms/step - loss: 8.3403e-04 - accuracy: 1.0000 - val_loss: 0.2793 - val_accuracy: 0.9296
Epoch 11/30
20/20 [==============================] - 2s 81ms/step - loss: 6.4179e-04 - accuracy: 1.0000 - val_loss: 0.2823 - val_accuracy: 0.9259
Epoch 12/30
20/20 [==============================] - 2s 83ms/step - loss: 5.6126e-04 - accuracy: 1.0000 - val_loss: 0.2884 - val_accuracy: 0.9296
Epoch 13/30
20/20 [==============================] - 2s 86ms/step - loss: 4.8145e-04 - accuracy: 1.0000 - val_loss: 0.3117 - val_accuracy: 0.9259
Epoch 14/30
20/20 [==============================] - 2s 84ms/step - loss: 4.3003e-04 - accuracy: 1.0000 - val_loss: 0.3195 - val_accuracy: 0.9259
Epoch 15/30
20/20 [==============================] - 2s 82ms/step - loss: 3.7276e-04 - accuracy: 1.0000 - val_loss: 0.3141 - val_accuracy: 0.9222
Epoch 16/30
20/20 [==============================] - 2s 79ms/step - loss: 3.2475e-04 - accuracy: 1.0000 - val_loss: 0.3304 - val_accuracy: 0.9259
Epoch 17/30
20/20 [==============================] - 2s 80ms/step - loss: 3.0164e-04 - accuracy: 1.0000 - val_loss: 0.3358 - val_accuracy: 0.9222
Epoch 18/30
20/20 [==============================] - 2s 81ms/step - loss: 2.6453e-04 - accuracy: 1.0000 - val_loss: 0.3450 - val_accuracy: 0.9259
Epoch 19/30
20/20 [==============================] - 2s 80ms/step - loss: 2.4254e-04 - accuracy: 1.0000 - val_loss: 0.3412 - val_accuracy: 0.9222
Epoch 20/30
20/20 [==============================] - 2s 81ms/step - loss: 2.3105e-04 - accuracy: 1.0000 - val_loss: 0.3495 - val_accuracy: 0.9222
Epoch 21/30
20/20 [==============================] - 2s 81ms/step - loss: 2.0195e-04 - accuracy: 1.0000 - val_loss: 0.3583 - val_accuracy: 0.9222
Epoch 22/30
20/20 [==============================] - 2s 81ms/step - loss: 1.8578e-04 - accuracy: 1.0000 - val_loss: 0.3611 - val_accuracy: 0.9222
Epoch 23/30
20/20 [==============================] - 2s 81ms/step - loss: 1.7422e-04 - accuracy: 1.0000 - val_loss: 0.3667 - val_accuracy: 0.9259
Epoch 24/30
20/20 [==============================] - 2s 81ms/step - loss: 1.6855e-04 - accuracy: 1.0000 - val_loss: 0.3639 - val_accuracy: 0.9222
Epoch 25/30
20/20 [==============================] - 2s 81ms/step - loss: 1.5129e-04 - accuracy: 1.0000 - val_loss: 0.3785 - val_accuracy: 0.9222
Epoch 26/30
20/20 [==============================] - 2s 81ms/step - loss: 1.4270e-04 - accuracy: 1.0000 - val_loss: 0.3752 - val_accuracy: 0.9222
Epoch 27/30
20/20 [==============================] - 2s 81ms/step - loss: 1.2991e-04 - accuracy: 1.0000 - val_loss: 0.3792 - val_accuracy: 0.9185
Epoch 28/30
20/20 [==============================] - 2s 84ms/step - loss: 1.2475e-04 - accuracy: 1.0000 - val_loss: 0.3855 - val_accuracy: 0.9185
Epoch 29/30
20/20 [==============================] - 2s 82ms/step - loss: 1.1649e-04 - accuracy: 1.0000 - val_loss: 0.3914 - val_accuracy: 0.9222
Epoch 30/30
20/20 [==============================] - 2s 80ms/step - loss: 1.1059e-04 - accuracy: 1.0000 - val_loss: 0.3902 - val_accuracy: 0.9185
15 epoch
Epoch 1/15
20/20 [==============================] - 2s 87ms/step - loss: 1.1473 - accuracy: 0.3683 - val_loss: 1.0744 - val_accuracy: 0.3481
Epoch 2/15
20/20 [==============================] - 2s 81ms/step - loss: 0.9573 - accuracy: 0.5190 - val_loss: 0.8655 - val_accuracy: 0.6593
Epoch 3/15
20/20 [==============================] - 2s 80ms/step - loss: 0.8860 - accuracy: 0.5651 - val_loss: 1.1484 - val_accuracy: 0.4852
Epoch 4/15
20/20 [==============================] - 2s 80ms/step - loss: 0.8499 - accuracy: 0.6349 - val_loss: 0.8071 - val_accuracy: 0.6370
Epoch 5/15
20/20 [==============================] - 2s 81ms/step - loss: 0.7370 - accuracy: 0.7127 - val_loss: 0.8223 - val_accuracy: 0.6481
Epoch 6/15
20/20 [==============================] - 2s 81ms/step - loss: 0.6904 - accuracy: 0.7365 - val_loss: 0.7176 - val_accuracy: 0.6963
Epoch 7/15
20/20 [==============================] - 2s 83ms/step - loss: 0.5885 - accuracy: 0.7714 - val_loss: 0.7448 - val_accuracy: 0.7111
Epoch 8/15
20/20 [==============================] - 2s 85ms/step - loss: 0.4964 - accuracy: 0.8079 - val_loss: 0.6491 - val_accuracy: 0.7778
Epoch 9/15
20/20 [==============================] - 2s 83ms/step - loss: 0.4423 - accuracy: 0.8302 - val_loss: 0.4758 - val_accuracy: 0.7926
Epoch 10/15
20/20 [==============================] - 2s 80ms/step - loss: 0.3502 - accuracy: 0.8698 - val_loss: 0.3756 - val_accuracy: 0.8704
Epoch 11/15
20/20 [==============================] - 2s 80ms/step - loss: 0.2756 - accuracy: 0.9111 - val_loss: 0.4337 - val_accuracy: 0.8370
Epoch 12/15
20/20 [==============================] - 2s 82ms/step - loss: 0.2616 - accuracy: 0.9111 - val_loss: 0.3448 - val_accuracy: 0.8852
Epoch 13/15
20/20 [==============================] - 2s 81ms/step - loss: 0.2225 - accuracy: 0.9286 - val_loss: 0.2752 - val_accuracy: 0.9000
Epoch 14/15
20/20 [==============================] - 2s 80ms/step - loss: 0.1306 - accuracy: 0.9603 - val_loss: 0.2154 - val_accuracy: 0.9037
Epoch 15/15
20/20 [==============================] - 2s 83ms/step - loss: 0.0883 - accuracy: 0.9746 - val_loss: 0.1944 - val_accuracy: 0.9333
model = Sequential()
model.add(Conv2D(32, (3, 3), activation='relu', input_shape=(60, 80, 3)))
model.add(MaxPooling2D((2, 2)))
model.add(Conv2D(64, (3, 3), activation='relu'))
model.add(MaxPooling2D((2, 2)))
model.add(Conv2D(64, (3, 3), activation='relu'))
model.add(Flatten())
model.add(Dense(512, activation='relu'))
model.add(Dense(3, activation='sigmoid'))
Epoch 1/20
20/20 [==============================] - 2s 92ms/step - loss: 1.0981 - accuracy: 0.4143 - val_loss: 0.9665 - val_accuracy: 0.5074
Epoch 2/20
20/20 [==============================] - 2s 85ms/step - loss: 0.9088 - accuracy: 0.5317 - val_loss: 0.8052 - val_accuracy: 0.6815
Epoch 3/20
20/20 [==============================] - 2s 86ms/step - loss: 0.8167 - accuracy: 0.6349 - val_loss: 0.7731 - val_accuracy: 0.7111
Epoch 4/20
20/20 [==============================] - 2s 84ms/step - loss: 0.6990 - accuracy: 0.7190 - val_loss: 0.6543 - val_accuracy: 0.7556
Epoch 5/20
20/20 [==============================] - 2s 83ms/step - loss: 0.5706 - accuracy: 0.7873 - val_loss: 0.5827 - val_accuracy: 0.7815
Epoch 6/20
20/20 [==============================] - 2s 84ms/step - loss: 0.4602 - accuracy: 0.8111 - val_loss: 0.7840 - val_accuracy: 0.7074
Epoch 7/20
20/20 [==============================] - 2s 83ms/step - loss: 0.3474 - accuracy: 0.8603 - val_loss: 0.3732 - val_accuracy: 0.8370
Epoch 8/20
20/20 [==============================] - 2s 83ms/step - loss: 0.2519 - accuracy: 0.9127 - val_loss: 0.3010 - val_accuracy: 0.8741
Epoch 9/20
20/20 [==============================] - 2s 83ms/step - loss: 0.1557 - accuracy: 0.9444 - val_loss: 0.3659 - val_accuracy: 0.8519
Epoch 10/20
20/20 [==============================] - 2s 85ms/step - loss: 0.1723 - accuracy: 0.9317 - val_loss: 0.2332 - val_accuracy: 0.9037
Epoch 11/20
20/20 [==============================] - 2s 83ms/step - loss: 0.0918 - accuracy: 0.9714 - val_loss: 0.1849 - val_accuracy: 0.9407
Epoch 12/20
20/20 [==============================] - 2s 84ms/step - loss: 0.1632 - accuracy: 0.9397 - val_loss: 0.3736 - val_accuracy: 0.8667
Epoch 13/20
20/20 [==============================] - 2s 84ms/step - loss: 0.1669 - accuracy: 0.9381 - val_loss: 0.9906 - val_accuracy: 0.7556
Epoch 14/20
20/20 [==============================] - 2s 85ms/step - loss: 0.2858 - accuracy: 0.9063 - val_loss: 0.2498 - val_accuracy: 0.8926
Epoch 15/20
20/20 [==============================] - 2s 84ms/step - loss: 0.1440 - accuracy: 0.9556 - val_loss: 0.2503 - val_accuracy: 0.9037
Epoch 16/20
20/20 [==============================] - 2s 84ms/step - loss: 0.0944 - accuracy: 0.9635 - val_loss: 0.1548 - val_accuracy: 0.9407
Epoch 17/20
20/20 [==============================] - 2s 85ms/step - loss: 0.0341 - accuracy: 0.9952 - val_loss: 0.1393 - val_accuracy: 0.9519
Epoch 18/20
20/20 [==============================] - 2s 85ms/step - loss: 0.0183 - accuracy: 0.9968 - val_loss: 0.1648 - val_accuracy: 0.9519
Epoch 19/20
20/20 [==============================] - 2s 86ms/step - loss: 0.0120 - accuracy: 1.0000 - val_loss: 0.1605 - val_accuracy: 0.9481
Epoch 20/20
20/20 [==============================] - 2s 82ms/step - loss: 0.0122 - accuracy: 1.0000 - val_loss: 0.1860 - val_accuracy: 0.9481
model = Sequential()
model.add(Conv2D(32, (3, 3), activation='relu', input_shape=(60, 80, 3)))
model.add(MaxPooling2D((2, 2)))
model.add(Conv2D(64, (3, 3), activation='relu'))
model.add(MaxPooling2D((2, 2)))
model.add(Conv2D(64, (3, 3), activation='relu'))
model.add(MaxPooling2D((2, 2)))
model.add(Conv2D(64, (3, 3), activation='relu'))
model.add(Flatten())
model.add(Dense(512, activation='relu'))
model.add(Dense(3, activation='sigmoid'))
Epoch 1/20
20/20 [==============================] - 2s 75ms/step - loss: 1.0930 - accuracy: 0.3683 - val_loss: 1.0385 - val_accuracy: 0.5222
Epoch 2/20
20/20 [==============================] - 1s 67ms/step - loss: 0.9591 - accuracy: 0.5587 - val_loss: 0.8734 - val_accuracy: 0.5704
Epoch 3/20
20/20 [==============================] - 1s 68ms/step - loss: 0.8359 - accuracy: 0.6429 - val_loss: 0.7807 - val_accuracy: 0.6444
Epoch 4/20
20/20 [==============================] - 1s 68ms/step - loss: 0.7388 - accuracy: 0.6841 - val_loss: 0.7055 - val_accuracy: 0.7185
Epoch 5/20
20/20 [==============================] - 1s 69ms/step - loss: 0.6886 - accuracy: 0.7270 - val_loss: 0.6831 - val_accuracy: 0.7296
Epoch 6/20
20/20 [==============================] - 1s 68ms/step - loss: 0.5502 - accuracy: 0.7921 - val_loss: 0.5109 - val_accuracy: 0.7963
Epoch 7/20
20/20 [==============================] - 1s 68ms/step - loss: 0.4269 - accuracy: 0.8286 - val_loss: 0.6981 - val_accuracy: 0.7111
Epoch 8/20
20/20 [==============================] - 1s 69ms/step - loss: 0.3455 - accuracy: 0.8746 - val_loss: 0.5433 - val_accuracy: 0.7630
Epoch 9/20
20/20 [==============================] - 1s 69ms/step - loss: 0.2115 - accuracy: 0.9190 - val_loss: 0.2929 - val_accuracy: 0.8852
Epoch 10/20
20/20 [==============================] - 1s 69ms/step - loss: 0.3371 - accuracy: 0.8778 - val_loss: 0.3675 - val_accuracy: 0.8519
Epoch 11/20
20/20 [==============================] - 1s 71ms/step - loss: 0.1956 - accuracy: 0.9254 - val_loss: 0.2329 - val_accuracy: 0.9185
Epoch 12/20
20/20 [==============================] - 1s 73ms/step - loss: 0.1500 - accuracy: 0.9587 - val_loss: 0.1718 - val_accuracy: 0.9407
Epoch 13/20
20/20 [==============================] - 1s 72ms/step - loss: 0.1148 - accuracy: 0.9683 - val_loss: 0.2077 - val_accuracy: 0.9185
Epoch 14/20
20/20 [==============================] - 1s 71ms/step - loss: 0.0741 - accuracy: 0.9698 - val_loss: 0.1391 - val_accuracy: 0.9556
Epoch 15/20
20/20 [==============================] - 1s 71ms/step - loss: 0.0677 - accuracy: 0.9794 - val_loss: 0.1796 - val_accuracy: 0.9407
Epoch 16/20
20/20 [==============================] - 1s 70ms/step - loss: 0.0668 - accuracy: 0.9746 - val_loss: 0.0995 - val_accuracy: 0.9741
Epoch 17/20
20/20 [==============================] - 1s 71ms/step - loss: 0.0720 - accuracy: 0.9778 - val_loss: 0.0801 - val_accuracy: 0.9704
Epoch 18/20
20/20 [==============================] - 1s 71ms/step - loss: 0.0389 - accuracy: 0.9889 - val_loss: 0.3029 - val_accuracy: 0.9037
Epoch 19/20
20/20 [==============================] - 1s 71ms/step - loss: 0.0599 - accuracy: 0.9778 - val_loss: 0.2263 - val_accuracy: 0.9185
Epoch 20/20
20/20 [==============================] - 1s 72ms/step - loss: 0.0362 - accuracy: 0.9873 - val_loss: 0.1611 - val_accuracy: 0.9444
model = Sequential()
model.add(Conv2D(32, (3, 3), activation='relu', input_shape=(60, 80, 3)))
model.add(MaxPooling2D((2, 2)))
model.add(Conv2D(64, (3, 3), activation='relu'))
model.add(MaxPooling2D((2, 2)))
model.add(Conv2D(64, (3, 3), activation='relu'))
model.add(MaxPooling2D((2, 2)))
model.add(Conv2D(64, (3, 3), activation='relu'))
model.add(Flatten())
model.add(Dense(256, activation='relu'))
model.add(Dense(3, activation='sigmoid'))
Epoch 1/20
20/20 [==============================] - 2s 72ms/step - loss: 1.1015 - accuracy: 0.3524 - val_loss: 1.1005 - val_accuracy: 0.3481
Epoch 2/20
20/20 [==============================] - 1s 66ms/step - loss: 1.0591 - accuracy: 0.4222 - val_loss: 1.0622 - val_accuracy: 0.3815
Epoch 3/20
20/20 [==============================] - 1s 68ms/step - loss: 0.9599 - accuracy: 0.5175 - val_loss: 0.8721 - val_accuracy: 0.6370
Epoch 4/20
20/20 [==============================] - 1s 69ms/step - loss: 0.8423 - accuracy: 0.6508 - val_loss: 0.8015 - val_accuracy: 0.6481
Epoch 5/20
20/20 [==============================] - 1s 69ms/step - loss: 0.7877 - accuracy: 0.6730 - val_loss: 0.7056 - val_accuracy: 0.7148
Epoch 6/20
20/20 [==============================] - 1s 67ms/step - loss: 0.7050 - accuracy: 0.6937 - val_loss: 0.6914 - val_accuracy: 0.7148
Epoch 7/20
20/20 [==============================] - 1s 68ms/step - loss: 0.5828 - accuracy: 0.7444 - val_loss: 0.6101 - val_accuracy: 0.7185
Epoch 8/20
20/20 [==============================] - 1s 69ms/step - loss: 0.4316 - accuracy: 0.8333 - val_loss: 0.3835 - val_accuracy: 0.8444
Epoch 9/20
20/20 [==============================] - 1s 68ms/step - loss: 0.3359 - accuracy: 0.8651 - val_loss: 0.2653 - val_accuracy: 0.8963
Epoch 10/20
20/20 [==============================] - 1s 68ms/step - loss: 0.3450 - accuracy: 0.8524 - val_loss: 0.3437 - val_accuracy: 0.8630
Epoch 11/20
20/20 [==============================] - 1s 67ms/step - loss: 0.2425 - accuracy: 0.9175 - val_loss: 0.2942 - val_accuracy: 0.8889
Epoch 12/20
20/20 [==============================] - 1s 68ms/step - loss: 0.1305 - accuracy: 0.9540 - val_loss: 0.1625 - val_accuracy: 0.9296
Epoch 13/20
20/20 [==============================] - 1s 68ms/step - loss: 0.0759 - accuracy: 0.9762 - val_loss: 0.2728 - val_accuracy: 0.9000
Epoch 14/20
20/20 [==============================] - 1s 68ms/step - loss: 0.1860 - accuracy: 0.9206 - val_loss: 0.3506 - val_accuracy: 0.8630
Epoch 15/20
20/20 [==============================] - 1s 69ms/step - loss: 0.2425 - accuracy: 0.8937 - val_loss: 0.1346 - val_accuracy: 0.9556
Epoch 16/20
20/20 [==============================] - 1s 69ms/step - loss: 0.0698 - accuracy: 0.9841 - val_loss: 0.1216 - val_accuracy: 0.9556
Epoch 17/20
20/20 [==============================] - 1s 68ms/step - loss: 0.0380 - accuracy: 0.9921 - val_loss: 0.3286 - val_accuracy: 0.8741
Epoch 18/20
20/20 [==============================] - 1s 69ms/step - loss: 0.0735 - accuracy: 0.9746 - val_loss: 0.1637 - val_accuracy: 0.9407
Epoch 19/20
20/20 [==============================] - 1s 68ms/step - loss: 0.0296 - accuracy: 0.9905 - val_loss: 0.0999 - val_accuracy: 0.9667
Epoch 20/20
20/20 [==============================] - 1s 68ms/step - loss: 0.0115 - accuracy: 1.0000 - val_loss: 0.0790 - val_accuracy: 0.9704