060_DLByABr_05a-LSTM-Solution(Python)

SDS-2.x, Scalable Data Engineering Science

This is a 2019 augmentation and update of Adam Breindel's initial notebooks.

import numpy
from keras.models import Sequential
from keras.layers import Dense
from keras.layers import LSTM
from keras.utils import np_utils

alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
char_to_int = dict((c, i) for i, c in enumerate(alphabet))
int_to_char = dict((i, c) for i, c in enumerate(alphabet))

seq_length = 3
dataX = []
dataY = []
for i in range(0, len(alphabet) - seq_length, 1):
    seq_in = alphabet[i:i + seq_length]
    seq_out = alphabet[i + seq_length]
    dataX.append([char_to_int[char] for char in seq_in])
    dataY.append(char_to_int[seq_out])
    print (seq_in, '->', seq_out)

# reshape X to be [samples, time steps, features]
X = numpy.reshape(dataX, (len(dataX), seq_length, 1))
X = X / float(len(alphabet))
y = np_utils.to_categorical(dataY)

model = Sequential()
model.add(LSTM(32, input_shape=(X.shape[1], X.shape[2])))
model.add(Dense(y.shape[1], activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
model.fit(X, y, epochs=400, batch_size=1, verbose=2)

scores = model.evaluate(X, y)
print("Model Accuracy: %.2f%%" % (scores[1]*100))

for pattern in ['WBC', 'WKL', 'WTU', 'DWF', 'MWO', 'VWW', 'GHW', 'JKW', 'PQW']:
    pattern = [char_to_int[c] for c in pattern]
    x = numpy.reshape(pattern, (1, len(pattern), 1))
    x = x / float(len(alphabet))
    prediction = model.predict(x, verbose=0)
    index = numpy.argmax(prediction)
    result = int_to_char[index]
    seq_in = [int_to_char[value] for value in pattern]
    print (seq_in, "->", result)
Using TensorFlow backend. ('ABC', '->', 'D') ('BCD', '->', 'E') ('CDE', '->', 'F') ('DEF', '->', 'G') ('EFG', '->', 'H') ('FGH', '->', 'I') ('GHI', '->', 'J') ('HIJ', '->', 'K') ('IJK', '->', 'L') ('JKL', '->', 'M') ('KLM', '->', 'N') ('LMN', '->', 'O') ('MNO', '->', 'P') ('NOP', '->', 'Q') ('OPQ', '->', 'R') ('PQR', '->', 'S') ('QRS', '->', 'T') ('RST', '->', 'U') ('STU', '->', 'V') ('TUV', '->', 'W') ('UVW', '->', 'X') ('VWX', '->', 'Y') ('WXY', '->', 'Z') WARNING:tensorflow:From /databricks/python/local/lib/python2.7/site-packages/tensorflow/python/framework/op_def_library.py:263: colocate_with (from tensorflow.python.framework.ops) is deprecated and will be removed in a future version. Instructions for updating: Colocations handled automatically by placer. WARNING:tensorflow:From /databricks/python/local/lib/python2.7/site-packages/tensorflow/python/ops/math_ops.py:3066: to_int32 (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version. Instructions for updating: Use tf.cast instead. Epoch 1/400 - 1s - loss: 3.2690 - acc: 0.0435 Epoch 2/400 - 0s - loss: 3.2556 - acc: 0.0435 Epoch 3/400 - 0s - loss: 3.2484 - acc: 0.0435 Epoch 4/400 - 0s - loss: 3.2408 - acc: 0.0435 Epoch 5/400 - 0s - loss: 3.2343 - acc: 0.0435 Epoch 6/400 - 0s - loss: 3.2264 - acc: 0.0000e+00 Epoch 7/400 - 0s - loss: 3.2199 - acc: 0.0435 Epoch 8/400 - 0s - loss: 3.2111 - acc: 0.0435 Epoch 9/400 - 0s - loss: 3.2011 - acc: 0.0435 Epoch 10/400 - 0s - loss: 3.1920 - acc: 0.0435 Epoch 11/400 - 0s - loss: 3.1799 - acc: 0.0435 Epoch 12/400 - 0s - loss: 3.1682 - acc: 0.0435 Epoch 13/400 - 0s - loss: 3.1547 - acc: 0.0435 Epoch 14/400 - 0s - loss: 3.1399 - acc: 0.0435 Epoch 15/400 - 0s - loss: 3.1221 - acc: 0.0435 Epoch 16/400 - 0s - loss: 3.1061 - acc: 0.0000e+00 Epoch 17/400 - 0s - loss: 3.0915 - acc: 0.0435 Epoch 18/400 - 0s - loss: 3.0754 - acc: 0.0435 Epoch 19/400 - 0s - loss: 3.0608 - acc: 0.0435 Epoch 20/400 - 0s - loss: 3.0425 - acc: 0.0000e+00 Epoch 21/400 - 0s - loss: 3.0284 - acc: 0.0435 Epoch 22/400 - 0s - loss: 3.0114 - acc: 0.0435 Epoch 23/400 - 0s - loss: 2.9918 - acc: 0.0435 Epoch 24/400 - 0s - loss: 2.9741 - acc: 0.0435 Epoch 25/400 - 0s - loss: 2.9550 - acc: 0.0870 Epoch 26/400 - 0s - loss: 2.9347 - acc: 0.0870 Epoch 27/400 - 0s - loss: 2.9117 - acc: 0.0435 Epoch 28/400 - 0s - loss: 2.8860 - acc: 0.0870 Epoch 29/400 - 0s - loss: 2.8619 - acc: 0.0870 Epoch 30/400 - 0s - loss: 2.8401 - acc: 0.0435 Epoch 31/400 - 0s - loss: 2.8106 - acc: 0.0435 Epoch 32/400 - 0s - loss: 2.7845 - acc: 0.0870 Epoch 33/400 - 0s - loss: 2.7582 - acc: 0.0870 Epoch 34/400 - 0s - loss: 2.7321 - acc: 0.0435 Epoch 35/400 - 0s - loss: 2.7022 - acc: 0.0435 Epoch 36/400 - 0s - loss: 2.6739 - acc: 0.0435 Epoch 37/400 - 0s - loss: 2.6530 - acc: 0.0870 Epoch 38/400 - 0s - loss: 2.6206 - acc: 0.0435 Epoch 39/400 - 0s - loss: 2.5994 - acc: 0.0435 Epoch 40/400 - 0s - loss: 2.5723 - acc: 0.0435 Epoch 41/400 - 0s - loss: 2.5488 - acc: 0.0870 Epoch 42/400 - 0s - loss: 2.5248 - acc: 0.0435 Epoch 43/400 - 0s - loss: 2.4974 - acc: 0.0870 Epoch 44/400 - 0s - loss: 2.4767 - acc: 0.0435 Epoch 45/400 - 0s - loss: 2.4526 - acc: 0.0870 Epoch 46/400 - 0s - loss: 2.4275 - acc: 0.0870 Epoch 47/400 - 0s - loss: 2.4043 - acc: 0.1304 Epoch 48/400 - 0s - loss: 2.3879 - acc: 0.0870 Epoch 49/400 - 0s - loss: 2.3658 - acc: 0.0870 Epoch 50/400 - 0s - loss: 2.3482 - acc: 0.0870 Epoch 51/400 - 0s - loss: 2.3165 - acc: 0.1304 Epoch 52/400 - 0s - loss: 2.2990 - acc: 0.1304 Epoch 53/400 - 0s - loss: 2.2788 - acc: 0.1739 Epoch 54/400 - 0s - loss: 2.2525 - acc: 0.1739 Epoch 55/400 - 0s - loss: 2.2376 - acc: 0.2174 Epoch 56/400 - 0s - loss: 2.2082 - acc: 0.1739 Epoch 57/400 - 0s - loss: 2.1894 - acc: 0.2174 Epoch 58/400 - 0s - loss: 2.1786 - acc: 0.2609 Epoch 59/400 - 0s - loss: 2.1488 - acc: 0.2174 Epoch 60/400 - 0s - loss: 2.1198 - acc: 0.2609 Epoch 61/400 - 0s - loss: 2.1081 - acc: 0.2609 Epoch 62/400 - 0s - loss: 2.0866 - acc: 0.2174 Epoch 63/400 - 0s - loss: 2.0798 - acc: 0.1739 Epoch 64/400 - 0s - loss: 2.0465 - acc: 0.3043 Epoch 65/400 - 0s - loss: 2.0324 - acc: 0.2609 Epoch 66/400 - 0s - loss: 2.0159 - acc: 0.3043 Epoch 67/400 - 0s - loss: 1.9990 - acc: 0.3478 Epoch 68/400 - 0s - loss: 1.9715 - acc: 0.3043 Epoch 69/400 - 0s - loss: 1.9537 - acc: 0.2609 Epoch 70/400 - 0s - loss: 1.9392 - acc: 0.3043 Epoch 71/400 - 0s - loss: 1.9213 - acc: 0.1739 Epoch 72/400 - 0s - loss: 1.9012 - acc: 0.2609 Epoch 73/400 - 0s - loss: 1.8872 - acc: 0.3913 Epoch 74/400 - 0s - loss: 1.8692 - acc: 0.3913 Epoch 75/400 - 0s - loss: 1.8457 - acc: 0.3478 Epoch 76/400 - 0s - loss: 1.8309 - acc: 0.3913 Epoch 77/400 - 0s - loss: 1.8122 - acc: 0.3478 Epoch 78/400 - 0s - loss: 1.7916 - acc: 0.3043 Epoch 79/400 - 0s - loss: 1.7775 - acc: 0.4783 Epoch 80/400 - 0s - loss: 1.7559 - acc: 0.3478 Epoch 81/400 - 0s - loss: 1.7413 - acc: 0.3913 Epoch 82/400 - 0s - loss: 1.7297 - acc: 0.4348 Epoch 83/400 - 0s - loss: 1.7156 - acc: 0.3913 Epoch 84/400 - 0s - loss: 1.7019 - acc: 0.5217 Epoch 85/400 - 0s - loss: 1.6815 - acc: 0.5217 Epoch 86/400 - 0s - loss: 1.6756 - acc: 0.3913 Epoch 87/400 - 0s - loss: 1.6552 - acc: 0.5652 Epoch 88/400 - 0s - loss: 1.6423 - acc: 0.6087 Epoch 89/400 - 0s - loss: 1.6323 - acc: 0.4783 Epoch 90/400 - 0s - loss: 1.6215 - acc: 0.4348 Epoch 91/400 - 0s - loss: 1.6126 - acc: 0.5217 Epoch 92/400 - 0s - loss: 1.5968 - acc: 0.5217 Epoch 93/400 - 0s - loss: 1.5852 - acc: 0.5217 Epoch 94/400 - 0s - loss: 1.5742 - acc: 0.6087 Epoch 95/400 - 0s - loss: 1.5635 - acc: 0.5652 Epoch 96/400 - 0s - loss: 1.5514 - acc: 0.5652 Epoch 97/400 - 0s - loss: 1.5405 - acc: 0.5652 Epoch 98/400 - 0s - loss: 1.5270 - acc: 0.5217 Epoch 99/400 - 0s - loss: 1.5209 - acc: 0.5217 Epoch 100/400 - 0s - loss: 1.5163 - acc: 0.6957 Epoch 101/400 - 0s - loss: 1.5093 - acc: 0.6087 Epoch 102/400 - 0s - loss: 1.4896 - acc: 0.6957 Epoch 103/400 - 0s - loss: 1.4776 - acc: 0.7826 Epoch 104/400 - 0s - loss: 1.4710 - acc: 0.7391 Epoch 105/400 - 0s - loss: 1.4617 - acc: 0.7826 Epoch 106/400 - 0s - loss: 1.4568 - acc: 0.6522 Epoch 107/400 - 0s - loss: 1.4442 - acc: 0.6522 Epoch 108/400 - 0s - loss: 1.4396 - acc: 0.7391 Epoch 109/400 - 0s - loss: 1.4283 - acc: 0.7391 Epoch 110/400 - 0s - loss: 1.4145 - acc: 0.7391 Epoch 111/400 - 0s - loss: 1.4169 - acc: 0.7391 Epoch 112/400 - 0s - loss: 1.4035 - acc: 0.7391 Epoch 113/400 - 0s - loss: 1.3908 - acc: 0.7391 Epoch 114/400 - 0s - loss: 1.3863 - acc: 0.7826 Epoch 115/400 - 0s - loss: 1.3814 - acc: 0.7391 Epoch 116/400 - 0s - loss: 1.3707 - acc: 0.7391 Epoch 117/400 - 0s - loss: 1.3603 - acc: 0.6957 Epoch 118/400 - 0s - loss: 1.3497 - acc: 0.7826 Epoch 119/400 - 0s - loss: 1.3419 - acc: 0.8261 Epoch 120/400 - 0s - loss: 1.3315 - acc: 0.8261 Epoch 121/400 - 0s - loss: 1.3303 - acc: 0.8261 Epoch 122/400 - 0s - loss: 1.3214 - acc: 0.7826 Epoch 123/400 - 0s - loss: 1.3204 - acc: 0.7826 Epoch 124/400 - 0s - loss: 1.3095 - acc: 0.8261 Epoch 125/400 - 0s - loss: 1.2959 - acc: 0.8261 Epoch 126/400 - 0s - loss: 1.2962 - acc: 0.8261 Epoch 127/400 - 0s - loss: 1.2906 - acc: 0.8261 Epoch 128/400 - 0s - loss: 1.2773 - acc: 0.8261 Epoch 129/400 - 0s - loss: 1.2805 - acc: 0.7826 Epoch 130/400 - 0s - loss: 1.2671 - acc: 0.8261 Epoch 131/400 - 0s - loss: 1.2572 - acc: 0.8261 Epoch 132/400 - 0s - loss: 1.2569 - acc: 0.7391 Epoch 133/400 - 0s - loss: 1.2490 - acc: 0.8261 Epoch 134/400 - 0s - loss: 1.2431 - acc: 0.8261 Epoch 135/400 - 0s - loss: 1.2451 - acc: 0.7826 Epoch 136/400 - 0s - loss: 1.2360 - acc: 0.8261 Epoch 137/400 - 0s - loss: 1.2243 - acc: 0.7826 Epoch 138/400 - 0s - loss: 1.2185 - acc: 0.8261 Epoch 139/400 - 0s - loss: 1.2070 - acc: 0.8261 Epoch 140/400 - 0s - loss: 1.2030 - acc: 0.8261 Epoch 141/400 - 0s - loss: 1.2106 - acc: 0.7826 Epoch 142/400 - 0s - loss: 1.1976 - acc: 0.8261 Epoch 143/400 - 0s - loss: 1.1942 - acc: 0.8261 Epoch 144/400 - 0s - loss: 1.1801 - acc: 0.8261 Epoch 145/400 - 0s - loss: 1.1859 - acc: 0.7826 Epoch 146/400 - 0s - loss: 1.1736 - acc: 0.8261 Epoch 147/400 - 0s - loss: 1.1644 - acc: 0.8261 Epoch 148/400 - 0s - loss: 1.1569 - acc: 0.8696 Epoch 149/400 - 0s - loss: 1.1588 - acc: 0.7826 Epoch 150/400 - 0s - loss: 1.1498 - acc: 0.8696 Epoch 151/400 - 0s - loss: 1.1504 - acc: 0.7826 Epoch 152/400 - 0s - loss: 1.1447 - acc: 0.8261 Epoch 153/400 - 0s - loss: 1.1347 - acc: 0.8696 Epoch 154/400 - 0s - loss: 1.1288 - acc: 0.8696 Epoch 155/400 - 0s - loss: 1.1235 - acc: 0.8261 Epoch 156/400 - 0s - loss: 1.1091 - acc: 0.8696 Epoch 157/400 - 0s - loss: 1.1155 - acc: 0.8261 Epoch 158/400 - 0s - loss: 1.1097 - acc: 0.8261 Epoch 159/400 - 0s - loss: 1.0992 - acc: 0.8261 Epoch 160/400 - 0s - loss: 1.0899 - acc: 0.8261 Epoch 161/400 - 0s - loss: 1.0895 - acc: 0.8696 Epoch 162/400 - 0s - loss: 1.0875 - acc: 0.8261 Epoch 163/400 - 0s - loss: 1.0772 - acc: 0.8696 Epoch 164/400 - 0s - loss: 1.0677 - acc: 0.8261 Epoch 165/400 - 0s - loss: 1.0644 - acc: 0.9130 Epoch 166/400 - 0s - loss: 1.0645 - acc: 0.8261 Epoch 167/400 - 0s - loss: 1.0617 - acc: 0.8261 Epoch 168/400 - 0s - loss: 1.0484 - acc: 0.8261 Epoch 169/400 - 0s - loss: 1.0502 - acc: 0.8261 Epoch 170/400 - 0s - loss: 1.0411 - acc: 0.8696 Epoch 171/400 - 0s - loss: 1.0306 - acc: 0.8696 Epoch 172/400 - 0s - loss: 1.0271 - acc: 0.8261 Epoch 173/400 - 0s - loss: 1.0294 - acc: 0.8696 Epoch 174/400 - 0s - loss: 1.0222 - acc: 0.8261 Epoch 175/400 - 0s - loss: 1.0206 - acc: 0.9130 Epoch 176/400 - 0s - loss: 1.0145 - acc: 0.8696 Epoch 177/400 - 0s - loss: 1.0090 - acc: 0.8696 Epoch 178/400 - 0s - loss: 1.0061 - acc: 0.8696 Epoch 179/400 - 0s - loss: 0.9959 - acc: 0.8696 Epoch 180/400 - 0s - loss: 0.9953 - acc: 0.9130 Epoch 181/400 - 0s - loss: 0.9877 - acc: 0.9565 Epoch 182/400 - 0s - loss: 0.9771 - acc: 0.8696 Epoch 183/400 - 0s - loss: 0.9885 - acc: 0.8261 Epoch 184/400 - 0s - loss: 0.9736 - acc: 0.9130 Epoch 185/400 - 0s - loss: 0.9706 - acc: 0.8696 Epoch 186/400 - 0s - loss: 0.9676 - acc: 0.8261 Epoch 187/400 - 0s - loss: 0.9690 - acc: 0.9130 Epoch 188/400 - 0s - loss: 0.9636 - acc: 0.8696 Epoch 189/400 - 0s - loss: 0.9533 - acc: 0.8696 Epoch 190/400 - 0s - loss: 0.9408 - acc: 0.9130 Epoch 191/400 - 0s - loss: 0.9456 - acc: 0.9130 Epoch 192/400 - 0s - loss: 0.9384 - acc: 0.9130 Epoch 193/400 - 0s - loss: 0.9329 - acc: 0.9130 Epoch 194/400 - 0s - loss: 0.9313 - acc: 0.8261 Epoch 195/400 - 0s - loss: 0.9268 - acc: 0.9130 Epoch 196/400 - 0s - loss: 0.9243 - acc: 0.9130 Epoch 197/400 - 0s - loss: 0.9144 - acc: 0.9130 Epoch 198/400 - 0s - loss: 0.9066 - acc: 0.8696 Epoch 199/400 - 0s - loss: 0.9105 - acc: 0.9130 Epoch 200/400 - 0s - loss: 0.9049 - acc: 0.9130 Epoch 201/400 - 0s - loss: 0.8925 - acc: 0.9130 Epoch 202/400 - 0s - loss: 0.8928 - acc: 0.8696 Epoch 203/400 - 0s - loss: 0.8884 - acc: 0.9130 Epoch 204/400 - 0s - loss: 0.8841 - acc: 0.9130 Epoch 205/400 - 0s - loss: 0.8752 - acc: 0.9565 Epoch 206/400 - 0s - loss: 0.8936 - acc: 0.9130 Epoch 207/400 - 0s - loss: 0.8916 - acc: 0.8696 Epoch 208/400 - 0s - loss: 0.8705 - acc: 0.9130 Epoch 209/400 - 0s - loss: 0.8640 - acc: 0.8696 Epoch 210/400 - 0s - loss: 0.8658 - acc: 0.9130 Epoch 211/400 - 0s - loss: 0.8539 - acc: 0.9565 Epoch 212/400 - 0s - loss: 0.8498 - acc: 0.9130 Epoch 213/400 - 0s - loss: 0.8496 - acc: 0.8696 Epoch 214/400 - 0s - loss: 0.8467 - acc: 0.9130 Epoch 215/400 - 0s - loss: 0.8355 - acc: 0.9130 Epoch 216/400 - 0s - loss: 0.8331 - acc: 0.9130 Epoch 217/400 - 0s - loss: 0.8294 - acc: 0.8696 Epoch 218/400 - 0s - loss: 0.8259 - acc: 0.9565 Epoch 219/400 - 0s - loss: 0.8223 - acc: 0.9130 Epoch 220/400 - 0s - loss: 0.8151 - acc: 0.9130 Epoch 221/400 - 0s - loss: 0.8083 - acc: 0.9565 Epoch 222/400 - 0s - loss: 0.8009 - acc: 0.9565 Epoch 223/400 - 0s - loss: 0.8015 - acc: 0.9565 Epoch 224/400 - 0s - loss: 0.7964 - acc: 0.9565 Epoch 225/400 - 0s - loss: 0.7943 - acc: 0.9565 Epoch 226/400 - 0s - loss: 0.7917 - acc: 0.9565 Epoch 227/400 - 0s - loss: 0.7865 - acc: 0.9130 Epoch 228/400 - 0s - loss: 0.7819 - acc: 0.9130 Epoch 229/400 - 0s - loss: 0.7771 - acc: 0.9565 Epoch 230/400 - 0s - loss: 0.7750 - acc: 0.9565 Epoch 231/400 - 0s - loss: 0.7719 - acc: 0.9565 Epoch 232/400 - 0s - loss: 0.7717 - acc: 0.9130 Epoch 233/400 - 0s - loss: 0.7640 - acc: 0.9130 Epoch 234/400 - 0s - loss: 0.7645 - acc: 0.9565 Epoch 235/400 - 0s - loss: 0.7587 - acc: 0.9130 Epoch 236/400 - 0s - loss: 0.7560 - acc: 0.9130 Epoch 237/400 - 0s - loss: 0.7551 - acc: 0.9130 Epoch 238/400 - 0s - loss: 0.7517 - acc: 0.9565 Epoch 239/400 - 0s - loss: 0.7430 - acc: 0.9130 Epoch 240/400 - 0s - loss: 0.7325 - acc: 0.9130 Epoch 241/400 - 0s - loss: 0.7375 - acc: 0.9565 Epoch 242/400 - 0s - loss: 0.7300 - acc: 0.9130 Epoch 243/400 - 0s - loss: 0.7286 - acc: 0.9565 Epoch 244/400 - 0s - loss: 0.7351 - acc: 0.9565 Epoch 245/400 - 0s - loss: 0.7270 - acc: 0.9130 Epoch 246/400 - 0s - loss: 0.7139 - acc: 0.9130 Epoch 247/400 - 0s - loss: 0.7131 - acc: 0.9565 Epoch 248/400 - 0s - loss: 0.7085 - acc: 1.0000 Epoch 249/400 - 0s - loss: 0.7122 - acc: 0.9565 Epoch 250/400 - 0s - loss: 0.7044 - acc: 0.9565 Epoch 251/400 - 0s - loss: 0.6953 - acc: 0.9130 Epoch 252/400 - 0s - loss: 0.6932 - acc: 0.9130 Epoch 253/400 - 0s - loss: 0.6996 - acc: 0.9565 Epoch 254/400 - 0s - loss: 0.6862 - acc: 0.9565 Epoch 255/400 - 0s - loss: 0.6840 - acc: 0.9130 Epoch 256/400 - 0s - loss: 0.6803 - acc: 0.9565 Epoch 257/400 - 0s - loss: 0.6814 - acc: 0.9130 Epoch 258/400 - 0s - loss: 0.6769 - acc: 0.9565 Epoch 259/400 - 0s - loss: 0.6675 - acc: 0.9565 Epoch 260/400 - 0s - loss: 0.6684 - acc: 0.9130 Epoch 261/400 - 0s - loss: 0.6612 - acc: 0.9130 Epoch 262/400 - 0s - loss: 0.6633 - acc: 0.9130 Epoch 263/400 - 0s - loss: 0.6706 - acc: 0.9130 Epoch 264/400 - 0s - loss: 0.6574 - acc: 0.9130 Epoch 265/400 - 0s - loss: 0.6457 - acc: 0.9565 Epoch 266/400 - 0s - loss: 0.6468 - acc: 0.9130 Epoch 267/400 - 0s - loss: 0.6385 - acc: 0.9565 Epoch 268/400 - 0s - loss: 0.6369 - acc: 0.9130 Epoch 269/400 - 0s - loss: 0.6356 - acc: 0.9565 Epoch 270/400 - 0s - loss: 0.6371 - acc: 0.9130 Epoch 271/400 - 0s - loss: 0.6307 - acc: 0.9565 Epoch 272/400 - 0s - loss: 0.6243 - acc: 0.9565 Epoch 273/400 - 0s - loss: 0.6200 - acc: 0.9565 Epoch 274/400 - 0s - loss: 0.6197 - acc: 0.9565 Epoch 275/400 - 0s - loss: 0.6136 - acc: 0.9130 Epoch 276/400 - 0s - loss: 0.6122 - acc: 0.9565 Epoch 277/400 - 0s - loss: 0.6116 - acc: 0.9565 Epoch 278/400 - 0s - loss: 0.6041 - acc: 0.9130 Epoch 279/400 - 0s - loss: 0.6046 - acc: 0.9565 Epoch 280/400 - 0s - loss: 0.6050 - acc: 0.9565 Epoch 281/400 - 0s - loss: 0.5963 - acc: 0.9130 Epoch 282/400 - 0s - loss: 0.5968 - acc: 0.9565 Epoch 283/400 - 0s - loss: 0.5985 - acc: 0.9565 Epoch 284/400 - 0s - loss: 0.5922 - acc: 1.0000 Epoch 285/400 - 0s - loss: 0.5830 - acc: 0.9565 Epoch 286/400 - 0s - loss: 0.5825 - acc: 0.9130 Epoch 287/400 - 0s - loss: 0.5790 - acc: 0.9565 Epoch 288/400 - 0s - loss: 0.5804 - acc: 0.9565 Epoch 289/400 - 0s - loss: 0.5810 - acc: 0.9565 Epoch 290/400 - 0s - loss: 0.5758 - acc: 1.0000 Epoch 291/400 - 0s - loss: 0.5696 - acc: 1.0000 Epoch 292/400 - 0s - loss: 0.5714 - acc: 0.9565 Epoch 293/400 - 0s - loss: 0.5624 - acc: 0.9565 Epoch 294/400 - 0s - loss: 0.5566 - acc: 0.9565 Epoch 295/400 - 0s - loss: 0.5622 - acc: 0.9565 Epoch 296/400 - 0s - loss: 0.5514 - acc: 0.9565 Epoch 297/400 - 0s - loss: 0.5519 - acc: 0.9565 Epoch 298/400 - 0s - loss: 0.5484 - acc: 1.0000 Epoch 299/400 - 0s - loss: 0.5452 - acc: 0.9565 Epoch 300/400 - 0s - loss: 0.5409 - acc: 0.9565 Epoch 301/400 - 0s - loss: 0.5519 - acc: 0.9565 Epoch 302/400 - 0s - loss: 0.5420 - acc: 1.0000 Epoch 303/400 - 0s - loss: 0.5346 - acc: 0.9565 Epoch 304/400 - 0s - loss: 0.5326 - acc: 0.9565 Epoch 305/400 - 0s - loss: 0.5259 - acc: 0.9565 Epoch 306/400 - 0s - loss: 0.5248 - acc: 0.9565 Epoch 307/400 - 0s - loss: 0.5199 - acc: 0.9565 Epoch 308/400 - 0s - loss: 0.5245 - acc: 0.9130 Epoch 309/400 - 0s - loss: 0.5192 - acc: 1.0000 Epoch 310/400 - 0s - loss: 0.5156 - acc: 1.0000 Epoch 311/400 - 0s - loss: 0.5136 - acc: 0.9565 Epoch 312/400 - 0s - loss: 0.5186 - acc: 0.9565 Epoch 313/400 - 0s - loss: 0.5206 - acc: 0.9565 Epoch 314/400 - 0s - loss: 0.5092 - acc: 1.0000 Epoch 315/400 - 0s - loss: 0.5059 - acc: 0.9565 Epoch 316/400 - 0s - loss: 0.4982 - acc: 0.9565 Epoch 317/400 - 0s - loss: 0.4977 - acc: 0.9565 Epoch 318/400 - 0s - loss: 0.4960 - acc: 0.9565 Epoch 319/400 - 0s - loss: 0.4910 - acc: 1.0000 Epoch 320/400 - 0s - loss: 0.4931 - acc: 1.0000 Epoch 321/400 - 0s - loss: 0.4863 - acc: 0.9130 Epoch 322/400 - 0s - loss: 0.4866 - acc: 1.0000 Epoch 323/400 - 0s - loss: 0.4959 - acc: 0.9565 Epoch 324/400 - 0s - loss: 0.4806 - acc: 0.9565 Epoch 325/400 - 0s - loss: 0.4809 - acc: 0.9565 Epoch 326/400 - 0s - loss: 0.4782 - acc: 0.9565 Epoch 327/400 - 0s - loss: 0.4692 - acc: 1.0000 Epoch 328/400 - 0s - loss: 0.5000 - acc: 0.9565 Epoch 329/400 - 0s - loss: 0.4832 - acc: 0.9565 Epoch 330/400 - 0s - loss: 0.4721 - acc: 0.9130 Epoch 331/400 - 0s - loss: 0.4649 - acc: 0.9565 Epoch 332/400 - 0s - loss: 0.4592 - acc: 1.0000 Epoch 333/400 - 0s - loss: 0.4728 - acc: 0.9565 Epoch 334/400 - 0s - loss: 0.4618 - acc: 0.9130 Epoch 335/400 - 0s - loss: 0.4516 - acc: 0.9565 Epoch 336/400 - 0s - loss: 0.4550 - acc: 1.0000 Epoch 337/400 - 0s - loss: 0.4524 - acc: 0.9565 Epoch 338/400 - 0s - loss: 0.4431 - acc: 0.9565 Epoch 339/400 - 0s - loss: 0.4492 - acc: 0.9565 Epoch 340/400 - 0s - loss: 0.4527 - acc: 1.0000 Epoch 341/400 - 0s - loss: 0.4513 - acc: 1.0000 Epoch 342/400 - 0s - loss: 0.4388 - acc: 0.9565 Epoch 343/400 - 0s - loss: 0.4437 - acc: 1.0000 Epoch 344/400 - 0s - loss: 0.4433 - acc: 0.9565 Epoch 345/400 - 0s - loss: 0.4333 - acc: 0.9565 Epoch 346/400 - 0s - loss: 0.4239 - acc: 0.9565 Epoch 347/400 - 0s - loss: 0.4238 - acc: 0.9565 Epoch 348/400 - 0s - loss: 0.4242 - acc: 0.9565 Epoch 349/400 - 0s - loss: 0.4193 - acc: 0.9565 Epoch 350/400 - 0s - loss: 0.4190 - acc: 0.9565 Epoch 351/400 - 0s - loss: 0.4221 - acc: 1.0000 Epoch 352/400 - 0s - loss: 0.4175 - acc: 0.9565 Epoch 353/400 - 0s - loss: 0.4113 - acc: 1.0000 Epoch 354/400 - 0s - loss: 0.4133 - acc: 1.0000 Epoch 355/400 - 0s - loss: 0.4122 - acc: 0.9565 Epoch 356/400 - 0s - loss: 0.4116 - acc: 0.9565 Epoch 357/400 - 0s - loss: 0.4007 - acc: 1.0000 Epoch 358/400 - 0s - loss: 0.4061 - acc: 1.0000 Epoch 359/400 - 0s - loss: 0.4104 - acc: 1.0000 Epoch 360/400 - 0s - loss: 0.4053 - acc: 0.9565 Epoch 361/400 - 0s - loss: 0.4006 - acc: 1.0000 Epoch 362/400 - 0s - loss: 0.4021 - acc: 0.9565 Epoch 363/400 - 0s - loss: 0.4053 - acc: 1.0000 Epoch 364/400 - 0s - loss: 0.4031 - acc: 0.9565 Epoch 365/400 - 0s - loss: 0.3926 - acc: 0.9565 Epoch 366/400 - 0s - loss: 0.3862 - acc: 1.0000 Epoch 367/400 - 0s - loss: 0.3870 - acc: 0.9565 Epoch 368/400 - 0s - loss: 0.3828 - acc: 1.0000 Epoch 369/400 - 0s - loss: 0.3823 - acc: 1.0000 Epoch 370/400 - 0s - loss: 0.3815 - acc: 0.9565 Epoch 371/400 - 0s - loss: 0.3824 - acc: 0.9565 Epoch 372/400 - 0s - loss: 0.3774 - acc: 1.0000 Epoch 373/400 - 0s - loss: 0.3785 - acc: 1.0000 Epoch 374/400 - 0s - loss: 0.3750 - acc: 1.0000 Epoch 375/400 - 0s - loss: 0.3708 - acc: 0.9565 Epoch 376/400 - 0s - loss: 0.3704 - acc: 1.0000 Epoch 377/400 - 0s - loss: 0.3674 - acc: 1.0000 Epoch 378/400 - 0s - loss: 0.3694 - acc: 1.0000 Epoch 379/400 - 0s - loss: 0.3659 - acc: 0.9130 Epoch 380/400 - 0s - loss: 0.3635 - acc: 0.9565 Epoch 381/400 - 0s - loss: 0.3618 - acc: 1.0000 Epoch 382/400 - 0s - loss: 0.3626 - acc: 1.0000 Epoch 383/400 - 0s - loss: 0.3640 - acc: 1.0000 Epoch 384/400 - 0s - loss: 0.3574 - acc: 1.0000 Epoch 385/400 - 0s - loss: 0.3545 - acc: 0.9565 Epoch 386/400 - 0s - loss: 0.3528 - acc: 1.0000 Epoch 387/400 - 0s - loss: 0.3523 - acc: 1.0000 Epoch 388/400 - 0s - loss: 0.3637 - acc: 1.0000 Epoch 389/400 - 0s - loss: 0.3558 - acc: 1.0000 Epoch 390/400 - 0s - loss: 0.3469 - acc: 1.0000 Epoch 391/400 - 0s - loss: 0.3511 - acc: 1.0000 Epoch 392/400 - 0s - loss: 0.3505 - acc: 0.9565 Epoch 393/400 - 0s - loss: 0.3482 - acc: 0.9565 Epoch 394/400 - 0s - loss: 0.3388 - acc: 0.9565 Epoch 395/400 - 0s - loss: 0.3394 - acc: 1.0000 Epoch 396/400 - 0s - loss: 0.3366 - acc: 1.0000 Epoch 397/400 - 0s - loss: 0.3406 - acc: 1.0000 Epoch 398/400 - 0s - loss: 0.3355 - acc: 1.0000 Epoch 399/400 - 0s - loss: 0.3355 - acc: 0.9565 Epoch 400/400 - 0s - loss: 0.3351 - acc: 0.9565 23/23 [==============================] - 0s 4ms/step Model Accuracy: 95.65% (['W', 'B', 'C'], '->', 'Z') (['W', 'K', 'L'], '->', 'Z') (['W', 'T', 'U'], '->', 'Z') (['D', 'W', 'F'], '->', 'I') (['M', 'W', 'O'], '->', 'Q') (['V', 'W', 'W'], '->', 'Z') (['G', 'H', 'W'], '->', 'J') (['J', 'K', 'W'], '->', 'M') (['P', 'Q', 'W'], '->', 'S')