Train on 14725 samples, validate on 1637 samples
Epoch 1/13
14725/14725 [==============================] - 18s - loss: 3.1623 - val_loss: 3.9301
Epoch 2/13
14725/14725 [==============================] - 15s - loss: 2.4849 - val_loss: 3.2724
Epoch 3/13
14725/14725 [==============================] - 15s - loss: 2.2303 - val_loss: 2.7735
Epoch 4/13
14725/14725 [==============================] - 15s - loss: 2.0664 - val_loss: 2.3324
Epoch 5/13
14725/14725 [==============================] - 15s - loss: 1.9487 - val_loss: 2.0202
Epoch 6/13
14725/14725 [==============================] - 15s - loss: 1.8679 - val_loss: 1.9499
Epoch 7/13
14725/14725 [==============================] - 15s - loss: 1.7817 - val_loss: 1.9287
Epoch 8/13
14725/14725 [==============================] - 15s - loss: 1.6960 - val_loss: 1.9165
Epoch 9/13
14725/14725 [==============================] - 15s - loss: 1.6509 - val_loss: 1.9007
Epoch 10/13
14725/14725 [==============================] - 15s - loss: 1.5811 - val_loss: 1.8963
Epoch 11/13
14725/14725 [==============================] - 15s - loss: 1.5102 - val_loss: 1.8982
Epoch 12/13
14725/14725 [==============================] - 15s - loss: 1.4347 - val_loss: 1.9258
Epoch 13/13
14725/14725 [==============================] - 15s - loss: 1.3818 - val_loss: 1.9303
Out[37]:
"\nLSTM, BatchNorm\nTrain on 14929 samples, validate on 1659 samples\nEpoch 1/5\n14929/14929 [==============================] - 75s - loss: 3.0403 - val_loss: 3.4757\nEpoch 2/5\n14929/14929 [==============================] - 60s - loss: 2.3156 - val_loss: 2.9687\n\nLSTM\nTrain on 14929 samples, validate on 1659 samples\nEpoch 1/5\n14929/14929 [==============================] - 75s - loss: 3.1259 - val_loss: 2.7865\nEpoch 2/5\n14929/14929 [==============================] - 60s - loss: 2.6150 - val_loss: 2.3894\n\nCNN(5), LSTM # faster, needs more epochs\nTrain on 14929 samples, validate on 1659 samples\nEpoch 1/5\n14929/14929 [==============================] - 42s - loss: 3.1579 - val_loss: 2.9987\nEpoch 2/5\n14929/14929 [==============================] - 26s - loss: 2.8874 - val_loss: 2.6994\nEpoch 3/5\n14929/14929 [==============================] - 26s - loss: 2.6220 - val_loss: 2.4879\nEpoch 4/5\n14929/14929 [==============================] - 26s - loss: 2.4309 - val_loss: 2.3942\nEpoch 5/5\n14929/14929 [==============================] - 26s - loss: 2.2950 - val_loss: 2.2902\n\nCNN(5), CNN(3), LSTM doesn't drop below 3.0 in 5 epochs\n\n\nEmbedding, BatchNorm, GRU, BatchNorm\nTrain on 14725 samples, validate on 1637 samples\nEpoch 1/20\n14725/14725 [==============================] - 16s - loss: 2.9240 - val_loss: 3.9516\nEpoch 2/20\n14725/14725 [==============================] - 15s - loss: 2.2447 - val_loss: 3.3667\nEpoch 3/20\n14725/14725 [==============================] - 15s - loss: 2.0054 - val_loss: 2.8011\nEpoch 4/20\n14725/14725 [==============================] - 15s - loss: 1.8388 - val_loss: 2.3477\nEpoch 5/20\n14725/14725 [==============================] - 15s - loss: 1.7122 - val_loss: 2.0196\nEpoch 6/20\n14725/14725 [==============================] - 15s - loss: 1.6069 - val_loss: 1.9417\nEpoch 7/20\n14725/14725 [==============================] - 15s - loss: 1.5044 - val_loss: 1.9541\nEpoch 8/20\n14725/14725 [==============================] - 15s - loss: 1.3987 - val_loss: 1.9512\nEpoch 9/20\n14725/14725 [==============================] - 15s - loss: 1.2940 - val_loss: 1.9921\nEpoch 10/20\n14725/14725 [==============================] - 15s - loss: 1.1850 - val_loss: 2.0424\n\nTrain on 14725 samples, validate on 1637 samples\nEpoch 1/20\n14725/14725 [==============================] - 17s - loss: 3.2577 - val_loss: 3.8892\nEpoch 2/20\n14725/14725 [==============================] - 15s - loss: 2.5444 - val_loss: 3.2364\nEpoch 3/20\n14725/14725 [==============================] - 15s - loss: 2.2915 - val_loss: 2.7205\nEpoch 4/20\n14725/14725 [==============================] - 15s - loss: 2.1258 - val_loss: 2.3477\nEpoch 5/20\n14725/14725 [==============================] - 15s - loss: 2.0219 - val_loss: 2.0588\nEpoch 6/20\n14725/14725 [==============================] - 15s - loss: 1.9386 - val_loss: 1.9478\nEpoch 7/20\n14725/14725 [==============================] - 15s - loss: 1.8762 - val_loss: 1.9152\nEpoch 8/20\n14725/14725 [==============================] - 15s - loss: 1.7994 - val_loss: 1.9076\nEpoch 9/20\n14725/14725 [==============================] - 15s - loss: 1.7224 - val_loss: 1.8829\nEpoch 10/20\n14725/14725 [==============================] - 15s - loss: 1.6783 - val_loss: 1.9007\nEpoch 11/20\n14725/14725 [==============================] - 15s - loss: 1.6154 - val_loss: 1.8910\nEpoch 12/20\n14725/14725 [==============================] - 15s - loss: 1.5485 - val_loss: 1.8920\nEpoch 13/20\n14725/14725 [==============================] - 15s - loss: 1.4844 - val_loss: 1.9198\nEpoch 14/20\n14725/14725 [==============================] - 15s - loss: 1.4291 - val_loss: 1.9193\nEpoch 15/20\n14725/14725 [==============================] - 15s - loss: 1.3670 - val_loss: 1.9295\nEpoch 16/20\n14725/14725 [==============================] - 15s - loss: 1.3028 - val_loss: 1.9752\nEpoch 17/20\n14725/14725 [==============================] - 15s - loss: 1.2321 - val_loss: 1.9969\nEpoch 18/20\n14725/14725 [==============================] - 15s - loss: 1.2159 - val_loss: 2.0431\nEpoch 19/20\n14725/14725 [==============================] - 15s - loss: 1.1391 - val_loss: 2.0709\nEpoch 20/20\n14725/14725 [==============================] - 15s - loss: 1.1321 - val_loss: 2.1172\n\n\nmodel = Sequential()\nmodel.add(Embedding(input_dim=len(charset), output_dim=100))\nmodel.add(BatchNormalization())\nmodel.add(GRU(256))\nmodel.add(Dropout(0.5))\nmodel.add(BatchNormalization())\nmodel.add(Dense(y.shape[1], activation='softmax'))\nmodel.compile(loss='categorical_crossentropy', optimizer='adam')\nmodel.fit(X, y, epochs=20, batch_size=128, validation_split=0.1)\nTrain on 14725 samples, validate on 1637 samples\nEpoch 1/20\n14725/14725 [==============================] - 17s - loss: 3.2577 - val_loss: 3.8892\nEpoch 2/20\n14725/14725 [==============================] - 15s - loss: 2.5444 - val_loss: 3.2364\nEpoch 3/20\n14725/14725 [==============================] - 15s - loss: 2.2915 - val_loss: 2.7205\nEpoch 4/20\n14725/14725 [==============================] - 15s - loss: 2.1258 - val_loss: 2.3477\nEpoch 5/20\n14725/14725 [==============================] - 15s - loss: 2.0219 - val_loss: 2.0588\nEpoch 6/20\n14725/14725 [==============================] - 15s - loss: 1.9386 - val_loss: 1.9478\nEpoch 7/20\n14725/14725 [==============================] - 15s - loss: 1.8762 - val_loss: 1.9152\nEpoch 8/20\n14725/14725 [==============================] - 15s - loss: 1.7994 - val_loss: 1.9076\nEpoch 9/20\n14725/14725 [==============================] - 15s - loss: 1.7224 - val_loss: 1.8829\nEpoch 10/20\n14725/14725 [==============================] - 15s - loss: 1.6783 - val_loss: 1.9007\nEpoch 11/20\n14725/14725 [==============================] - 15s - loss: 1.6154 - val_loss: 1.8910\nEpoch 12/20\n14725/14725 [==============================] - 15s - loss: 1.5485 - val_loss: 1.8920\nEpoch 13/20\n14725/14725 [==============================] - 15s - loss: 1.4844 - val_loss: 1.9198\nEpoch 14/20\n14725/14725 [==============================] - 15s - loss: 1.4291 - val_loss: 1.9193\nEpoch 15/20\n14725/14725 [==============================] - 15s - loss: 1.3670 - val_loss: 1.9295\nEpoch 16/20\n14725/14725 [==============================] - 15s - loss: 1.3028 - val_loss: 1.9752\nEpoch 17/20\n14725/14725 [==============================] - 15s - loss: 1.2321 - val_loss: 1.9969\nEpoch 18/20\n14725/14725 [==============================] - 15s - loss: 1.2159 - val_loss: 2.0431\nEpoch 19/20\n14725/14725 [==============================] - 15s - loss: 1.1391 - val_loss: 2.0709\nEpoch 20/20\n14725/14725 [==============================] - 15s - loss: 1.1321 - val_loss: 2.1172\n\n\nmodel = Sequential()\nmodel.add(Embedding(input_dim=len(charset), output_dim=100))\nmodel.add(GRU(256))\nmodel.add(BatchNormalization())\nmodel.add(Dropout(0.5))\nmodel.add(Dense(y.shape[1], activation='softmax'))\nmodel.compile(loss='categorical_crossentropy', optimizer='adam')\nmodel.fit(X, y, epochs=20, batch_size=128, validation_split=0.1)\nTrain on 14725 samples, validate on 1637 samples\nEpoch 1/20\n14725/14725 [==============================] - 16s - loss: 3.1731 - val_loss: 3.5648\nEpoch 2/20\n14725/14725 [==============================] - 14s - loss: 2.4964 - val_loss: 2.9875\nEpoch 3/20\n14725/14725 [==============================] - 14s - loss: 2.3446 - val_loss: 2.7695\nEpoch 4/20\n14725/14725 [==============================] - 14s - loss: 2.2928 - val_loss: 2.6010\nEpoch 5/20\n14725/14725 [==============================] - 14s - loss: 2.2642 - val_loss: 2.3900\nEpoch 6/20\n14725/14725 [==============================] - 14s - loss: 2.2373 - val_loss: 2.5023\nEpoch 7/20\n14725/14725 [==============================] - 14s - loss: 2.2186 - val_loss: 2.3780\nEpoch 8/20\n14725/14725 [==============================] - 14s - loss: 2.2029 - val_loss: 2.4928\nEpoch 9/20\n14725/14725 [==============================] - 14s - loss: 2.1852 - val_loss: 2.3480\nEpoch 10/20\n14725/14725 [==============================] - 14s - loss: 2.1745 - val_loss: 2.4801\nEpoch 11/20\n14725/14725 [==============================] - 14s - loss: 2.1563 - val_loss: 2.3951\nEpoch 12/20\n14725/14725 [==============================] - 14s - loss: 2.1391 - val_loss: 2.4133\nEpoch 13/20\n14725/14725 [==============================] - 14s - loss: 2.1192 - val_loss: 2.5896\nEpoch 14/20\n14725/14725 [==============================] - 14s - loss: 2.1020 - val_loss: 2.2692\nEpoch 15/20\n14725/14725 [==============================] - 14s - loss: 2.0770 - val_loss: 2.2179\nEpoch 16/20\n14725/14725 [==============================] - 14s - loss: 2.0643 - val_loss: 2.2822\nEpoch 17/20\n 6784/14725 [============>.................] - ETA: 7s - loss: 2.0302\n\n\nmodel = Sequential()\nmodel.add(Embedding(input_dim=len(charset), output_dim=100))\nmodel.add(Dropout(0.2))\nmodel.add(BatchNormalization())\nmodel.add(GRU(256))\nmodel.add(Dropout(0.2))\nmodel.add(BatchNormalization())\nmodel.add(Dense(y.shape[1], activation='softmax'))\nmodel.compile(loss='categorical_crossentropy', optimizer='adam')\nmodel.fit(X, y, epochs=20, batch_size=128, validation_split=0.1)\nTrain on 14725 samples, validate on 1637 samples\nEpoch 1/20\n14725/14725 [==============================] - 17s - loss: 3.1528 - val_loss: 3.9042\nEpoch 2/20\n14725/14725 [==============================] - 15s - loss: 2.4658 - val_loss: 3.2093\nEpoch 3/20\n14725/14725 [==============================] - 15s - loss: 2.2001 - val_loss: 2.6764\nEpoch 4/20\n14725/14725 [==============================] - 15s - loss: 2.0358 - val_loss: 2.2919\nEpoch 5/20\n14725/14725 [==============================] - 15s - loss: 1.9497 - val_loss: 2.0060\nEpoch 6/20\n14725/14725 [==============================] - 15s - loss: 1.8588 - val_loss: 1.9313\nEpoch 7/20\n14725/14725 [==============================] - 15s - loss: 1.7883 - val_loss: 1.9153\nEpoch 8/20\n14725/14725 [==============================] - 15s - loss: 1.7034 - val_loss: 1.9145\nEpoch 9/20\n14725/14725 [==============================] - 15s - loss: 1.6382 - val_loss: 1.8979\nEpoch 10/20\n14725/14725 [==============================] - 15s - loss: 1.5827 - val_loss: 1.8864\nEpoch 11/20\n14725/14725 [==============================] - 15s - loss: 1.5093 - val_loss: 1.8967\nEpoch 12/20\n14725/14725 [==============================] - 15s - loss: 1.4472 - val_loss: 1.9040\nEpoch 13/20\n14725/14725 [==============================] - 15s - loss: 1.3809 - val_loss: 1.9227\nEpoch 14/20\n14725/14725 [==============================] - 15s - loss: 1.3225 - val_loss: 1.9469\nEpoch 15/20\n14725/14725 [==============================] - 15s - loss: 1.2516 - val_loss: 1.9862\nEpoch 16/20\n14725/14725 [==============================] - 15s - loss: 1.2094 - val_loss: 1.9963\nEpoch 17/20\n14725/14725 [==============================] - 15s - loss: 1.1658 - val_loss: 2.0331\nEpoch 18/20\n14725/14725 [==============================] - 15s - loss: 1.0851 - val_loss: 2.0452\nEpoch 19/20\n14725/14725 [==============================] - 15s - loss: 1.0394 - val_loss: 2.0810\nEpoch 20/20\n14725/14725 [==============================] - 15s - loss: 0.9903 - val_loss: 2.1283\n\n\nmodel = Sequential()\nmodel.add(Embedding(input_dim=len(charset), output_dim=100))\nmodel.add(Dropout(0.3))\nmodel.add(BatchNormalization())\nmodel.add(GRU(256))\nmodel.add(Dropout(0.3))\nmodel.add(BatchNormalization())\nmodel.add(Dense(y.shape[1], activation='softmax'))\nmodel.compile(loss='categorical_crossentropy', optimizer='adam')\nmodel.fit(X, y, epochs=20, batch_size=128, validation_split=0.1)\nTrain on 14725 samples, validate on 1637 samples\nEpoch 1/20\n14725/14725 [==============================] - 17s - loss: 3.2991 - val_loss: 3.8902\nEpoch 2/20\n14725/14725 [==============================] - 15s - loss: 2.5672 - val_loss: 3.1627\nEpoch 3/20\n14725/14725 [==============================] - 15s - loss: 2.2731 - val_loss: 2.6340\nEpoch 4/20\n14725/14725 [==============================] - 15s - loss: 2.1316 - val_loss: 2.2594\nEpoch 5/20\n14725/14725 [==============================] - 15s - loss: 2.0249 - val_loss: 2.0159\nEpoch 6/20\n14725/14725 [==============================] - 15s - loss: 1.9571 - val_loss: 1.9456\nEpoch 7/20\n14725/14725 [==============================] - 15s - loss: 1.8789 - val_loss: 1.9213\nEpoch 8/20\n14725/14725 [==============================] - 15s - loss: 1.8233 - val_loss: 1.8924\nEpoch 9/20\n14725/14725 [==============================] - 15s - loss: 1.7575 - val_loss: 1.8987\n\n\n\nmodel = Sequential()\nmodel.add(Embedding(input_dim=len(charset), output_dim=100))\nmodel.add(Dropout(0.5))\nmodel.add(BatchNormalization())\nmodel.add(GRU(256))\nmodel.add(Dropout(0.5))\nmodel.add(BatchNormalization())\nmodel.add(Dense(y.shape[1], activation='softmax'))\nmodel.compile(loss='categorical_crossentropy', optimizer='adam')\nmodel.fit(X, y, epochs=20, batch_size=128, validation_split=0.1)\nTrain on 14725 samples, validate on 1637 samples\nEpoch 1/20\n14725/14725 [==============================] - 17s - loss: 3.6036 - val_loss: 3.7924\nEpoch 2/20\n14725/14725 [==============================] - 15s - loss: 2.7765 - val_loss: 3.0022\nEpoch 3/20\n14725/14725 [==============================] - 15s - loss: 2.4773 - val_loss: 2.5697\nEpoch 4/20\n14725/14725 [==============================] - 15s - loss: 2.3218 - val_loss: 2.2606\nEpoch 5/20\n14725/14725 [==============================] - 15s - loss: 2.2328 - val_loss: 2.0832\nEpoch 6/20\n14725/14725 [==============================] - 15s - loss: 2.1748 - val_loss: 2.0248\nEpoch 7/20\n14725/14725 [==============================] - 15s - loss: 2.1174 - val_loss: 1.9865\nEpoch 8/20\n14725/14725 [==============================] - 15s - loss: 2.0617 - val_loss: 1.9640\nEpoch 9/20\n14725/14725 [==============================] - 15s - loss: 2.0206 - val_loss: 1.9461\nEpoch 10/20\n14725/14725 [==============================] - 15s - loss: 1.9758 - val_loss: 1.9334\nEpoch 11/20\n14725/14725 [==============================] - 15s - loss: 1.9546 - val_loss: 1.9148\nEpoch 12/20\n14725/14725 [==============================] - 15s - loss: 1.9045 - val_loss: 1.9121\nEpoch 13/20\n14725/14725 [==============================] - 15s - loss: 1.8757 - val_loss: 1.8888\nEpoch 14/20\n14725/14725 [==============================] - 15s - loss: 1.8437 - val_loss: 1.8874\nEpoch 15/20\n14725/14725 [==============================] - 15s - loss: 1.8145 - val_loss: 1.8822\nEpoch 16/20\n14725/14725 [==============================] - 15s - loss: 1.7805 - val_loss: 1.8785\nEpoch 17/20\n14725/14725 [==============================] - 15s - loss: 1.7558 - val_loss: 1.8868\nEpoch 18/20\n14725/14725 [==============================] - 15s - loss: 1.7218 - val_loss: 1.8670\nEpoch 19/20\n14725/14725 [==============================] - 15s - loss: 1.7032 - val_loss: 1.8759\nEpoch 20/20\n14725/14725 [==============================] - 15s - loss: 1.6832 - val_loss: 1.8834\n\n\nmodel = Sequential()\nmodel.add(Embedding(input_dim=len(charset), output_dim=100))\nmodel.add(Dropout(0.5))\nmodel.add(BatchNormalization())\nmodel.add(GRU(256, return_sequences=True))\nmodel.add(Dropout(0.5))\nmodel.add(BatchNormalization())\nmodel.add(GRU(256))\nmodel.add(Dropout(0.5))\nmodel.add(BatchNormalization())\nmodel.add(Dense(y.shape[1], activation='softmax'))\nmodel.compile(loss='categorical_crossentropy', optimizer='adam')\nmodel.fit(X, y, epochs=20, batch_size=128, validation_split=0.1)\nTrain on 14725 samples, validate on 1637 samples\nEpoch 1/20\n14725/14725 [==============================] - 33s - loss: 3.7814 - val_loss: 3.7282\nEpoch 2/20\n14725/14725 [==============================] - 29s - loss: 2.8453 - val_loss: 2.8542\nEpoch 3/20\n14725/14725 [==============================] - 29s - loss: 2.5178 - val_loss: 2.4434\nEpoch 4/20\n14725/14725 [==============================] - 29s - loss: 2.3762 - val_loss: 2.1894\nEpoch 5/20\n14725/14725 [==============================] - 29s - loss: 2.2896 - val_loss: 2.0862\nEpoch 6/20\n14725/14725 [==============================] - 29s - loss: 2.2254 - val_loss: 2.0516\nEpoch 7/20\n14725/14725 [==============================] - 29s - loss: 2.1565 - val_loss: 2.0133\nEpoch 8/20\n14725/14725 [==============================] - 29s - loss: 2.1132 - val_loss: 1.9992\nEpoch 9/20\n14725/14725 [==============================] - 29s - loss: 2.0798 - val_loss: 1.9881\nEpoch 10/20\n14725/14725 [==============================] - 29s - loss: 2.0509 - val_loss: 1.9784\nEpoch 11/20\n14725/14725 [==============================] - 29s - loss: 2.0198 - val_loss: 1.9618\nEpoch 12/20\n14725/14725 [==============================] - 29s - loss: 1.9822 - val_loss: 1.9383\nEpoch 13/20\n14725/14725 [==============================] - 29s - loss: 1.9437 - val_loss: 1.9300\nEpoch 14/20\n14725/14725 [==============================] - 29s - loss: 1.9198 - val_loss: 1.9163\nEpoch 15/20\n14725/14725 [==============================] - 29s - loss: 1.8989 - val_loss: 1.9160\nEpoch 16/20\n14725/14725 [==============================] - 29s - loss: 1.8866 - val_loss: 1.9085\nEpoch 17/20\n14725/14725 [==============================] - 29s - loss: 1.8493 - val_loss: 1.8965\nEpoch 18/20\n14725/14725 [==============================] - 29s - loss: 1.8248 - val_loss: 1.8878\nEpoch 19/20\n14725/14725 [==============================] - 29s - loss: 1.8037 - val_loss: 1.8870\nEpoch 20/20\n14725/14725 [==============================] - 29s - loss: 1.7724 - val_loss: 1.8862\n\n\nmodel = Sequential()\nmodel.add(Embedding(input_dim=len(charset), output_dim=100))\nmodel.add(Dropout(0.2))\nmodel.add(BatchNormalization())\nmodel.add(GRU(256, return_sequences=True))\nmodel.add(Dropout(0.2))\nmodel.add(BatchNormalization())\nmodel.add(GRU(256))\nmodel.add(Dropout(0.2))\nmodel.add(BatchNormalization())\nmodel.add(Dense(y.shape[1], activation='softmax'))\nmodel.compile(loss='categorical_crossentropy', optimizer='adam')\nmodel.fit(X, y, epochs=20, batch_size=128, validation_split=0.1)\nTrain on 14725 samples, validate on 1637 samples\nEpoch 1/20\n14725/14725 [==============================] - 32s - loss: 3.2809 - val_loss: 3.7595\nEpoch 2/20\n14725/14725 [==============================] - 29s - loss: 2.4379 - val_loss: 2.9869\nEpoch 3/20\n14725/14725 [==============================] - 29s - loss: 2.1504 - val_loss: 2.5361\nEpoch 4/20\n14725/14725 [==============================] - 29s - loss: 1.9887 - val_loss: 2.1294\nEpoch 5/20\n14725/14725 [==============================] - 29s - loss: 1.8984 - val_loss: 1.9727\nEpoch 6/20\n14725/14725 [==============================] - 29s - loss: 1.7892 - val_loss: 1.9264\nEpoch 7/20\n14725/14725 [==============================] - 29s - loss: 1.7172 - val_loss: 1.9100\nEpoch 8/20\n14725/14725 [==============================] - 29s - loss: 1.6361 - val_loss: 1.9124\nEpoch 9/20\n14725/14725 [==============================] - 29s - loss: 1.5621 - val_loss: 1.9122\nEpoch 10/20\n14725/14725 [==============================] - 29s - loss: 1.4863 - val_loss: 1.9045\nEpoch 11/20\n14725/14725 [==============================] - 29s - loss: 1.4150 - val_loss: 1.9278\nEpoch 12/20\n14725/14725 [==============================] - 29s - loss: 1.3691 - val_loss: 1.9181\nEpoch 13/20\n14725/14725 [==============================] - 29s - loss: 1.2970 - val_loss: 1.9414\nEpoch 14/20\n 1536/14725 [==>...........................] - ETA: 25s - loss: 1.1475\n \n \n \nmodel = Sequential()\nmodel.add(Embedding(input_dim=len(charset), output_dim=100))\nmodel.add(BatchNormalization())\nmodel.add(GRU(256))\nmodel.add(Dropout(0.4))\nmodel.add(BatchNormalization())\nmodel.add(Dense(y.shape[1], activation='softmax'))\nmodel.compile(loss='categorical_crossentropy', optimizer='adam')\nmodel.fit(X, y, epochs=20, batch_size=128, validation_split=0.1)\n Train on 14725 samples, validate on 1637 samples\nEpoch 1/20\n14725/14725 [==============================] - 17s - loss: 3.1787 - val_loss: 3.9282\nEpoch 2/20\n14725/14725 [==============================] - 15s - loss: 2.5070 - val_loss: 3.2479\nEpoch 3/20\n14725/14725 [==============================] - 15s - loss: 2.2191 - val_loss: 2.7522\nEpoch 4/20\n14725/14725 [==============================] - 15s - loss: 2.0637 - val_loss: 2.3331\nEpoch 5/20\n14725/14725 [==============================] - 15s - loss: 1.9539 - val_loss: 2.0326\nEpoch 6/20\n14725/14725 [==============================] - 15s - loss: 1.8622 - val_loss: 1.9440\nEpoch 7/20\n14725/14725 [==============================] - 15s - loss: 1.7821 - val_loss: 1.9166\nEpoch 8/20\n14725/14725 [==============================] - 15s - loss: 1.7169 - val_loss: 1.8996\nEpoch 9/20\n14725/14725 [==============================] - 15s - loss: 1.6561 - val_loss: 1.8849\nEpoch 10/20\n14725/14725 [==============================] - 15s - loss: 1.5910 - val_loss: 1.9032\nEpoch 11/20\n14725/14725 [==============================] - 15s - loss: 1.5082 - val_loss: 1.8878\nEpoch 12/20\n14725/14725 [==============================] - 15s - loss: 1.4513 - val_loss: 1.9252\nEpoch 13/20\n 7552/14725 [==============>...............] - ETA: 7s - loss: 1.3534\n \n \nmodel = Sequential()\nmodel.add(Embedding(input_dim=len(charset), output_dim=100))\nmodel.add(BatchNormalization())\nmodel.add(GRU(512))\nmodel.add(Dropout(0.4))\nmodel.add(BatchNormalization())\nmodel.add(Dense(y.shape[1], activation='softmax'))\nmodel.compile(loss='categorical_crossentropy', optimizer='adam')\nmodel.fit(X, y, epochs=20, batch_size=128, validation_split=0.1)\n Train on 14725 samples, validate on 1637 samples\nEpoch 1/20\n14725/14725 [==============================] - 23s - loss: 3.1173 - val_loss: 3.8415\nEpoch 2/20\n14725/14725 [==============================] - 20s - loss: 2.4202 - val_loss: 3.1512\nEpoch 3/20\n14725/14725 [==============================] - 20s - loss: 2.1302 - val_loss: 2.7191\nEpoch 4/20\n14725/14725 [==============================] - 20s - loss: 1.9435 - val_loss: 2.3341\nEpoch 5/20\n14725/14725 [==============================] - 20s - loss: 1.7966 - val_loss: 1.9877\nEpoch 6/20\n14725/14725 [==============================] - 20s - loss: 1.6621 - val_loss: 1.9349\nEpoch 7/20\n14725/14725 [==============================] - 20s - loss: 1.5190 - val_loss: 1.9632\nEpoch 8/20\n14725/14725 [==============================] - 20s - loss: 1.3925 - val_loss: 1.9735\n"