diff --git a/notebooks/NLP_Project.ipynb b/notebooks/NLP_Project.ipynb index 4c320c2..12d395d 100644 --- a/notebooks/NLP_Project.ipynb +++ b/notebooks/NLP_Project.ipynb @@ -1419,7 +1419,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 31, "id": "ef60ffda", "metadata": {}, "outputs": [], @@ -1437,17 +1437,17 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 33, "id": "e1a484f8", "metadata": {}, "outputs": [], "source": [ - "model = make_pipeline(CountVectorizer(), BernoulliNB())" + "BNB = make_pipeline(CountVectorizer(), BernoulliNB())" ] }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 34, "id": "22cacef4", "metadata": {}, "outputs": [ @@ -1460,10 +1460,12 @@ } ], "source": [ - "model.fit(X_train, y_train)\n", + "# Train and test the model\n", + "\n", + "BNB.fit(X_train, y_train)\n", "\n", "# Predict on the test set\n", - "y_pred = model.predict(X_test)\n", + "y_pred = BNB.predict(X_test)\n", "\n", "# Calculate accuracy\n", "f1 = f1_score(y_test, y_pred)\n", @@ -1472,7 +1474,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 35, "id": "402343ac-4814-47b6-a1c2-4d78fc7cfb0f", "metadata": {}, "outputs": [ @@ -1488,6 +1490,8 @@ } ], "source": [ + "# Print the Confusion Matrix\n", + "\n", "from sklearn.metrics import confusion_matrix, ConfusionMatrixDisplay\n", "\n", "conf_matrix = confusion_matrix(y_test, y_pred)\n", @@ -1497,235 +1501,1400 @@ "plt.show()" ] }, - { - "cell_type": "markdown", - "id": "33668bd6", - "metadata": {}, - "source": [ - "## Logistic Regression Model " - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "id": "5cdb826e", - "metadata": {}, - "outputs": [], - "source": [ - "vec = CountVectorizer()\n", - "X_train_1 = vec.fit_transform(X_train)\n", - "X_test_1 = vec.transform(X_test)" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "id": "f2d2185b", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "F1 Score: 0.6874343717185859\n" - ] - } - ], - "source": [ - "from sklearn.linear_model import LogisticRegression\n", - "from sklearn.metrics import classification_report\n", - "\n", - "lr = LogisticRegression(max_iter = 1000)\n", - "lr.fit(X_train_1, y_train)\n", - "y_pred_lr = lr.predict(X_test_1)\n", - "\n", - "f1 = f1_score(y_test, y_pred_lr)\n", - "print(\"F1 Score:\", f1)" - ] - }, { "cell_type": "code", - "execution_count": 23, - "id": "e762b3e7-4189-45b5-bd70-03c58185cb19", + "execution_count": 36, + "id": "33c83ddc-0b43-4810-bdb0-2df5f7179531", "metadata": {}, "outputs": [ { "data": { - "image/png": "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8I3XyX7atGnasWOHPvzwQ0VHR7v2Dxw4UK+88opfgwMAwH8sftiCk9eX3q1du1avvPKKrr76alks//7il19+ub7++mu/BgcAgN+Y+Dp7ryv748ePq2XLlmftr6iocEv+AADg4uB1sr/qqqv0j3/8w/X6TIJfvHix+vTp47/IAADwJxMv0PO6jT9r1izdeOON2r17t+rr6/X0008rPz9fn3zyiTZs2NAQMQIA4DsTP/XO68q+b9+++vjjj1VZWan27dvr3XffVUpKij755BNlZmY2RIwAAMAHF3Rv/G7dumn58uX+jgUAgAZj5kfcXlCydzgcWrNmjfbs2SOLxaLOnTtrxIgRiojguToAgIuUiVfje52dd+3apREjRqioqEgdO3aUJH355Zdq0aKF3njjDXXr1s3vQQIAgAvn9Zz9uHHj1KVLFxUUFOjzzz/X559/riNHjuiKK67Qvffe2xAxAgDguzML9HzZgpTXlf2OHTu0detWJSUlufYlJSVp5syZuuqqq/waHAAA/mIxTm++HB+svK7sO3bsqG+++eas/cXFxerQoYNfggIAwO9MfJ29R8nebre7tpycHE2cOFGvvfaaCgoKVFBQoNdee03Z2dmaPXt2Q8cLAAC85FEbv2nTpm63wjUMQ6NHj3btM767HmH48OFyOBwNECYAAD4y8U11PEr2H3zwQUPHAQBAw+LSu/+sX79+DR0HAABoIBd8F5zKykodPnxYtbW1bvuvuOIKn4MCAMDvqOw9d/z4cd111116++23z/k+c/YAgIuSiZO915feZWdnq6SkRJs3b1ZMTIzeeecdLV++XBkZGXrjjTcaIkYAAIJO27ZtZbFYztoeeOABSacXt8+YMUOpqamKiYlR//79lZ+f73aOmpoaTZgwQc2bN1dcXJxuvvlmFRQUeB2L18n+/fff17x583TVVVcpLCxMbdq00R133KE5c+Zo1qxZXgcAAECjaOQ76G3ZskWFhYWuLTc3V5L0i1/8QpI0Z84czZ07VwsXLtSWLVtks9k0aNAglZWVuc6RnZ2tNWvWaPXq1dq4caPKy8s1bNgwr7voXif7iooKtWzZUpKUnJys48ePSzr9JLzPP//c29MBANAoztxBz5dNcr/3jN1uV01NzTk/r0WLFrLZbK7tzTffVPv27dWvXz8ZhqH58+dr+vTpGjVqlLp27arly5er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L1+u999/X1OnTnUbU1lZqZkzZ2r58uX6+OOPZbfbdeutt7reX7dune644w5NnDhRu3fv1vPPP69ly5a5/qABcBEwgBA0duxYY8SIEa7Xn376qdGsWTNj9OjRhmEYxqOPPmpERkYaxcXFrjHvvfeekZCQYFRXV7udq3379sbzzz9vGIZh9OnTx7j//vvd3u/du7fRvXv3c3623W43rFarsXjx4nPGeeDAAUOSsW3bNrf9aWlpxqpVq9z2PfHEE0afPn0MwzCM559/3khOTjYqKipc7y9atOic5/q+Nm3aGPPmzTvv+6+++qrRrFkz1+ulS5cakozNmze79u3Zs8eQZHz66aeGYRjGtddea+Tk5LidZ8WKFUarVq1cryUZa9asOe/nAmhYzNkjZL355ptq0qSJ6uvrVVdXpxEjRmjBggWu99u0aaMWLVq4Xufl5am8vFzNmjVzO09VVZW+/vprSdKePXt0//33u73fp08fffDBB+eMYc+ePaqpqdGAAQM8jvv48eM6cuSIsrKydM8997j219fXu9YD7NmzR927d1dsbKxbHN764IMPlJOTo927d8tut6u+vl7V1dWqqKhQXFycJCkiIkK9evVyHdOpUyc1bdpUe/bs0U9+8hPl5eVpy5YtbpW8w+FQdXW1Kisr3WIEEBgke4Ss66+/XosWLVJkZKRSU1PPWoB3Jpmd4XQ61apVK3344YdnnetCLz+LiYnx+hin0ynpdCu/d+/ebu+Fh4dLkgzDuKB4vu/QoUMaOnSo7r//fj3xxBNKTk7Wxo0blZWV5TbdIZ2+dO6HzuxzOp167LHHNGrUqLPGREdH+xwnAN+R7BGy4uLi1KFDB4/H9+zZU0VFRYqIiFDbtm3POaZz587avHmzfvWrX7n2bd68+bznzMjIUExMjN577z2NGzfurPejoqIkna6Ez0hJSdEll1yi/fv36/bbbz/neS+//HKtWLFCVVVVrj8o/lMc57J161bV19frqaeeUljY6eU7r7766lnj6uvrtXXrVv3kJz+RJO3du1enTp1Sp06dJJ3+ue3du9ernzWAxkWyB74zcOBA9enTRyNHjtTs2bPVsWNHHTt2TG+99ZZGjhypXr166be//a3Gjh2rXr166ac//aleeukl5efnq127duc8Z3R0tB566CFNnTpVUVFRuuaaa3T8+HHl5+crKytLLVu2VExMjN555x1deumlio6OVmJiombMmKGJEycqISFBQ4YMUU1NjbZu3aqSkhJNmjRJY8aM0fTp05WVlaU//vGPOnjwoP785z979X3bt2+v+vp6LViwQMOHD9fHH3+s55577qxxkZGRmjBhgp555hlFRkbqN7/5ja6++mpX8n/kkUc0bNgwpaWl6Re/+IXCwsL0r3/9Szt37tSf/vQn7/+HAOB3rMYHvmOxWPTWW2/puuuu0913363LLrtMt956qw4ePOhaPX/LLbfokUce0UMPPaTMzEwdOnRIv/71r//jeR9++GFNnjxZjzzyiDp37qxbbrlFxcXFkk7Phz/zzDN6/vnnlZqaqhEjRkiSxo0bpxdffFHLli1Tt27d1K9fPy1btsx1qV6TJk3097//Xbt371aPHj00ffp0zZ4926vve+WVV2ru3LmaPXu2unbtqpdeekmzZs06a1xsbKweeughjRkzRn369FFMTIxWr17tev+GG27Qm2++qdzcXF111VW6+uqrNXfuXLVp08areAA0HIvhj8k/AABw0aKyBwAgxJHsAQAIcSR7AABCHMkeAIAQR7IHACDEkewBAAhxJHsAAEIcyR4AgBBHsgcAIMSR7AEACHEkewAAQtz/B6sKrPCaMa6kAAAAAElFTkSuQmCC", "text/plain": [ - "
" + "77.98" ] }, "metadata": {}, "output_type": "display_data" - } - ], - "source": [ - "conf_matrix = confusion_matrix(y_test, y_pred_lr)\n", - "\n", - "cm_display = ConfusionMatrixDisplay(confusion_matrix=conf_matrix, display_labels = [0,1])\n", - "cm_display.plot()\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "id": "bd2bae4a", - "metadata": {}, - "source": [ - "## Convolutional Neural Network" - ] - }, - { - "cell_type": "markdown", - "id": "f4f013b2-58d2-49dd-a8f8-36e7e38353ee", - "metadata": {}, - "source": [ - "#### Hyperparameter Tuning" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "id": "49f7eced-c24c-45ae-bf50-60780de52b1e", - "metadata": {}, - "outputs": [], - "source": [ - "# Importing the Necessary Libraries\n", - "import tensorflow as tf\n", - "import keras as keras\n", - "from tensorflow.keras.models import Sequential\n", - "from tensorflow.keras.layers import Embedding, Flatten, Dense\n", - "from sklearn.model_selection import GridSearchCV\n", - "from tensorflow.keras.wrappers.scikit_learn import KerasClassifier\n", - "from tensorflow.keras.optimizers import Adam, RMSprop\n", - "from keras.preprocessing.text import Tokenizer\n", - "from tensorflow.keras.preprocessing.sequence import pad_sequences\n", - "from sklearn.preprocessing import LabelEncoder\n", - "from sklearn.metrics import classification_report\n", - "from tensorflow.keras import layers\n", - "from keras.layers import Conv1D, MaxPooling1D, GlobalMaxPooling1D, Dropout" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "id": "3a11da52-56a0-497d-8d6d-9b3db6fa0ad4", - "metadata": {}, - "outputs": [], - "source": [ - "# Tokenizing the Dataset\n", - "tokenizer = Tokenizer()\n", - "\n", - "tokenizer.fit_on_texts(X_train)\n", - "tokenizer.fit_on_texts(X_test)\n", - "X_train_2 = tokenizer.texts_to_sequences(X_train)\n", - "X_test_2 = tokenizer.texts_to_sequences(X_test)\n", - "\n", - "vocab_size = len(tokenizer.word_index) + 1\n", - "\n", - "maxlen = 200\n", - "X_train_2 = pad_sequences(X_train_2, padding='post', maxlen=maxlen)\n", - "X_test_2 = pad_sequences(X_test_2, padding='post', maxlen=maxlen)\n", - "label_encoder = LabelEncoder()\n", - "y_train = label_encoder.fit_transform(y_train)\n", - "y_test = label_encoder.fit_transform(y_test)" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "id": "582e9555-750f-4f84-974c-720b4f586d31", - "metadata": {}, - "outputs": [ + }, { - "name": "stderr", - "output_type": "stream", - "text": [ - "2024-04-18 08:46:15.907496: W tensorflow/tsl/platform/profile_utils/cpu_utils.cc:128] Failed to get CPU frequency: 0 Hz\n" - ] + "data": { + "text/plain": [ + "58.65" + ] + }, + "metadata": {}, + "output_type": "display_data" }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "Training Accuracy: 0.9775\n", - "Testing Accuracy: 0.6002\n" - ] + "data": { + "text/plain": [ + "63.27" + ] + }, + "metadata": {}, + "output_type": "display_data" } ], "source": [ - "# Building the initial model\n", - "def CNN_model(embedding = 200, filter = 16, kernel = 4, pool = 2, num_1 = 40, lr = 0.01, dropout_rate = 0.5):\n", - " model = Sequential()\n", - " model.add(layers.Embedding(input_dim=vocab_size, \n", - " output_dim=embedding, \n", - " input_length=maxlen))\n", - " model.add(Conv1D(filters = filter, kernel_size = kernel, activation = \"relu\"))\n", - " model.add(MaxPooling1D(pool_size = pool))\n", - " model.add(layers.Flatten())\n", - " model.add(layers.Dropout(dropout_rate))\n", - " model.add(layers.Dense(num_1, activation='relu'))\n", - " model.add(layers.Dense(1, activation='sigmoid'))\n", - " model.compile(optimizer= Adam(learning_rate = lr),\n", - " loss='binary_crossentropy',\n", - " metrics=['accuracy'])\n", - " return model\n", + "# Print TPR, FPR, Precision, Recall\n", "\n", - "model = CNN_model()\n", + "TN = conf_matrix[0][0]\n", + "FN = conf_matrix[1][0]\n", + "TP = conf_matrix[1][1]\n", + "FP = conf_matrix[0][1]\n", "\n", - "history = model.fit(X_train_2, y_train,\n", - " epochs=30,\n", - " verbose=False,\n", - " validation_data=(X_test_2, y_test),\n", - " batch_size=1000)\n", - "loss, accuracy = model.evaluate(X_train_2, y_train, verbose=False)\n", - "print(\"Training Accuracy: {:.4f}\".format(accuracy))\n", - "loss, accuracy = model.evaluate(X_test_2, y_test, verbose=False)\n", - "print(\"Testing Accuracy: {:.4f}\".format(accuracy))" + "tpr = round(100 *(TP / (TP + FN)), 2)\n", + "display(tpr)\n", + "fpr = round(100* (FP / (FP + TN)), 2)\n", + "display(fpr)\n", + "precision = round(100*(TP / (TP + FP)),2)\n", + "display(precision)" ] }, { "cell_type": "code", - "execution_count": 27, - "id": "beee9f62-480c-4086-a28f-7d9e65532854", + "execution_count": 49, + "id": "c0ffc52d-2096-4f31-b011-0dd332e0226d", "metadata": {}, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABBEAAALDCAYAAABD3Zh1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAACoYElEQVR4nOzdd3gU5d7G8XvTCAlJCAKGXqQ3kV6kKYI0QRFQQUCK7aCAelDwtWDDhoB4LHioogJKUSmiICBVESkWQEF6rwkQUnfeP56zKSQhCZtkdpPv57r22tndmXl+G2PYufcpDsuyLAEAAAAAAGTCx+4CAAAAAACAdyBEAAAAAAAAWUKIAAAAAAAAsoQQAQAAAAAAZAkhAgAAAAAAyBJCBAAAAAAAkCWECAAAAAAAIEsIEQAAAAAAQJb42V1AQed0OnX06FGFhITI4XDYXQ4AAAAAIJ+zLEsXLlxQ6dKl5eOTvb4FhAg2O3r0qMqVK2d3GQAAAACAAubQoUMqW7Zsto4hRLBZSEiIJPMfLzQ01OZqAAAAAAD5XVRUlMqVK5d0PZodhAg2cw1hCA0NJUQAAAAAAOSZaxlSz8SKAAAAAAAgSwgRAAAAAABAlhAiAAAAAACALGFOBC9gWZYSEhKUmJhodylAjvP19ZWfnx9LnAIAAABegBDBw8XFxenYsWOKjo62uxQg1wQFBalUqVIKCAiwuxQAAAAAV0GI4MGcTqf27dsnX19flS5dWgEBAXxbi3zFsizFxcXp1KlT2rdvn6pWrSofH0ZZAQAAAJ6KEMGDxcXFyel0qly5cgoKCrK7HCBXFC5cWP7+/jpw4IDi4uIUGBhod0kAAAAAMsBXfl6Ab2aR3/E7DgAAAHgHPrkDAAAAAIAsIUSA12jbtq1GjBiR5f33798vh8Ohbdu25VpNAAAAAFCQECIgxzkcjqveBg4ceE3nXbBggV5++eUs71+uXDkdO3ZMderUuab2rkWHDh3k6+urTZs25VmbAAAAAJBXmFgROe7YsWNJ23PnztXzzz+v3bt3Jz1XuHDhVPvHx8fL398/0/MWK1YsW3X4+voqIiIiW8e44+DBg9q4caOGDRumqVOnqlmzZnnWdnqy+nMFAAAAgKyiJwJyXERERNItLCxMDocj6XFMTIyKFi2qefPmqW3btgoMDNTs2bN15swZ3XvvvSpbtqyCgoJUt25dff7556nOe+VwhooVK+q1117ToEGDFBISovLly2vKlClJr185nGH16tVyOBxauXKlGjVqpKCgILVo0SJVwCFJr7zyikqWLKmQkBANGTJEzzzzjOrXr5/p+54+fbq6du2qRx55RHPnztWlS5dSvX7+/Hk9+OCDuv766xUYGKg6depo8eLFSa+vX79ebdq0UVBQkMLDw9WxY0edO3cu6b1OnDgx1fnq16+vF198Memxw+HQhx9+qO7duys4OFivvPKKEhMTNXjwYFWqVEmFCxdW9erVNWnSpDS1T5s2TbVr11ahQoVUqlQpDRs2TJI0aNAgde3aNdW+CQkJioiI0LRp0zL9mQAAAADIXwgRvI1lSZcu2XOzrBx7G08//bQef/xx7dy5Ux07dlRMTIwaNmyoxYsX6/fff9eDDz6o+++/Xz/99NNVzzN+/Hg1atRIW7du1aOPPqpHHnlEu3btuuoxzz77rMaPH69ffvlFfn5+GjRoUNJrn376qV599VW98cYb2rJli8qXL68PPvgg0/djWZamT5+ufv36qUaNGqpWrZrmzZuX9LrT6VSnTp20YcMGzZ49W3/++adef/11+fr6SpK2bdumW2+9VbVr19bGjRu1bt06devWTYmJiZm2ndILL7yg7t2767ffftOgQYPkdDpVtmxZzZs3T3/++aeef/55jRkzJlVtH3zwgf71r3/pwQcf1G+//aavv/5aVapUkSQNGTJE3377bareJUuXLtXFixfVu3fvbNUGAAAAwPsxnMHbREdLRYrY0/bFi1JwcI6casSIEbrrrrtSPffUU08lbT/22GP69ttv9cUXX6hp06YZnqdz58569NFHJZlgYsKECVq9erVq1KiR4TGvvvqq2rRpI0l65pln1KVLF8XExCgwMFCTJ0/W4MGD9cADD0iSnn/+eX333Xe6ePHiVd/PihUrFB0drY4dO0qS+vXrp6lTpyadZ8WKFfr555+1c+dOVatWTZJUuXLlpOPffPNNNWrUSO+//37Sc7Vr175qm+m57777UoUikjR27Nik7UqVKmnDhg2aN29eUgjwyiuv6Mknn9Tw4cOT9mvcuLEkqUWLFqpevbo++eQTjRo1SpLpcdGrVy8Vsev3EAAAAIBt6IkAWzRq1CjV48TERL366quqV6+errvuOhUpUkTfffedDh48eNXz1KtXL2nbNWzi5MmT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N9y5DnWrJ0KlSpX0zz//6Pfff0/VsJ+fn77//nv17dtXfn5+sixLrqyiS5cuWrt2LQECgPSdOyc98ojZ/ve/CRAAAAAAD+JWT4SsuHDhgv7++28lJCSoSpUqqVZyAD0RgDQGDpRmzpRq1JC2bpUCA+2uCAAAAMhX3LkO9culmpKEhISoQYMGud0MgPxg2TITIDgcZjUGAgQAAADAo7g1nMHHx0d+fn568803c6oeAAVVVJT04INme8QIqXlzW8sBAAAAkJZbIUJAQIAsy1KrVq1yqh4ABdW//y0dPizdcIP0yit2VwMAAAAgHW6FCKVLl5Yk+fr65kgxAAqolSulKVPM9tSpUlCQvfUAAAAASJdbIULr1q0lSb/++muOFAOgALp4URoyxGw/+qjUpo299QAAAADIkFshwmOPPSZfX1+9/fbbioqKyqmaABQkY8ZI+/dLFSpIr79udzUAAAAArsKtEKFhw4aaPHmyDhw4oDZt2mjDhg05VReAgmDtWmnyZLP98cdSSIi99QAAAAC4KreWeBw0aJAkqXr16tq+fbtatWqlcuXKqV69egoPD7/qXAkOh0NTp051p3kA3iw6Who82GwPHizddpu99QAAAADIlMOyLOtaD/bx8ZHD4Uh67DpVyufSY1mWHA6HEhMTr7XpfCMqKkphYWGKjIxUaGio3eUAeeff/5beflsqU0b64w8pLMzuigAAAIACwZ3rULd6IpQvXz7TwAAA0vjpJ+mdd8z2hx8SIAAAAABewq0QYf/+/TlUBoACIzZWGjRIcjqlfv2krl3trggAAABAFrk1sSIAZNvLL0t//ildf700aZLd1QAAAADIBkIEAHln69bkZRzff18qVszeegAAAABkCyECgLwzZoyUmCj16iXddZfd1QAAAADIJrfmRDh48KBbjZcvX96t4wF4kZ07pW+/lRwOadw4u6sBAAAAcA3cChEqVap0zcc6HA4lJCS40zwAb/Luu+a+e3fphhvsrQUAAADANXErRLAsK6fqAJCfnTkjzZxptkeMsLUUAAAAANfOrRBh+vTpme5z6dIl7d69W/Pnz9fRo0fVokULDR061J1mAXibjz+WLl+W6teXWre2uxoAAAAA18hh5VF3gvj4eD3++OOaMmWKnnzySb355pt50azHi4qKUlhYmCIjIxUaGmp3OUDOi4+XKlWSjhyRZsyQ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", + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
StemmedActual_LabelPred_Labelpredict_proba
3116lmao thank110.981377
3721fkl110.969936
2943defens adjust frustrat celtic010.916624
8446well odd dame least hit first increas miss sec...010.574565
5282heat fan twice bet gianni come piss call giann...000.175973
...............
4863spur110.986595
4519fuck go110.957687
4303con-naughton110.987552
11002yeah wonder would close danilo better switch o...100.424276
2377nevah lost season tourney110.863553
\n", + "

2454 rows × 4 columns

\n", + "
" + ], "text/plain": [ - "
" + " Stemmed Actual_Label \\\n", + "3116 lmao thank 1 \n", + "3721 fkl 1 \n", + "2943 defens adjust frustrat celtic 0 \n", + "8446 well odd dame least hit first increas miss sec... 0 \n", + "5282 heat fan twice bet gianni come piss call giann... 0 \n", + "... ... ... \n", + "4863 spur 1 \n", + "4519 fuck go 1 \n", + "4303 con-naughton 1 \n", + "11002 yeah wonder would close danilo better switch o... 1 \n", + "2377 nevah lost season tourney 1 \n", + "\n", + " Pred_Label predict_proba \n", + "3116 1 0.981377 \n", + "3721 1 0.969936 \n", + "2943 1 0.916624 \n", + "8446 1 0.574565 \n", + "5282 0 0.175973 \n", + "... ... ... \n", + "4863 1 0.986595 \n", + "4519 1 0.957687 \n", + "4303 1 0.987552 \n", + "11002 0 0.424276 \n", + "2377 1 0.863553 \n", + "\n", + "[2454 rows x 4 columns]" ] }, + "execution_count": 49, "metadata": {}, - "output_type": "display_data" + "output_type": "execute_result" } ], "source": [ - "# Plot Accuracy Over Number of Epochs\n", - "\n", - "fig, ax = plt.subplots(1, 1, figsize=(12,8))\n", - "ax.plot(history.history['accuracy'], 'r', label='Training Accuracy')\n", - "ax.plot(history.history['val_accuracy'], 'b' ,label='Validation Accuracy')\n", - "ax.set_xlabel(r'Epoch', fontsize=20)\n", - "ax.set_ylabel(r'Accuracy', fontsize=20)\n", - "ax.legend()\n", - "ax.tick_params(labelsize=20)" + "df_test = pd.DataFrame(X_test)\n", + "df_test[\"Actual_Label\"] = y_test\n", + "df_test[\"Pred_Label\"] = y_pred\n", + "probs = BNB.predict_proba(X_test)\n", + "df_test['predict_proba'] = [probs[i][1] for i in range(len(probs))]\n", + "df_test" ] }, { "cell_type": "code", - "execution_count": 28, - "id": "f9d8fc87-af42-4ab2-afdd-680ebdf27216", + "execution_count": 58, + "id": "115d96b4-a282-4037-8556-10dbc6a8348c", "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "Fitting 3 folds for each of 108 candidates, totalling 324 fits\n" - ] + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
CommentStemmedActual_LabelPred_Labelpredict_proba
0Lmao thankslmao thank110.981377
1FKLfkl110.969936
2What were the defensive adjustments that frust...defens adjust frustrat celtic010.916624
3Well the odds of Dame at least hitting the fir...well odd dame least hit first increas miss sec...010.574565
4And the Heat fan who twice now has bet on Gian...heat fan twice bet gianni come piss call giann...000.175973
..................
5460or the spursspur110.986595
5461What the fuck is going on out there?fuck go110.957687
5462Con-naughtoncon-naughton110.987552
5463Yeah, I was wondering if they would close it o...yeah wonder would close danilo better switch o...100.424276
5464**NEVAH LOST**\\n\\nin the in season tourney*nevah lost season tourney110.863553
\n", + "

5465 rows × 5 columns

\n", + "
" + ], + "text/plain": [ + " Comment \\\n", + "0 Lmao thanks \n", + "1 FKL \n", + "2 What were the defensive adjustments that frust... \n", + "3 Well the odds of Dame at least hitting the fir... \n", + "4 And the Heat fan who twice now has bet on Gian... \n", + "... ... \n", + "5460 or the spurs \n", + "5461 What the fuck is going on out there? \n", + "5462 Con-naughton \n", + "5463 Yeah, I was wondering if they would close it o... \n", + "5464 **NEVAH LOST**\\n\\nin the in season tourney* \n", + "\n", + " Stemmed Actual_Label \\\n", + "0 lmao thank 1 \n", + "1 fkl 1 \n", + "2 defens adjust frustrat celtic 0 \n", + "3 well odd dame least hit first increas miss sec... 0 \n", + "4 heat fan twice bet gianni come piss call giann... 0 \n", + "... ... ... \n", + "5460 spur 1 \n", + "5461 fuck go 1 \n", + "5462 con-naughton 1 \n", + "5463 yeah wonder would close danilo better switch o... 1 \n", + "5464 nevah lost season tourney 1 \n", + "\n", + " Pred_Label predict_proba \n", + "0 1 0.981377 \n", + "1 1 0.969936 \n", + "2 1 0.916624 \n", + "3 1 0.574565 \n", + "4 0 0.175973 \n", + "... ... ... \n", + "5460 1 0.986595 \n", + "5461 1 0.957687 \n", + "5462 1 0.987552 \n", + "5463 0 0.424276 \n", + "5464 1 0.863553 \n", + "\n", + "[5465 rows x 5 columns]" + ] + }, + "execution_count": 58, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "test_full = pd.merge(df_test, df, on = \"Stemmed\", how = \"left\")\n", + "test_full = test_full[[\"Comment\", \"Stemmed\", \"Actual_Label\", \"Pred_Label\", \"predict_proba\"]]\n", + "test_full.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "id": "45f27716-d6a0-4236-a567-6a447467d57d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
CommentStemmedActual_LabelPred_Labelpredict_proba
2268Real question, will Thanasis hop on the Pat Be...real question thanasi hop pat bev podcast pat ...010.998701
753![img](emote|t5_2t10o|24578)img ] ( emote|t5_2t10o|24578010.998215
754![img](emote|t5_2t10o|24578)img ] ( emote|t5_2t10o|24578010.998215
636Glad I spent $ on courtside for that lol oops!...glad spent courtsid lol oop 7.5 min bonu attac...010.997157
5118Love when MJ is a Bucks hater lol you know it ...love mj buck hater lol know come heart010.995318
\n", + "
" + ], + "text/plain": [ + " Comment \\\n", + "2268 Real question, will Thanasis hop on the Pat Be... \n", + "753 ![img](emote|t5_2t10o|24578) \n", + "754 ![img](emote|t5_2t10o|24578) \n", + "636 Glad I spent $ on courtside for that lol oops!... \n", + "5118 Love when MJ is a Bucks hater lol you know it ... \n", + "\n", + " Stemmed Actual_Label \\\n", + "2268 real question thanasi hop pat bev podcast pat ... 0 \n", + "753 img ] ( emote|t5_2t10o|24578 0 \n", + "754 img ] ( emote|t5_2t10o|24578 0 \n", + "636 glad spent courtsid lol oop 7.5 min bonu attac... 0 \n", + "5118 love mj buck hater lol know come heart 0 \n", + "\n", + " Pred_Label predict_proba \n", + "2268 1 0.998701 \n", + "753 1 0.998215 \n", + "754 1 0.998215 \n", + "636 1 0.997157 \n", + "5118 1 0.995318 " + ] + }, + "execution_count": 61, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "fp_df = test_full[(test_full[\"Actual_Label\"] == 0) & (test_full[\"Pred_Label\"] == 1)].sort_values(by = \"predict_proba\", ascending = False)\n", + "fp_df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "id": "0b2259e5-ea83-44dc-b375-5adcb864c0eb", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
CommentStemmedActual_LabelPred_Labelpredict_proba
2197That series is by far my biggest what-if of th...seri far biggest what-if bud era think say cle...108.207599e-16
3972I think there are a few really big takeaways f...think realli big takeaway game someth mention ...101.577316e-13
2426Khris they say it was sore Achilles. Not sure ...khri say sore achil sure mean 's precautionari...101.021511e-09
4674Dame man. Never stops being insane how he can ...dame man never stop insan fuckin turn aim bot ...101.235395e-09
2252This is sheer delusion, I’m sorry. \\n\\nThe 20t...sheer delus ’ sorri 20th rank defens nba net g...101.694379e-09
\n", + "
" + ], + "text/plain": [ + " Comment \\\n", + "2197 That series is by far my biggest what-if of th... \n", + "3972 I think there are a few really big takeaways f... \n", + "2426 Khris they say it was sore Achilles. Not sure ... \n", + "4674 Dame man. Never stops being insane how he can ... \n", + "2252 This is sheer delusion, I’m sorry. \\n\\nThe 20t... \n", + "\n", + " Stemmed Actual_Label \\\n", + "2197 seri far biggest what-if bud era think say cle... 1 \n", + "3972 think realli big takeaway game someth mention ... 1 \n", + "2426 khri say sore achil sure mean 's precautionari... 1 \n", + "4674 dame man never stop insan fuckin turn aim bot ... 1 \n", + "2252 sheer delus ’ sorri 20th rank defens nba net g... 1 \n", + "\n", + " Pred_Label predict_proba \n", + "2197 0 8.207599e-16 \n", + "3972 0 1.577316e-13 \n", + "2426 0 1.021511e-09 \n", + "4674 0 1.235395e-09 \n", + "2252 0 1.694379e-09 " + ] + }, + "execution_count": 63, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "fn_df = test_full[(test_full[\"Actual_Label\"] == 1) & (test_full[\"Pred_Label\"] == 0)].sort_values(by = \"predict_proba\")\n", + "fn_df.head()" + ] + }, + { + "cell_type": "markdown", + "id": "33668bd6", + "metadata": {}, + "source": [ + "## Logistic Regression Model " + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "id": "5cdb826e", + "metadata": {}, + "outputs": [], + "source": [ + "vec = CountVectorizer()\n", + "X_train_1 = vec.fit_transform(X_train)\n", + "X_test_1 = vec.transform(X_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "id": "f2d2185b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "F1 Score: 0.6874343717185859\n" + ] + } + ], + "source": [ + "from sklearn.linear_model import LogisticRegression\n", + "from sklearn.metrics import classification_report\n", + "\n", + "lr = LogisticRegression(max_iter = 1000)\n", + "lr.fit(X_train_1, y_train)\n", + "y_pred_lr = lr.predict(X_test_1)\n", + "\n", + "f1 = f1_score(y_test, y_pred_lr)\n", + "print(\"F1 Score:\", f1)" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "id": "e762b3e7-4189-45b5-bd70-03c58185cb19", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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8I3XyX7atGnasWOHPvzwQ0VHR7v2Dxw4UK+88opfgwMAwH8sftiCk9eX3q1du1avvPKKrr76alks//7il19+ub7++mu/BgcAgN+Y+Dp7ryv748ePq2XLlmftr6iocEv+AADg4uB1sr/qqqv0j3/8w/X6TIJfvHix+vTp47/IAADwJxMv0PO6jT9r1izdeOON2r17t+rr6/X0008rPz9fn3zyiTZs2NAQMQIA4DsTP/XO68q+b9+++vjjj1VZWan27dvr3XffVUpKij755BNlZmY2RIwAAMAHF3Rv/G7dumn58uX+jgUAgAZj5kfcXlCydzgcWrNmjfbs2SOLxaLOnTtrxIgRiojguToAgIuUiVfje52dd+3apREjRqioqEgdO3aUJH355Zdq0aKF3njjDXXr1s3vQQIAgAvn9Zz9uHHj1KVLFxUUFOjzzz/X559/riNHjuiKK67Qvffe2xAxAgDguzML9HzZgpTXlf2OHTu0detWJSUlufYlJSVp5syZuuqqq/waHAAA/mIxTm++HB+svK7sO3bsqG+++eas/cXFxerQoYNfggIAwO9MfJ29R8nebre7tpycHE2cOFGvvfaaCgoKVFBQoNdee03Z2dmaPXt2Q8cLAAC85FEbv2nTpm63wjUMQ6NHj3btM767HmH48OFyOBwNECYAAD4y8U11PEr2H3zwQUPHAQBAw+LSu/+sX79+DR0HAABoIBd8F5zKykodPnxYtbW1bvuvuOIKn4MCAMDvqOw9d/z4cd111116++23z/k+c/YAgIuSiZO915feZWdnq6SkRJs3b1ZMTIzeeecdLV++XBkZGXrjjTcaIkYAAIJO27ZtZbFYztoeeOABSacXt8+YMUOpqamKiYlR//79lZ+f73aOmpoaTZgwQc2bN1dcXJxuvvlmFRQUeB2L18n+/fff17x583TVVVcpLCxMbdq00R133KE5c+Zo1qxZXgcAAECjaOQ76G3ZskWFhYWuLTc3V5L0i1/8QpI0Z84czZ07VwsXLtSWLVtks9k0aNAglZWVuc6RnZ2tNWvWaPXq1dq4caPKy8s1bNgwr7voXif7iooKtWzZUpKUnJys48ePSzr9JLzPP//c29MBANAoztxBz5dNcr/3jN1uV01NzTk/r0WLFrLZbK7tzTffVPv27dWvXz8ZhqH58+dr+vTpGjVqlLp27arly5er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L1+u999/X1OnTnUbU1lZqZkzZ2r58uX6+OOPZbfbdeutt7reX7dune644w5NnDhRu3fv1vPPP69ly5a5/qABcBEwgBA0duxYY8SIEa7Xn376qdGsWTNj9OjRhmEYxqOPPmpERkYaxcXFrjHvvfeekZCQYFRXV7udq3379sbzzz9vGIZh9OnTx7j//vvd3u/du7fRvXv3c3623W43rFarsXjx4nPGeeDAAUOSsW3bNrf9aWlpxqpVq9z2PfHEE0afPn0MwzCM559/3khOTjYqKipc7y9atOic5/q+Nm3aGPPmzTvv+6+++qrRrFkz1+ulS5cakozNmze79u3Zs8eQZHz66aeGYRjGtddea+Tk5LidZ8WKFUarVq1cryUZa9asOe/nAmhYzNkjZL355ptq0qSJ6uvrVVdXpxEjRmjBggWu99u0aaMWLVq4Xufl5am8vFzNmjVzO09VVZW+/vprSdKePXt0//33u73fp08fffDBB+eMYc+ePaqpqdGAAQM8jvv48eM6cuSIsrKydM8997j219fXu9YD7NmzR927d1dsbKxbHN764IMPlJOTo927d8tut6u+vl7V1dWqqKhQXFycJCkiIkK9evVyHdOpUyc1bdpUe/bs0U9+8hPl5eVpy5YtbpW8w+FQdXW1Kisr3WIEEBgke4Ss66+/XosWLVJkZKRSU1PPWoB3Jpmd4XQ61apVK3344YdnnetCLz+LiYnx+hin0ynpdCu/d+/ebu+Fh4dLkgzDuKB4vu/QoUMaOnSo7r//fj3xxBNKTk7Wxo0blZWV5TbdIZ2+dO6HzuxzOp167LHHNGrUqLPGREdH+xwnAN+R7BGy4uLi1KFDB4/H9+zZU0VFRYqIiFDbtm3POaZz587avHmzfvWrX7n2bd68+bznzMjIUExMjN577z2NGzfurPejoqIkna6Ez0hJSdEll1yi/fv36/bbbz/neS+//HKtWLFCVVVVrj8o/lMc57J161bV19frqaeeUljY6eU7r7766lnj6uvrtXXrVv3kJz+RJO3du1enTp1Sp06dJJ3+ue3du9ernzWAxkWyB74zcOBA9enTRyNHjtTs2bPVsWNHHTt2TG+99ZZGjhypXr166be//a3Gjh2rXr166ac//aleeukl5efnq127duc8Z3R0tB566CFNnTpVUVFRuuaaa3T8+HHl5+crKytLLVu2VExMjN555x1deumlio6OVmJiombMmKGJEycqISFBQ4YMUU1NjbZu3aqSkhJNmjRJY8aM0fTp05WVlaU//vGPOnjwoP785z979X3bt2+v+vp6LViwQMOHD9fHH3+s55577qxxkZGRmjBhgp555hlFRkbqN7/5ja6++mpX8n/kkUc0bNgwpaWl6Re/+IXCwsL0r3/9Szt37tSf/vQn7/+HAOB3rMYHvmOxWPTWW2/puuuu0913363LLrtMt956qw4ePOhaPX/LLbfokUce0UMPPaTMzEwdOnRIv/71r//jeR9++GFNnjxZjzzyiDp37qxbbrlFxcXFkk7Phz/zzDN6/vnnlZqaqhEjRkiSxo0bpxdffFHLli1Tt27d1K9fPy1btsx1qV6TJk3097//Xbt371aPHj00ffp0zZ4926vve+WVV2ru3LmaPXu2unbtqpdeekmzZs06a1xsbKweeughjRkzRn369FFMTIxWr17tev+GG27Qm2++qdzcXF111VW6+uqrNXfuXLVp08areAA0HIvhj8k/AABw0aKyBwAgxJHsAQAIcSR7AABCHMkeAIAQR7IHACDEkewBAAhxJHsAAEIcyR4AgBBHsgcAIMSR7AEACHEkewAAQtz/B6sKrPCaMa6kAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "conf_matrix = confusion_matrix(y_test, y_pred_lr)\n", + "\n", + "cm_display = ConfusionMatrixDisplay(confusion_matrix=conf_matrix, display_labels = [0,1])\n", + "cm_display.plot()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 73, + "id": "48a393b8-92e3-4e7b-afd4-b92b45633b68", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.7090252707581227" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "0.4583723105706268" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "0.6671195652173914" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# TPR, FPR, Precision\n", + "\n", + "TN = conf_matrix[0][0]\n", + "FN = conf_matrix[1][0]\n", + "TP = conf_matrix[1][1]\n", + "FP = conf_matrix[0][1]\n", + "\n", + "tpr = TP / (TP + FN)\n", + "display(tpr)\n", + "fpr = FP / (FP + TN)\n", + "display(fpr)\n", + "precision = TP / (TP + FP)\n", + "display(precision)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "id": "c7c37d42-8599-401d-995c-99460aade108", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
StemmedActual_LabelPred_Labelpredict_proba
3116lmao thank110.724096
3721fkl110.606038
2943defens adjust frustrat celtic010.709577
8446well odd dame least hit first increas miss sec...000.264181
5282heat fan twice bet gianni come piss call giann...000.191379
...............
4863spur110.805416
4519fuck go110.596010
4303con-naughton110.759353
11002yeah wonder would close danilo better switch o...110.969756
2377nevah lost season tourney100.388863
\n", + "

2454 rows × 4 columns

\n", + "
" + ], + "text/plain": [ + " Stemmed Actual_Label \\\n", + "3116 lmao thank 1 \n", + "3721 fkl 1 \n", + "2943 defens adjust frustrat celtic 0 \n", + "8446 well odd dame least hit first increas miss sec... 0 \n", + "5282 heat fan twice bet gianni come piss call giann... 0 \n", + "... ... ... \n", + "4863 spur 1 \n", + "4519 fuck go 1 \n", + "4303 con-naughton 1 \n", + "11002 yeah wonder would close danilo better switch o... 1 \n", + "2377 nevah lost season tourney 1 \n", + "\n", + " Pred_Label predict_proba \n", + "3116 1 0.724096 \n", + "3721 1 0.606038 \n", + "2943 1 0.709577 \n", + "8446 0 0.264181 \n", + "5282 0 0.191379 \n", + "... ... ... \n", + "4863 1 0.805416 \n", + "4519 1 0.596010 \n", + "4303 1 0.759353 \n", + "11002 1 0.969756 \n", + "2377 0 0.388863 \n", + "\n", + "[2454 rows x 4 columns]" + ] + }, + "execution_count": 75, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# \"Most Wrong\" Negative Comments\n", + "df_test = pd.DataFrame(X_test)\n", + "df_test[\"Actual_Label\"] = y_test\n", + "df_test[\"Pred_Label\"] = y_pred_lr\n", + "probs = lr.predict_proba(X_test_1)\n", + "df_test['predict_proba'] = [probs[i][1] for i in range(len(probs))]\n", + "df_test" + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "id": "4f81d8af-9ddb-49ff-9629-d217d4e69267", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
CommentStemmedActual_LabelPred_Labelpredict_proba
0Lmao thankslmao thank110.724096
1FKLfkl110.606038
2What were the defensive adjustments that frust...defens adjust frustrat celtic010.709577
3Well the odds of Dame at least hitting the fir...well odd dame least hit first increas miss sec...000.264181
4And the Heat fan who twice now has bet on Gian...heat fan twice bet gianni come piss call giann...000.191379
\n", + "
" + ], + "text/plain": [ + " Comment \\\n", + "0 Lmao thanks \n", + "1 FKL \n", + "2 What were the defensive adjustments that frust... \n", + "3 Well the odds of Dame at least hitting the fir... \n", + "4 And the Heat fan who twice now has bet on Gian... \n", + "\n", + " Stemmed Actual_Label \\\n", + "0 lmao thank 1 \n", + "1 fkl 1 \n", + "2 defens adjust frustrat celtic 0 \n", + "3 well odd dame least hit first increas miss sec... 0 \n", + "4 heat fan twice bet gianni come piss call giann... 0 \n", + "\n", + " Pred_Label predict_proba \n", + "0 1 0.724096 \n", + "1 1 0.606038 \n", + "2 1 0.709577 \n", + "3 0 0.264181 \n", + "4 0 0.191379 " + ] + }, + "execution_count": 76, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "test_full = pd.merge(df_test, df, on = \"Stemmed\", how = \"left\")\n", + "test_full = test_full[[\"Comment\", \"Stemmed\", \"Actual_Label\", \"Pred_Label\", \"predict_proba\"]]\n", + "test_full.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "id": "3fdfacd5-4a0e-488a-bd40-02ebfc5cc020", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
CommentStemmedActual_LabelPred_Labelpredict_proba
243I will be messaging you in 5 months on [**2024...messag 5 month 2024-04-02 02:29:31 utc * * ] (...010.999998
4375I love Dame, but he needs to stop differing an...love dame need stop differ put dick tabl run t...010.993571
999Im convinced marjon and ajax are riding the be...im convinc marjon ajax ride bench potenti gift...010.993130
2959I can’t complain . Let him play and get confid...’ complain let play get confid bench underperf...010.989628
4468No one wanted to win on the court more than Da...one want win court dame last 5 minut superb fu...010.987161
\n", + "
" + ], + "text/plain": [ + " Comment \\\n", + "243 I will be messaging you in 5 months on [**2024... \n", + "4375 I love Dame, but he needs to stop differing an... \n", + "999 Im convinced marjon and ajax are riding the be... \n", + "2959 I can’t complain . Let him play and get confid... \n", + "4468 No one wanted to win on the court more than Da... \n", + "\n", + " Stemmed Actual_Label \\\n", + "243 messag 5 month 2024-04-02 02:29:31 utc * * ] (... 0 \n", + "4375 love dame need stop differ put dick tabl run t... 0 \n", + "999 im convinc marjon ajax ride bench potenti gift... 0 \n", + "2959 ’ complain let play get confid bench underperf... 0 \n", + "4468 one want win court dame last 5 minut superb fu... 0 \n", + "\n", + " Pred_Label predict_proba \n", + "243 1 0.999998 \n", + "4375 1 0.993571 \n", + "999 1 0.993130 \n", + "2959 1 0.989628 \n", + "4468 1 0.987161 " + ] + }, + "execution_count": 77, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "fp_df = test_full[(test_full[\"Actual_Label\"] == 0) & (test_full[\"Pred_Label\"] == 1)].sort_values(by = \"predict_proba\", ascending = False)\n", + "fp_df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 78, + "id": "316b8303-1a11-4fce-9bd7-c3256bbb587f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
CommentStemmedActual_LabelPred_Labelpredict_proba
2197That series is by far my biggest what-if of th...seri far biggest what-if bud era think say cle...107.558619e-07
2826I would gladly trade all the downers here. One...would gladli trade downer one bad game request...102.647902e-03
2427There were also a few fast breaks that Dame an...also fast break dame khri led bounc ball backw...103.137630e-03
2252This is sheer delusion, I’m sorry. \\n\\nThe 20t...sheer delus ’ sorri 20th rank defens nba net g...105.256516e-03
3112just literally could never break away from the...liter could never break away also sad brook co...101.319801e-02
\n", + "
" + ], + "text/plain": [ + " Comment \\\n", + "2197 That series is by far my biggest what-if of th... \n", + "2826 I would gladly trade all the downers here. One... \n", + "2427 There were also a few fast breaks that Dame an... \n", + "2252 This is sheer delusion, I’m sorry. \\n\\nThe 20t... \n", + "3112 just literally could never break away from the... \n", + "\n", + " Stemmed Actual_Label \\\n", + "2197 seri far biggest what-if bud era think say cle... 1 \n", + "2826 would gladli trade downer one bad game request... 1 \n", + "2427 also fast break dame khri led bounc ball backw... 1 \n", + "2252 sheer delus ’ sorri 20th rank defens nba net g... 1 \n", + "3112 liter could never break away also sad brook co... 1 \n", + "\n", + " Pred_Label predict_proba \n", + "2197 0 7.558619e-07 \n", + "2826 0 2.647902e-03 \n", + "2427 0 3.137630e-03 \n", + "2252 0 5.256516e-03 \n", + "3112 0 1.319801e-02 " + ] + }, + "execution_count": 78, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "fn_df = test_full[(test_full[\"Actual_Label\"] == 1) & (test_full[\"Pred_Label\"] == 0)].sort_values(by = \"predict_proba\")\n", + "fn_df.head()" + ] + }, + { + "cell_type": "markdown", + "id": "bd2bae4a", + "metadata": {}, + "source": [ + "## Convolutional Neural Network" + ] + }, + { + "cell_type": "markdown", + "id": "f4f013b2-58d2-49dd-a8f8-36e7e38353ee", + "metadata": {}, + "source": [ + "#### Hyperparameter Tuning" + ] + }, + { + "cell_type": "code", + "execution_count": 85, + "id": "49f7eced-c24c-45ae-bf50-60780de52b1e", + "metadata": {}, + "outputs": [], + "source": [ + "# Importing the Necessary Libraries\n", + "import tensorflow as tf\n", + "import keras as keras\n", + "from tensorflow.keras.models import Sequential\n", + "from tensorflow.keras.layers import Embedding, Flatten, Dense\n", + "from sklearn.model_selection import GridSearchCV\n", + "from tensorflow.keras.wrappers.scikit_learn import KerasClassifier\n", + "from tensorflow.keras.optimizers import Adam, RMSprop\n", + "from keras.preprocessing.text import Tokenizer\n", + "from tensorflow.keras.preprocessing.sequence import pad_sequences\n", + "from sklearn.preprocessing import LabelEncoder\n", + "from sklearn.metrics import classification_report\n", + "from tensorflow.keras import layers\n", + "from keras.layers import Conv1D, MaxPooling1D, GlobalMaxPooling1D, Dropout" + ] + }, + { + "cell_type": "code", + "execution_count": 86, + "id": "3a11da52-56a0-497d-8d6d-9b3db6fa0ad4", + "metadata": {}, + "outputs": [], + "source": [ + "# Tokenizing the Dataset\n", + "tokenizer = Tokenizer()\n", + "\n", + "tokenizer.fit_on_texts(X_train)\n", + "tokenizer.fit_on_texts(X_test)\n", + "X_train_2 = tokenizer.texts_to_sequences(X_train)\n", + "X_test_2 = tokenizer.texts_to_sequences(X_test)\n", + "\n", + "vocab_size = len(tokenizer.word_index) + 1\n", + "\n", + "maxlen = 200\n", + "X_train_2 = pad_sequences(X_train_2, padding='post', maxlen=maxlen)\n", + "X_test_2 = pad_sequences(X_test_2, padding='post', maxlen=maxlen)\n", + "label_encoder = LabelEncoder()\n", + "y_train = label_encoder.fit_transform(y_train)\n", + "y_test = label_encoder.fit_transform(y_test)" + ] + }, + { + "cell_type": "markdown", + "id": "8536619d-3d59-48dc-bcba-73467de6eca1", + "metadata": {}, + "source": [ + "### Overfitted Model" + ] + }, + { + "cell_type": "code", + "execution_count": 96, + "id": "16a693c8-19ea-4e7a-9798-f895aa6a1ccc", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Training Accuracy: 0.9749\n", + "Testing Accuracy: 0.6214\n" + ] + } + ], + "source": [ + "# Building the initial model\n", + "def CNN_model(embedding = 200, filter = 16, kernel = 4, num_1 = 40, lr = 0.01, dropout_rate = 0.5):\n", + " model = Sequential()\n", + " model.add(layers.Embedding(input_dim=vocab_size, \n", + " output_dim=embedding, \n", + " input_length=maxlen))\n", + " model.add(Conv1D(filters = filter, kernel_size = kernel, activation = \"relu\"))\n", + " model.add(MaxPooling1D(pool_size = 2))\n", + " model.add(layers.Flatten())\n", + " model.add(layers.Dropout(dropout_rate))\n", + " model.add(layers.Dense(num_1, activation='relu'))\n", + " model.add(layers.Dense(1, activation='sigmoid'))\n", + " model.compile(optimizer= Adam(learning_rate = lr),\n", + " loss='binary_crossentropy',\n", + " metrics=['accuracy'])\n", + " return model\n", + "\n", + "model = CNN_model()\n", + "\n", + "history = model.fit(X_train_2, y_train,\n", + " epochs=30,\n", + " verbose=False,\n", + " validation_data=(X_test_2, y_test),\n", + " batch_size=1000)\n", + "loss, accuracy = model.evaluate(X_train_2, y_train, verbose=False)\n", + "print(\"Training Accuracy: {:.4f}\".format(accuracy))\n", + "loss, accuracy = model.evaluate(X_test_2, y_test, verbose=False)\n", + "print(\"Testing Accuracy: {:.4f}\".format(accuracy))" + ] + }, + { + "cell_type": "code", + "execution_count": 97, + "id": "a0fd2b0c-55a8-48d1-a865-afd992f4bb4c", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABBEAAALDCAYAAABD3Zh1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAACj1klEQVR4nOzdd3gU1dvG8XuTkEoSuvQaKSIIUqQXwQKIqCioIN36AxFRFFQEC4gSwfKKonQLYEFRUBAUCE0QKSJNehcQSICQuvv+cdwU0tkks5t8P9c1Vya7szvPxkh27j3nOTaHw+EQAAAAAABAFrysLgAAAAAAAHgGQgQAAAAAAJAthAgAAAAAACBbCBEAAAAAAEC2ECIAAAAAAIBsIUQAAAAAAADZQogAAAAAAACyhRABAAAAAABki4/VBRR2drtdx48fV3BwsGw2m9XlAAAAAAAKOIfDoQsXLqh8+fLy8srZ2AJCBIsdP35clSpVsroMAAAAAEAhc+TIEVWsWDFHjyFEsFhwcLAk8x8vJCTE4moAAAAAAAVdVFSUKlWqlHQ9mhOECBZzTmEICQkhRAAAAAAA5JurmVJPY0UAAAAAAJAthAgAAAAAACBbCBEAAAAAAEC20BPBAzgcDiUkJCgxMdHqUoBc5+3tLR8fH5Y4BQAAADwAIYKbi4uL04kTJxQdHW11KUCeCQwMVLly5eTr62t1KQAAAAAyQYjgxux2uw4cOCBvb2+VL19evr6+fFqLAsXhcCguLk6nT5/WgQMHdO2118rLi1lWAAAAgLsiRHBjcXFxstvtqlSpkgIDA60uB8gTAQEBKlKkiA4dOqS4uDj5+/tbXRIAAACADPCRnwfgk1kUdPyOAwAAAJ6Bd+4AAAAAACBbCBHgMdq1a6ennnoq28cfPHhQNptNW7ZsybOaAAAAAKAwIURArrPZbJlu/fr1u6rn/eabb/Tqq69m+/hKlSrpxIkTuv7666/qfFfj1ltvlbe3t9avX59v5wQAAACA/EJjReS6EydOJO3PmzdPo0eP1u7du5NuCwgISHV8fHy8ihQpkuXzlihRIkd1eHt7q2zZsjl6jCsOHz6sdevWafDgwZo2bZqaNWuWb+dOT3Z/rgAAAACQXYxEQK4rW7Zs0hYaGiqbzZb0fUxMjIoVK6b58+erXbt28vf316effqp///1XDzzwgCpWrKjAwEDVq1dPX3zxRarnvXI6Q9WqVTVu3DgNGDBAwcHBqly5sqZOnZp0/5XTGVasWCGbzably5ercePGCgwMVIsWLVIFHJL02muvqUyZMgoODtagQYP0/PPPq0GDBlm+7hkzZuiOO+7Q448/rnnz5unSpUup7j9//rweeeQRXXPNNfL399f111+vH374Ien+NWvWqG3btgoMDFTx4sV122236dy5c0mvdfLkyamer0GDBhozZkzS9zabTR9++KG6deumoKAgvfbaa0pMTNTAgQNVrVo1BQQEqFatWnrnnXfS1D59+nTVrVtXfn5+KleunAYPHixJGjBggO64445UxyYkJKhs2bKaPn16lj8TAAAAAAULIYKncTikS5es2RyOXHsZzz33nJ588knt3LlTt912m2JiYtSoUSP98MMP2r59ux555BE99NBD+u233zJ9nvDwcDVu3FibN2/WE088occff1y7du3K9DEvvPCCwsPD9fvvv8vHx0cDBgxIuu+zzz7T66+/rgkTJmjTpk2qXLmypkyZkuXrcTgcmjFjhnr37q3atWurZs2amj9/ftL9drtdnTp10tq1a/Xpp59qx44deuONN+Tt7S1J2rJlizp06KC6detq3bp1Wr16tbp27arExMQsz53Syy+/rG7duunPP//UgAEDZLfbVbFiRc2fP187duzQ6NGjNWrUqFS1TZkyRf/73//0yCOP6M8//9TChQsVFhYmSRo0aJB++umnVKNLFi9erIsXL6pHjx45qg0AAACA52M6g6eJjpaKFrXm3BcvSkFBufJUTz31lO65555Utz3zzDNJ+0OGDNFPP/2kL7/8UjfddFOGz9O5c2c98cQTkkwwMWnSJK1YsUK1a9fO8DGvv/662rZtK0l6/vnn1aVLF8XExMjf31/vvfeeBg4cqP79+0uSRo8eraVLl+rixYuZvp5ly5YpOjpat912mySpd+/emjZtWtLzLFu2TBs2bNDOnTtVs2ZNSVL16tWTHv/mm2+qcePG+uCDD5Juq1u3bqbnTM+DDz6YKhSRpLFjxybtV6tWTWvXrtX8+fOTQoDXXntNw4cP19ChQ5OOa9KkiSSpRYsWqlWrlubMmaMRI0ZIMiMu7rvvPhW16vcQAAAAgGUYiQBLNG7cONX3iYmJev3111W/fn2VLFlSRYsW1dKlS3X48OFMn6d+/fpJ+85pE6dOncr2Y8qVKydJSY/ZvXu3mjZtmur4K79Pz7Rp09SzZ0/5+Jhc7oEHHtBvv/2WNFViy5YtqlixYlKAcCXnSARXXflzlaQPP/xQjRs3VunSpVW0aFF9/PHHST/XU6dO6fjx45mee9CgQZoxY0bS8YsWLUoTVAAAAAAoHBiJ4GkCA82IAKvOnUuCrhjREB4erkmTJmny5MmqV6+egoKC9NRTTykuLi7T57mycaDNZpPdbs/2Y2w2mySleozzNidHFtM4zp49q2+//Vbx8fGppj4kJiZq+vTpmjBhQppmklfK6n4vL680dcTHx6c57sqf6/z58zVs2DCFh4erefPmCg4O1ltvvZU0TSSr80pSnz599Pzzz2vdunVat26dqlatqtatW2f5OAAAAAAFDyGCp7HZcm1KgTuJiIhQt27d1Lt3b0nmov7vv/9WnTp18rWOWrVqacOGDXrooYeSbvv9998zfcxnn32mihUr6ttvv011+/LlyzV+/PikERZHjx7Vnj170h2NUL9+fS1fvjzV1IOUSpcunaovQVRUlA4cOJDl64mIiFCLFi2SpnxI0r59+5L2g4ODVbVqVS1fvlzt27dP9zlKliypu+66SzNmzNC6deuSpmgAAAAAKHwIEeAWwsLC9PXXX2vt2rUqXry43n77bZ08eTLfQ4QhQ4bo4YcfVuPGjdWiRQvNmzdP27ZtS9W/4ErTpk3Tvffeq+uvvz7V7VWqVNFzzz2nRYsWqVu3bmrTpo26d++ut99+W2FhYdq1a5dsNptuv/12jRw5UvXq1dMTTzyhxx57TL6+vvr111913333qVSpUrr55ps1c+ZMde3aVcWLF9dLL72U1JQxM2FhYZo9e7aWLFmiatWqac6cOdq4caOqVauWdMyYMWP02GOPqUyZMurUqZMuXLigNWvWaMiQIUnHDBo0SHfccYcSExPVt2/fq/jJAgAAACgI6IkAt/DSSy/pxhtv1G233aZ27dqpbNmyuuuuu/K9jl69emnkyJF65plndOONN+rAgQPq16+f/P390z1+06ZN2rp1q7p3757mvuDgYN16662aNm2aJOnrr79WkyZN9MADD+i6667TiBEjklZfqFmzppYuXaqtW7eqadOmat68ub777rukHgsjR45UmzZtdMcdd6hz58666667VKNGjSxfz2OPPaZ77rlHPXv21E033aR///03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evjhhxUcHKwRI0aoZ8+e2r59u3766aekqRehoaFpniM6Olq33367mjVrpo0bN+rUqVMaNGiQBg8erJkzZyYd9+uvv6pcuXL69ddftXfvXvXs2VMNGjTQww8/nOHr2Ldvn9atW6dvvvlGDodDTz31lPbv36/q1atLko4dO6Y2bdqoXbt2+uWXXxQSEqI1a9Yo4b/hi1OmTNHTTz+tN954Q506dVJkZKTWrFmT5c/vSiNGjNDEiRNVvXp1FStWTEePHlXnzp312muvyd/fX7NmzVLXrl21e/duVf6vK22fPn20bt06vfvuu7rhhht04MABnTlzRjabTQMGDNCMGTNShQjTp09X69atCRAAAHknISH5Ij+ji/6sQoG4ONfrCA3NOghIeV+JEp71ibi3t1lRoGxZKbPRpbGx0smTmQcNx49LFy6Ybfdus2XEx0eqUSN1SODcd65wACDPESJ4mOjorEd75ZWLF83KJtkxYMAAvfXWW0mfdEvmIvKee+5R8eLFVbx48VQXmEOGDNFPP/2kL7/8MlshwrJly7Rz504dPHhQFStWlCSNGzdOnTp1SnXciy++mLRftWpVDR8+XPPmzdOIESMUEBCgokWLysfHJ9PpC5999pkuX76s2bNnJ/VkeP/999W1a1dNmDBB11xzjSSpePHiev/99+Xt7a3atWurS5cuWr58eaYhwvTp09WpU6ek/gu33367pk+frtdee02S9H//938KDQ3V3Llzk0Y01KxZM+nxr732moYPH66hQ4cm3dakSZMsf35XeuWVV3TLLbckfV+yZEndcMMNqc6zYMECLVy4UIMHD9aePXs0f/58/fzzz0mjE5zBhyT1799fo0eP1oYNG9S0aVPFx8fr008/1VtvvZXj2gAASGK3m+Hze/ea7e+/k/cPHJCionLnPDabWYouNFQqViz11yv3nYGA82uJEmYIPyQ/P6lKFbNl5sKF5GAhZbgQG2tGEjgDg6pVPStsAQooQgTkidq1a6tFixaaPn262rdvr3379ikiIkJLly6VJCUmJuqNN97QvHnzdOzYMcXGxio2NjbbjRN37typypUrJwUIktS8efM0x3311VeaPHmy9u7dq4sXLyohIUEhISE5ei07d+7UDTfckKq2li1bym63a/fu3UkhQt26deXt7Z10TLly5fTnn39m+LyJiYmaNWtWqmkYvXv3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gLzw0UfSli1SsWLSuHFWVwMAAADATdkcDocjN57IORphxowZ+umnn5SQkCCbzSZJCgwM1H333af+/furdevWuXG6AiMqKkqhoaGKjIxUSEiI1eWgMDp9WqpZUzp/3qzM8MQTVlcEAAAAIA+5ch2aayFCSv/8849mzZqlWbNmJU1rcAYKNWrU0MCBA9WnTx+VK1cut0/tcQgRYLmHH5Y++URq0ED6/XfJ29vqigAAAADkIbcLEVL67bffNG3aNM2fP19RUVHmpDabvL29ddttt2ngwIHq2rWrvAvphQshAiy1YYPUrJnkcEirV0stW1pdEQAAAIA85sp1aJ63X7/ppps0depUffbZZypbtmzSiISEhAQtXrxY3bt3V5UqVTR58mQlJCTkdTkAnOx200zR4ZD69CFAAAAAAJClPA0RDh06pFdeeUXVq1fXnXfeqX/++UcOh0Pe3t7q1KmTKlWqJIfDoePHj2v48OFq1qyZzp07l5clAXCaPl3auFEKCZEmTLC6GgAAAAAeINdDhJiYGH322Wfq2LGjatSoobFjx+rgwYNyOBwKCwvTG2+8oaNHj2rRokU6ePCglixZoo4dO8rhcGjz5s0aO3ZsbpcE4EoxMdLLL5v9MWOksmUtLQcAAACAZ8i1ngjr16/XjBkzNG/ePF24cEGS5HA45O/vr+7du+vhhx9WmzZtMnz80KFD9d5776lq1arav39/bpTkEeiJAEt88IH0v/9JFStKe/dKfn5WVwQAAAAgn7hyHerjyolPnDihOXPmaMaMGdqzZ48kExxI0g033KBBgwapd+/eCg0NzfK5+vXrp/fee09HjhxxpSQAWYmLk954w+w//zwBAgAAAIBscylEqFy5sux2e1JwEBISovvvv1+DBg1S48aNc/RczvTDbre7UhKArMyeLR05IpUrJw0caHU1AAAAADyISyFCYmKiJKl58+Z6+OGH1aNHDwUGBl7Vc11zzTWaMWOGK+UAyEp8vDRunNl/9lnJ39/aegAAAAB4FJdChGHDhmnQoEGqU6eOy4UULVpUffv2dfl5AGTi88+lAwekMmWkRx+1uhoAAAAAHsalECE8PDy36gCQ1xITk0chDB8uXeWoIQAAAACFV64v8QjATc2fL+3ZI5UoIT3+uNXVAAAAAPBALoUIZ86c0YABAzRgwAAdP348y+OPHTumAQMGaODA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AG71+9//vsTbGpKSkrRy5UpJUs+ePdW7d+8ix59++mlJUm5urh5//HFzxYKj999/Xzt27JAkTZw4sdgGinPmzJEkZWVladKkSbp27VqpcaalpVXgqgAAqBtKf8YSAADAbS5fvlzksYmladiwoTp06FDs/e7du+vo0aPq2bOn5s6dqz59+ignJ0fbt2/XkiVLZLfb5eXlpXfeeafYuSNHjtSkSZP0ySefKCEhQX379tXs2bMVERGhjIwMrV+/3lzJ0Lx5cy1evLjYGKNHj9bUqVO1evVqffPNN7rzzjs1a9Ys9e/fX40bN1Z6eroOHjyoDRs26K677tLatWsr/h8JAIBajCICAACwbMWKFVqxYkW5/bp3764jR44Ue79Hjx6aNWuWZs6cqVmzZhU77u3trQ8++EB9+/Ytcdx169bJbrdr8+bNOnLkiB599NFifYKDgxUfH682bdqUOEZcXJwaNmyod955RxcvXtS8efNK7HfXXXeVcYUAANRN3M4AAADcatq0afr66681efJkBQcHy9vbW23atNGUKVN0+PBhPfTQQ6We6+vrq02bNmnLli2aMGGCeX6zZs3Ut29fvfnmmzpx4oR69OhR6hj169fX8uXLdfDgQU2fPl3h4eHy9/eXn5+fOnXqpPvvv1+rVq3SkiVLXHD1AADUbDajvIcxAwAAVFFYWJjOnj2rmJgYbhEAAKAGYyUCAAAAAACwhCICAAAAAACwhCICAAAAAACwhCICAAAAAACwhCICAAAAAACwhKczAAAAAAAAS1iJAAAAAAAALKGIAAAAAAAALKGIAAAAAAAALKGIAAAAAAAALKGIAAAAAAAALKGIAAAAAAAALKGIAAAAAAAALKGIAAAAAAAALKGIAAAAAAAALPlfs11/atq4kcwAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Plot Accuracy Over Number of Epochs\n", + "\n", + "fig, ax = plt.subplots(1, 1, figsize=(12,8))\n", + "ax.plot(history.history['accuracy'], 'r', label='Training Accuracy')\n", + "ax.plot(history.history['val_accuracy'], 'b' ,label='Validation Accuracy')\n", + "ax.set_xlabel(r'Epoch', fontsize=20)\n", + "ax.set_ylabel(r'Accuracy', fontsize=20)\n", + "ax.legend()\n", + "ax.tick_params(labelsize=20)" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "f9d8fc87-af42-4ab2-afdd-680ebdf27216", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Fitting 3 folds for each of 108 candidates, totalling 324 fits\n" + ] }, { "name": "stderr", @@ -1827,590 +2996,1468 @@ "103/103 [==============================] - 3s 25ms/step\n", " 75/103 [====================>.........] - ETA: 0s[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.01, num_1=60; total time= 29.2s\n", "103/103 [==============================] - 3s 21ms/step\n", - "[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.01, num_1=60; total time= 29.4s\n", - " 91/103 [=========================>....] - ETA: 0s[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.01, num_1=60; total time= 29.6s\n", + "[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.01, num_1=60; total time= 29.4s\n", + " 91/103 [=========================>....] - ETA: 0s[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.01, num_1=60; total time= 29.6s\n", + "103/103 [==============================] - 2s 20ms/step\n", + " 82/103 [======================>.......] - ETA: 0s[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.01, num_1=80; total time= 30.0s\n", + "103/103 [==============================] - 2s 13ms/step\n", + "103/103 [==============================] - 2s 13ms/step\n", + "103/103 [==============================] - 2s 13ms/step\n", + "103/103 [==============================] - 1s 7ms/step\n", + "[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.01, num_1=80; total time= 33.3s\n", + " 7/103 [=>............................] - ETA: 0s [CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.01, num_1=80; total time= 33.2s\n", + " 19/103 [====>.........................] - ETA: 2s[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.01, num_1=100; total time= 32.6s\n", + " 60/103 [================>.............] - ETA: 0s[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.01, num_1=100; total time= 32.7s\n", + " 46/103 [============>.................] - ETA: 1s[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.001, num_1=60; total time= 32.4s\n", + " 74/103 [====================>.........] - ETA: 0s[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.001, num_1=60; total time= 31.8s\n", + "103/103 [==============================] - 2s 21ms/step\n", + "103/103 [==============================] - 2s 21ms/step\n", + "103/103 [==============================] - 2s 21ms/step\n", + " 87/103 [========================>.....] - ETA: 0s[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.001, num_1=60; total time= 32.7s\n", + " 7/103 [=>............................] - ETA: 0s [CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.01, num_1=100; total time= 32.8s\n", + "103/103 [==============================] - 2s 17ms/step\n", + "103/103 [==============================] - 2s 17ms/step\n", + "103/103 [==============================] - 2s 15ms/step\n", + "103/103 [==============================] - 2s 12ms/step\n", + "103/103 [==============================] - 1s 12ms/step\n", + "[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.001, num_1=80; total time= 26.7s\n", + " 1/103 [..............................] - ETA: 12s[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.001, num_1=80; total time= 27.4s\n", + " 38/103 [==========>...................] - ETA: 1s[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.001, num_1=80; total time= 26.4s\n", + " 17/103 [===>..........................] - ETA: 1s[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.01, num_1=60; total time= 25.6s\n", + " 65/103 [=================>............] - ETA: 0s[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.001, num_1=100; total time= 26.7s\n", + "103/103 [==============================] - 2s 21ms/step\n", + "103/103 [==============================] - 2s 22ms/step\n", + "[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.01, num_1=60; total time= 25.5s\n", + "103/103 [==============================] - 2s 19ms/step\n", + "103/103 [==============================] - 2s 17ms/step\n", + "103/103 [==============================] - 2s 17ms/step\n", + "103/103 [==============================] - 2s 14ms/step\n", + "[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.001, num_1=100; total time= 26.9s\n", + " 7/103 [=>............................] - ETA: 0s[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.001, num_1=100; total time= 26.9s\n", + "103/103 [==============================] - 2s 14ms/step\n", + "103/103 [==============================] - 1s 14ms/step\n", + "[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.01, num_1=80; total time= 25.9s\n", + " 5/103 [>.............................] - ETA: 3s[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.01, num_1=60; total time= 25.9s\n", + " 40/103 [==========>...................] - ETA: 1s[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.01, num_1=80; total time= 26.2s\n", + " 17/103 [===>..........................] - ETA: 2s[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.01, num_1=80; total time= 26.0s\n", + " 14/103 [===>..........................] - ETA: 1s[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.01, num_1=100; total time= 25.8s\n", + " 4/103 [>.............................] - ETA: 1s [CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.01, num_1=100; total time= 26.0s\n", + "103/103 [==============================] - 3s 22ms/step\n", + "103/103 [==============================] - 3s 23ms/step\n", + "103/103 [==============================] - 2s 20ms/step\n", + "103/103 [==============================] - 2s 18ms/step\n", + "103/103 [==============================] - 2s 18ms/step\n", + "103/103 [==============================] - 2s 19ms/step\n", + "[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.001, num_1=60; total time= 26.5s\n", + " 8/103 [=>............................] - ETA: 0s[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.01, num_1=100; total time= 26.7s\n", + "103/103 [==============================] - 2s 18ms/step\n", + "103/103 [==============================] - 2s 22ms/step\n", + "[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.001, num_1=60; total time= 27.9s\n", + " 30/103 [=======>......................] - ETA: 2s[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.001, num_1=60; total time= 28.4s\n", + " 8/103 [=>............................] - ETA: 2s[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.001, num_1=80; total time= 28.1s\n", + " 50/103 [=============>................] - ETA: 1s[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.001, num_1=80; total time= 28.3s\n", + " 1/103 [..............................] - ETA: 16s[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.001, num_1=80; total time= 28.1s\n", + "100/103 [============================>.] - ETA: 0s[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.001, num_1=100; total time= 28.0s\n", + "103/103 [==============================] - 3s 28ms/step\n", + "103/103 [==============================] - 3s 23ms/step\n", + "103/103 [==============================] - 3s 23ms/step\n", + "103/103 [==============================] - 3s 22ms/step\n", + "103/103 [==============================] - 3s 23ms/step\n", + "103/103 [==============================] - 2s 18ms/step\n", + "[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.001, num_1=100; total time= 28.9s\n", + " 38/103 [==========>...................] - ETA: 0s[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.001, num_1=100; total time= 29.3s\n", + "103/103 [==============================] - 2s 24ms/step\n", + "103/103 [==============================] - 3s 31ms/step\n", + "[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.01, num_1=60; total time= 32.7s\n", + " 6/103 [>.............................] - ETA: 1s [CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.01, num_1=60; total time= 32.4s\n", + " 20/103 [====>.........................] - ETA: 4s[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.01, num_1=60; total time= 32.3s\n", + " 7/103 [=>............................] - ETA: 2s[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.01, num_1=80; total time= 32.3s\n", + " 50/103 [=============>................] - ETA: 1s[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.01, num_1=80; total time= 32.2s\n", + " 25/103 [======>.......................] - ETA: 2s[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.01, num_1=80; total time= 32.7s\n", + "103/103 [==============================] - 4s 34ms/step\n", + "103/103 [==============================] - 4s 36ms/step\n", + "103/103 [==============================] - 4s 31ms/step\n", + "103/103 [==============================] - 4s 29ms/step\n", + "103/103 [==============================] - 3s 26ms/step\n", + "103/103 [==============================] - 3s 25ms/step\n", + "[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.01, num_1=100; total time= 33.1s\n", + " 61/103 [================>.............] - ETA: 0s[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.01, num_1=100; total time= 33.8s\n", + "103/103 [==============================] - 2s 14ms/step\n", + "103/103 [==============================] - 3s 33ms/step\n", + "[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.001, num_1=60; total time= 36.2s\n", + " 16/103 [===>..........................] - ETA: 2s[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.001, num_1=60; total time= 36.5s\n", + "103/103 [==============================] - 3s 27ms/step\n", + " 89/103 [========================>.....] - ETA: 0s[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.001, num_1=80; total time= 36.4s\n", + "103/103 [==============================] - 3s 26ms/step\n", + " 20/103 [====>.........................] - ETA: 1s[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.001, num_1=80; total time= 36.8s\n", + " 5/103 [>.............................] - ETA: 1s [CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.01, num_1=100; total time= 37.9s\n", + " 34/103 [========>.....................] - ETA: 1s[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.001, num_1=60; total time= 36.8s\n", + "103/103 [==============================] - 3s 21ms/step\n", + "100/103 [============================>.] - ETA: 0s[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.001, num_1=80; total time= 35.3s\n", + "103/103 [==============================] - 3s 20ms/step\n", + "103/103 [==============================] - 2s 20ms/step\n", + "103/103 [==============================] - 2s 19ms/step\n", + " 24/103 [=====>........................] - ETA: 0s[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.001, num_1=100; total time= 36.7s\n", + "103/103 [==============================] - 2s 17ms/step\n", + "103/103 [==============================] - 2s 21ms/step\n", + "[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.001, num_1=100; total time= 38.6s\n", + " 7/103 [=>............................] - ETA: 0s [CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.001, num_1=100; total time= 38.6s\n", + " 58/103 [===============>..............] - ETA: 1s[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.01, num_1=60; total time= 40.3s\n", + " 22/103 [=====>........................] - ETA: 1s[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.01, num_1=80; total time= 39.6s\n", + " 25/103 [======>.......................] - ETA: 1s[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.01, num_1=60; total time= 40.0s\n", + "103/103 [==============================] - 3s 27ms/step\n", + " 30/103 [=======>......................] - ETA: 1s[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.01, num_1=60; total time= 40.3s\n", + "103/103 [==============================] - 3s 29ms/step\n", + "103/103 [==============================] - 3s 24ms/step\n", + "103/103 [==============================] - 3s 23ms/step\n", + "103/103 [==============================] - 3s 23ms/step\n", + "103/103 [==============================] - 3s 20ms/step\n", + "[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.01, num_1=80; total time= 39.8s\n", + " 38/103 [==========>...................] - ETA: 0s[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.01, num_1=80; total time= 38.0s\n", + "103/103 [==============================] - 2s 17ms/step\n", + "103/103 [==============================] - 2s 24ms/step\n", + "[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.001, num_1=60; total time= 30.4s\n", + " 17/103 [===>..........................] - ETA: 2s[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.001, num_1=60; total time= 30.5s\n", + "103/103 [==============================] - 3s 23ms/step\n", + "103/103 [==============================] - 2s 22ms/step\n", + "[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.001, num_1=80; total time= 30.9s\n", + " 48/103 [============>.................] - ETA: 1s[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.001, num_1=80; total time= 31.3s\n", + "103/103 [==============================] - 2s 17ms/step\n", + " 95/103 [==========================>...] - ETA: 0s[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.01, num_1=100; total time= 31.0s\n", + "103/103 [==============================] - 2s 17ms/step\n", + " 8/103 [=>............................] - ETA: 1s[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.01, num_1=100; total time= 31.2s\n", + " 26/103 [======>.......................] - ETA: 2s[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.001, num_1=60; total time= 30.0s\n", + " 20/103 [====>.........................] - ETA: 2s[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.01, num_1=100; total time= 30.6s\n", + "103/103 [==============================] - 3s 25ms/step\n", + "103/103 [==============================] - 3s 25ms/step\n", + "103/103 [==============================] - 3s 23ms/step\n", + "103/103 [==============================] - 2s 21ms/step\n", + "[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.01, num_1=60; total time= 25.6s\n", + " 62/103 [=================>............] - ETA: 1s[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.01, num_1=60; total time= 25.6s\n", + "103/103 [==============================] - 3s 29ms/step\n", + "103/103 [==============================] - 3s 24ms/step\n", + "[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.01, num_1=60; total time= 26.7s\n", + " 39/103 [==========>...................] - ETA: 1s[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.01, num_1=80; total time= 26.7s\n", + "103/103 [==============================] - 3s 25ms/step\n", + " 95/103 [==========================>...] - ETA: 0s[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.001, num_1=100; total time= 34.0s\n", + " 1/103 [..............................] - ETA: 14s[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.001, num_1=80; total time= 34.4s\n", + "103/103 [==============================] - 3s 26ms/step\n", + " 36/103 [=========>....................] - ETA: 1s[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.001, num_1=100; total time= 33.6s\n", + " 8/103 [=>............................] - ETA: 1s[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.001, num_1=100; total time= 33.7s\n", + "103/103 [==============================] - 2s 16ms/step\n", + "103/103 [==============================] - 2s 17ms/step\n", + "103/103 [==============================] - 2s 14ms/step\n", + "103/103 [==============================] - 2s 13ms/step\n", + "[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.01, num_1=80; total time= 25.0s\n", + " 64/103 [=================>............] - ETA: 1s[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.01, num_1=80; total time= 26.2s\n", + "103/103 [==============================] - 3s 30ms/step\n", + "103/103 [==============================] - 3s 28ms/step\n", + "[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.01, num_1=100; total time= 28.2s\n", + " 20/103 [====>.........................] - ETA: 2s[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.01, num_1=100; total time= 28.2s\n", + " 95/103 [==========================>...] - ETA: 0s[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.001, num_1=60; total time= 27.0s\n", + "103/103 [==============================] - 3s 27ms/step\n", + " 97/103 [===========================>..] - ETA: 0s[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.01, num_1=100; total time= 27.2s\n", + "103/103 [==============================] - 3s 25ms/step\n", + "103/103 [==============================] - 2s 21ms/step\n", + "103/103 [==============================] - 2s 18ms/step\n", + "[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.001, num_1=60; total time= 26.9s\n", + " 8/103 [=>............................] - ETA: 1s[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.001, num_1=60; total time= 26.7s\n", + "103/103 [==============================] - 2s 15ms/step\n", + "103/103 [==============================] - 2s 16ms/step\n", + "[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.001, num_1=80; total time= 25.6s\n", + " 76/103 [=====================>........] - ETA: 0s[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.001, num_1=80; total time= 25.9s\n", + "103/103 [==============================] - 3s 28ms/step\n", + "103/103 [==============================] - 3s 27ms/step\n", + "[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.001, num_1=80; total time= 28.8s\n", + " 43/103 [===========>..................] - ETA: 1s[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.001, num_1=100; total time= 28.1s\n", + "103/103 [==============================] - 3s 28ms/step\n", + " 59/103 [================>.............] - ETA: 1s[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.001, num_1=100; total time= 28.2s\n", + "103/103 [==============================] - 3s 25ms/step\n", + " 47/103 [============>.................] - ETA: 1s[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.01, num_1=60; total time= 30.4s\n", + " 52/103 [==============>...............] - ETA: 1s[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.001, num_1=100; total time= 29.2s\n", + " 35/103 [=========>....................] - ETA: 1s[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.01, num_1=60; total time= 30.0s\n", + "103/103 [==============================] - 2s 20ms/step\n", + "103/103 [==============================] - 2s 17ms/step\n", + "103/103 [==============================] - 2s 16ms/step\n", + "103/103 [==============================] - 2s 14ms/step\n", + "[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.01, num_1=60; total time= 30.2s\n", + " 27/103 [======>.......................] - ETA: 1s[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.01, num_1=80; total time= 30.5s\n", + "103/103 [==============================] - 3s 22ms/step\n", + "103/103 [==============================] - 3s 24ms/step\n", + "[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.01, num_1=80; total time= 31.2s\n", + " 1/103 [..............................] - ETA: 39s[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.01, num_1=80; total time= 31.8s\n", + "103/103 [==============================] - 3s 22ms/step\n", + "103/103 [==============================] - 3s 23ms/step\n", + "[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.01, num_1=100; total time= 31.3s\n", + " 28/103 [=======>......................] - ETA: 0s[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.001, num_1=60; total time= 29.5s\n", + " 33/103 [========>.....................] - ETA: 0s[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.01, num_1=100; total time= 31.3s\n", + " 6/103 [>.............................] - ETA: 0s [CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.01, num_1=100; total time= 30.3s\n", + "103/103 [==============================] - 2s 14ms/step\n", + "103/103 [==============================] - 2s 14ms/step\n", + "103/103 [==============================] - 2s 15ms/step\n", + "103/103 [==============================] - 2s 15ms/step\n", + "[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.001, num_1=60; total time= 29.8s\n", + " 15/103 [===>..........................] - ETA: 2s[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.001, num_1=60; total time= 28.5s\n", + "103/103 [==============================] - 3s 25ms/step\n", + "103/103 [==============================] - 3s 24ms/step\n", + "[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.001, num_1=80; total time= 28.1s\n", + " 7/103 [=>............................] - ETA: 0s [CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.001, num_1=80; total time= 27.2s\n", + " 70/103 [===================>..........] - ETA: 0s[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.001, num_1=80; total time= 28.0s\n", + " 18/103 [====>.........................] - ETA: 1s[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.001, num_1=100; total time= 27.5s\n", + " 97/103 [===========================>..] - ETA: 0s[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.001, num_1=100; total time= 27.2s\n", + " 5/103 [>.............................] - ETA: 1s [CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.001, num_1=100; total time= 27.5s\n", + "103/103 [==============================] - 3s 22ms/step\n", + "103/103 [==============================] - 3s 22ms/step\n", + "103/103 [==============================] - 2s 18ms/step\n", + "103/103 [==============================] - 2s 17ms/step\n", + "103/103 [==============================] - 2s 18ms/step\n", + "103/103 [==============================] - 2s 18ms/step\n", + "[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.01, num_1=60; total time= 26.7s\n", + " 7/103 [=>............................] - ETA: 4s[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.01, num_1=60; total time= 27.2s\n", + "103/103 [==============================] - 3s 28ms/step\n", + "103/103 [==============================] - 3s 29ms/step\n", + "[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.01, num_1=80; total time= 26.5s\n", + " 12/103 [==>...........................] - ETA: 2s[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.01, num_1=60; total time= 26.5s\n", + " 28/103 [=======>......................] - ETA: 2s[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.01, num_1=80; total time= 25.9s\n", + " 31/103 [========>.....................] - ETA: 2s[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.01, num_1=100; total time= 25.9s\n", + " 4/103 [>.............................] - ETA: 4s[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.01, num_1=100; total time= 25.8s\n", + " 92/103 [=========================>....] - ETA: 0s[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.01, num_1=80; total time= 25.8s\n", + "103/103 [==============================] - 3s 23ms/step\n", + "103/103 [==============================] - 3s 24ms/step\n", + "103/103 [==============================] - 2s 20ms/step\n", + "103/103 [==============================] - 3s 21ms/step\n", + "103/103 [==============================] - 2s 22ms/step\n", + "103/103 [==============================] - 2s 18ms/step\n", + "[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.001, num_1=60; total time= 27.4s\n", + " 4/103 [>.............................] - ETA: 8s[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.01, num_1=100; total time= 28.3s\n", + "103/103 [==============================] - 4s 35ms/step\n", + "103/103 [==============================] - 3s 33ms/step\n", + "[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.001, num_1=60; total time= 28.5s\n", + " 5/103 [>.............................] - ETA: 3s[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.001, num_1=80; total time= 27.9s\n", + " 30/103 [=======>......................] - ETA: 2s[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.001, num_1=60; total time= 29.0s\n", + " 21/103 [=====>........................] - ETA: 2s[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.001, num_1=100; total time= 27.9s\n", + " 39/103 [==========>...................] - ETA: 1s[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.001, num_1=80; total time= 28.3s\n", + " 43/103 [===========>..................] - ETA: 1s[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.001, num_1=80; total time= 28.6s\n", + "103/103 [==============================] - 3s 26ms/step\n", + "103/103 [==============================] - 3s 25ms/step\n", + "103/103 [==============================] - 3s 23ms/step\n", + "103/103 [==============================] - 2s 21ms/step\n", + "103/103 [==============================] - 3s 19ms/step\n", + "103/103 [==============================] - 2s 19ms/step\n", + "[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.001, num_1=100; total time= 30.5s\n", + " 9/103 [=>............................] - ETA: 1s[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.001, num_1=100; total time= 30.8s\n", + "103/103 [==============================] - 3s 30ms/step\n", + "103/103 [==============================] - 3s 31ms/step\n", + "[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.01, num_1=60; total time= 30.8s\n", + " 5/103 [>.............................] - ETA: 2s[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.01, num_1=60; total time= 30.6s\n", + " 16/103 [===>..........................] - ETA: 2s[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.01, num_1=60; total time= 29.6s\n", + " 22/103 [=====>........................] - ETA: 2s[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.01, num_1=80; total time= 30.5s\n", + " 45/103 [============>.................] - ETA: 1s[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.01, num_1=80; total time= 30.7s\n", + " 51/103 [=============>................] - ETA: 1s[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.01, num_1=80; total time= 30.2s\n", + "103/103 [==============================] - 3s 22ms/step\n", + "103/103 [==============================] - 3s 24ms/step\n", + "103/103 [==============================] - 3s 22ms/step\n", + "103/103 [==============================] - 3s 21ms/step\n", "103/103 [==============================] - 2s 20ms/step\n", - " 82/103 [======================>.......] - ETA: 0s[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.01, num_1=80; total time= 30.0s\n", - "103/103 [==============================] - 2s 13ms/step\n", - "103/103 [==============================] - 2s 13ms/step\n", - "103/103 [==============================] - 2s 13ms/step\n", - "103/103 [==============================] - 1s 7ms/step\n", - "[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.01, num_1=80; total time= 33.3s\n", - " 7/103 [=>............................] - ETA: 0s [CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.01, num_1=80; total time= 33.2s\n", - " 19/103 [====>.........................] - ETA: 2s[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.01, num_1=100; total time= 32.6s\n", - " 60/103 [================>.............] - ETA: 0s[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.01, num_1=100; total time= 32.7s\n", - " 46/103 [============>.................] - ETA: 1s[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.001, num_1=60; total time= 32.4s\n", - " 74/103 [====================>.........] - ETA: 0s[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.001, num_1=60; total time= 31.8s\n", + "103/103 [==============================] - 2s 20ms/step\n", + "[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.01, num_1=100; total time= 30.3s\n", + " 25/103 [======>.......................] - ETA: 2s[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.01, num_1=100; total time= 30.6s\n", + "103/103 [==============================] - 4s 37ms/step\n", + "103/103 [==============================] - 4s 38ms/step\n", + "[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.01, num_1=100; total time= 30.6s\n", + " 1/103 [..............................] - ETA: 20s[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.001, num_1=60; total time= 29.7s\n", + "103/103 [==============================] - 3s 32ms/step\n", + "103/103 [==============================] - 4s 33ms/step\n", + "[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.001, num_1=60; total time= 30.7s\n", + " 11/103 [==>...........................] - ETA: 1s[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.001, num_1=80; total time= 30.1s\n", + " 14/103 [===>..........................] - ETA: 2s[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.001, num_1=60; total time= 30.0s\n", + " 11/103 [==>...........................] - ETA: 2s[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.001, num_1=80; total time= 30.1s\n", + "103/103 [==============================] - 2s 21ms/step\n", "103/103 [==============================] - 2s 21ms/step\n", + "103/103 [==============================] - 2s 20ms/step\n", + "103/103 [==============================] - 2s 20ms/step\n", + "[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.001, num_1=100; total time= 31.4s\n", + " 15/103 [===>..........................] - ETA: 3s[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.001, num_1=80; total time= 30.7s\n", + "103/103 [==============================] - 3s 29ms/step\n", + "103/103 [==============================] - 3s 29ms/step\n", + "[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.001, num_1=100; total time= 33.4s\n", + " 7/103 [=>............................] - ETA: 4s[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.001, num_1=100; total time= 33.0s\n", + "103/103 [==============================] - 4s 30ms/step\n", + "[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.01, num_1=60; total time= 35.7s\n", + "103/103 [==============================] - 3s 29ms/step\n", + " 18/103 [====>.........................] - ETA: 1s[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.01, num_1=60; total time= 35.5s\n", + " 22/103 [=====>........................] - ETA: 1s[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.01, num_1=60; total time= 35.6s\n", + " 31/103 [========>.....................] - ETA: 1s[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.01, num_1=80; total time= 35.5s\n", + "103/103 [==============================] - 2s 20ms/step\n", + "103/103 [==============================] - 2s 19ms/step\n", + "103/103 [==============================] - 2s 19ms/step\n", + "103/103 [==============================] - 2s 19ms/step\n", + "[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.01, num_1=80; total time= 30.1s\n", + " 15/103 [===>..........................] - ETA: 2s[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.01, num_1=80; total time= 31.5s\n", + "103/103 [==============================] - 3s 29ms/step\n", + "103/103 [==============================] - 3s 28ms/step\n", + "[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.01, num_1=100; total time= 30.9s\n", + " 72/103 [===================>..........] - ETA: 1s[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.01, num_1=100; total time= 31.1s\n", + "103/103 [==============================] - 4s 34ms/step\n", + " 46/103 [============>.................] - ETA: 1s[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.001, num_1=60; total time= 30.2s\n", + " 1/103 [..............................] - ETA: 26s[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.001, num_1=60; total time= 29.9s\n", + "103/103 [==============================] - 3s 26ms/step\n", + " 78/103 [=====================>........] - ETA: 0s[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.01, num_1=100; total time= 30.6s\n", + " 6/103 [>.............................] - ETA: 2s[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.001, num_1=60; total time= 30.2s\n", "103/103 [==============================] - 2s 21ms/step\n", + "103/103 [==============================] - 3s 22ms/step\n", + "103/103 [==============================] - 2s 19ms/step\n", + "103/103 [==============================] - 2s 18ms/step\n", + "[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.001, num_1=80; total time= 29.6s\n", + " 25/103 [======>.......................] - ETA: 3s[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.001, num_1=80; total time= 29.3s\n", + "103/103 [==============================] - 4s 37ms/step\n", + "103/103 [==============================] - 4s 37ms/step\n", + "[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.001, num_1=80; total time= 29.9s\n", + " 40/103 [==========>...................] - ETA: 3s[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.001, num_1=100; total time= 31.5s\n", + " 74/103 [====================>.........] - ETA: 1s[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.001, num_1=100; total time= 30.2s\n", + " 99/103 [===========================>..] - ETA: 0s[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.001, num_1=100; total time= 30.6s\n", + "103/103 [==============================] - 4s 41ms/step\n", + "103/103 [==============================] - 4s 33ms/step\n", + " 78/103 [=====================>........] - ETA: 0s[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.01, num_1=60; total time= 31.5s\n", + " 5/103 [>.............................] - ETA: 1s [CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.01, num_1=60; total time= 31.5s\n", + "103/103 [==============================] - 3s 27ms/step\n", + "103/103 [==============================] - 3s 25ms/step\n", + "103/103 [==============================] - 2s 19ms/step\n", + "103/103 [==============================] - 2s 20ms/step\n", + "[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.01, num_1=60; total time= 34.5s\n", + " 49/103 [=============>................] - ETA: 2s[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.01, num_1=80; total time= 35.2s\n", + "103/103 [==============================] - 5s 45ms/step\n", + "103/103 [==============================] - 5s 40ms/step\n", + "[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.01, num_1=80; total time= 38.8s\n", + " 18/103 [====>.........................] - ETA: 4s[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.01, num_1=80; total time= 38.2s\n", + " 26/103 [======>.......................] - ETA: 3s[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.01, num_1=100; total time= 38.2s\n", + " 43/103 [===========>..................] - ETA: 2s[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.01, num_1=100; total time= 38.1s\n", + " 1/103 [..............................] - ETA: 12s[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.01, num_1=100; total time= 38.7s\n", + " 27/103 [======>.......................] - ETA: 2s[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.001, num_1=60; total time= 38.0s\n", + "103/103 [==============================] - 5s 42ms/step\n", + "103/103 [==============================] - 4s 39ms/step\n", + "103/103 [==============================] - 4s 39ms/step\n", + "103/103 [==============================] - 4s 31ms/step\n", + "103/103 [==============================] - 3s 32ms/step\n", + "103/103 [==============================] - 3s 27ms/step\n", + "[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.001, num_1=60; total time= 37.4s\n", + " 46/103 [============>.................] - ETA: 0s[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.001, num_1=60; total time= 38.2s\n", + "103/103 [==============================] - 2s 19ms/step\n", + "103/103 [==============================] - 3s 29ms/step\n", + "[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.001, num_1=80; total time= 44.4s\n", + " 17/103 [===>..........................] - ETA: 2s[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.001, num_1=80; total time= 43.8s\n", + " 42/103 [===========>..................] - ETA: 1s[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.001, num_1=80; total time= 43.4s\n", + " 82/103 [======================>.......] - ETA: 0s[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.001, num_1=100; total time= 43.8s\n", + " 89/103 [========================>.....] - ETA: 0s[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.001, num_1=100; total time= 43.1s\n", + "103/103 [==============================] - 3s 26ms/step\n", + " 78/103 [=====================>........] - ETA: 0s[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.001, num_1=100; total time= 43.6s\n", + "103/103 [==============================] - 3s 24ms/step\n", "103/103 [==============================] - 2s 21ms/step\n", - " 87/103 [========================>.....] - ETA: 0s[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.001, num_1=60; total time= 32.7s\n", - " 7/103 [=>............................] - ETA: 0s [CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.01, num_1=100; total time= 32.8s\n", - "103/103 [==============================] - 2s 17ms/step\n", + "103/103 [==============================] - 2s 18ms/step\n", "103/103 [==============================] - 2s 17ms/step\n", - "103/103 [==============================] - 2s 15ms/step\n", - "103/103 [==============================] - 2s 12ms/step\n", - "103/103 [==============================] - 1s 12ms/step\n", - "[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.001, num_1=80; total time= 26.7s\n", - " 1/103 [..............................] - ETA: 12s[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.001, num_1=80; total time= 27.4s\n", - " 38/103 [==========>...................] - ETA: 1s[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.001, num_1=80; total time= 26.4s\n", - " 17/103 [===>..........................] - ETA: 1s[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.01, num_1=60; total time= 25.6s\n", - " 65/103 [=================>............] - ETA: 0s[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.001, num_1=100; total time= 26.7s\n", - "103/103 [==============================] - 2s 21ms/step\n", + "103/103 [==============================] - 2s 14ms/step\n", + "[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.01, num_1=60; total time= 27.9s\n", + " 25/103 [======>.......................] - ETA: 0s[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.01, num_1=60; total time= 27.9s\n", + "103/103 [==============================] - 1s 9ms/step\n", + "103/103 [==============================] - 1s 11ms/step\n", + "[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.01, num_1=80; total time= 32.7s\n", + " 9/103 [=>............................] - ETA: 4s[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.01, num_1=60; total time= 32.8s\n", + " 46/103 [============>.................] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.01, num_1=80; total time= 32.7s\n", + " 15/103 [===>..........................] - ETA: 2s[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.01, num_1=100; total time= 32.2s\n", + " 23/103 [=====>........................] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.01, num_1=100; total time= 32.4s\n", + "103/103 [==============================] - 2s 23ms/step\n", + " 42/103 [===========>..................] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.01, num_1=80; total time= 33.0s\n", "103/103 [==============================] - 2s 22ms/step\n", - "[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.01, num_1=60; total time= 25.5s\n", "103/103 [==============================] - 2s 19ms/step\n", "103/103 [==============================] - 2s 17ms/step\n", - "103/103 [==============================] - 2s 17ms/step\n", - "103/103 [==============================] - 2s 14ms/step\n", - "[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.001, num_1=100; total time= 26.9s\n", - " 7/103 [=>............................] - ETA: 0s[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.001, num_1=100; total time= 26.9s\n", + "103/103 [==============================] - 2s 16ms/step\n", "103/103 [==============================] - 2s 14ms/step\n", - "103/103 [==============================] - 1s 14ms/step\n", - "[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.01, num_1=80; total time= 25.9s\n", - " 5/103 [>.............................] - ETA: 3s[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.01, num_1=60; total time= 25.9s\n", - " 40/103 [==========>...................] - ETA: 1s[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.01, num_1=80; total time= 26.2s\n", - " 17/103 [===>..........................] - ETA: 2s[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.01, num_1=80; total time= 26.0s\n", - " 14/103 [===>..........................] - ETA: 1s[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.01, num_1=100; total time= 25.8s\n", - " 4/103 [>.............................] - ETA: 1s [CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.01, num_1=100; total time= 26.0s\n", - "103/103 [==============================] - 3s 22ms/step\n", + "[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.001, num_1=60; total time= 29.0s\n", + " 39/103 [==========>...................] - ETA: 0s[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.01, num_1=100; total time= 31.1s\n", + "103/103 [==============================] - 1s 8ms/step\n", + "103/103 [==============================] - 1s 8ms/step\n", + "[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.001, num_1=60; total time= 24.5s\n", + " 38/103 [==========>...................] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.001, num_1=60; total time= 25.3s\n", + " 30/103 [=======>......................] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.001, num_1=80; total time= 25.1s\n", + " 13/103 [==>...........................] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.001, num_1=80; total time= 24.6s\n", "103/103 [==============================] - 3s 23ms/step\n", + " 45/103 [============>.................] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.001, num_1=80; total time= 24.3s\n", + "103/103 [==============================] - 3s 22ms/step\n", + " 71/103 [===================>..........] - ETA: 0s[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.001, num_1=100; total time= 24.5s\n", + "103/103 [==============================] - 2s 19ms/step\n", + "103/103 [==============================] - 2s 19ms/step\n", + "103/103 [==============================] - 2s 15ms/step\n", + " 78/103 [=====================>........] - ETA: 0s[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.001, num_1=100; total time= 25.0s\n", + "103/103 [==============================] - 2s 13ms/step\n", + " 39/103 [==========>...................] - ETA: 0s[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.001, num_1=100; total time= 25.5s\n", + "103/103 [==============================] - 1s 11ms/step\n", + "103/103 [==============================] - 1s 10ms/step\n", + "[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.01, num_1=60; total time= 25.3s\n", + " 19/103 [====>.........................] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.01, num_1=80; total time= 25.3s\n", + " 4/103 [>.............................] - ETA: 2s [CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.01, num_1=60; total time= 25.0s\n", + " 30/103 [=======>......................] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.01, num_1=60; total time= 25.4s\n", + " 6/103 [>.............................] - ETA: 3s[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.01, num_1=80; total time= 25.6s\n", + " 62/103 [=================>............] - ETA: 0s[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.01, num_1=80; total time= 25.7s\n", + " 59/103 [================>.............] - ETA: 0s[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.01, num_1=100; total time= 24.9s\n", + "103/103 [==============================] - 2s 19ms/step\n", + " 11/103 [==>...........................] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.01, num_1=100; total time= 25.0s\n", + "103/103 [==============================] - 2s 18ms/step\n", "103/103 [==============================] - 2s 20ms/step\n", + "103/103 [==============================] - 2s 19ms/step\n", "103/103 [==============================] - 2s 18ms/step\n", + "103/103 [==============================] - 2s 13ms/step\n", + "103/103 [==============================] - 1s 12ms/step\n", + "103/103 [==============================] - 1s 11ms/step\n", + "[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.001, num_1=60; total time= 27.3s\n", + " 30/103 [=======>......................] - ETA: 2s[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.01, num_1=100; total time= 29.0s\n", + " 51/103 [=============>................] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.001, num_1=80; total time= 27.0s\n", + " 64/103 [=================>............] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.001, num_1=60; total time= 28.4s\n", + "103/103 [==============================] - 4s 31ms/step\n", + " 23/103 [=====>........................] - ETA: 2s[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.001, num_1=60; total time= 28.1s\n", + " 35/103 [=========>....................] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.001, num_1=80; total time= 27.8s\n", + "103/103 [==============================] - 3s 27ms/step\n", + " 34/103 [========>.....................] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.001, num_1=100; total time= 26.6s\n", + " 62/103 [=================>............] - ETA: 0s[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.001, num_1=80; total time= 26.7s\n", + "103/103 [==============================] - 2s 20ms/step\n", "103/103 [==============================] - 2s 18ms/step\n", + "103/103 [==============================] - 2s 17ms/step\n", + "103/103 [==============================] - 2s 16ms/step\n", + "103/103 [==============================] - 2s 14ms/step\n", + "103/103 [==============================] - 2s 15ms/step\n", + "[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.001, num_1=100; total time= 33.4s\n", + " 4/103 [>.............................] - ETA: 1s [CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.01, num_1=60; total time= 34.0s\n", + " 14/103 [===>..........................] - ETA: 3s[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.01, num_1=60; total time= 34.3s\n", + " 1/103 [..............................] - ETA: 22s[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.01, num_1=60; total time= 34.3s\n", + " 22/103 [=====>........................] - ETA: 2s[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.001, num_1=100; total time= 33.2s\n", + " 11/103 [==>...........................] - ETA: 2s[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.01, num_1=80; total time= 34.3s\n", + " 1/103 [..............................] - ETA: 21s[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.01, num_1=80; total time= 34.3s\n", + " 44/103 [===========>..................] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.01, num_1=80; total time= 34.2s\n", + "103/103 [==============================] - 3s 23ms/step\n", + "103/103 [==============================] - 3s 26ms/step\n", + "103/103 [==============================] - 2s 23ms/step\n", + "103/103 [==============================] - 3s 24ms/step\n", + "103/103 [==============================] - 3s 24ms/step\n", + "103/103 [==============================] - 3s 23ms/step\n", + "103/103 [==============================] - 3s 24ms/step\n", "103/103 [==============================] - 2s 19ms/step\n", - "[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.001, num_1=60; total time= 26.5s\n", - " 8/103 [=>............................] - ETA: 0s[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.01, num_1=100; total time= 26.7s\n", - "103/103 [==============================] - 2s 18ms/step\n", - "103/103 [==============================] - 2s 22ms/step\n", - "[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.001, num_1=60; total time= 27.9s\n", - " 30/103 [=======>......................] - ETA: 2s[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.001, num_1=60; total time= 28.4s\n", - " 8/103 [=>............................] - ETA: 2s[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.001, num_1=80; total time= 28.1s\n", - " 50/103 [=============>................] - ETA: 1s[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.001, num_1=80; total time= 28.3s\n", - " 1/103 [..............................] - ETA: 16s[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.001, num_1=80; total time= 28.1s\n", - "100/103 [============================>.] - ETA: 0s[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.001, num_1=100; total time= 28.0s\n", + "[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.001, num_1=80; total time= 36.4s\n", + " 16/103 [===>..........................] - ETA: 2s[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.001, num_1=60; total time= 36.5s\n", + " 29/103 [=======>......................] - ETA: 2s[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.01, num_1=100; total time= 38.4s\n", + " 25/103 [======>.......................] - ETA: 2s[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.001, num_1=80; total time= 36.6s\n", + " 48/103 [============>.................] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.001, num_1=60; total time= 36.6s\n", + " 18/103 [====>.........................] - ETA: 3s[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.01, num_1=100; total time= 37.1s\n", + "103/103 [==============================] - 3s 28ms/step\n", + " 41/103 [==========>...................] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.01, num_1=100; total time= 36.7s\n", "103/103 [==============================] - 3s 28ms/step\n", + " 37/103 [=========>....................] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.001, num_1=60; total time= 36.3s\n", + "103/103 [==============================] - 3s 25ms/step\n", + "103/103 [==============================] - 2s 21ms/step\n", + "103/103 [==============================] - 2s 20ms/step\n", + "103/103 [==============================] - 2s 19ms/step\n", + "103/103 [==============================] - 2s 16ms/step\n", + "103/103 [==============================] - 2s 13ms/step\n", + "[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.01, num_1=60; total time= 34.5s\n", + " 8/103 [=>............................] - ETA: 3s[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.01, num_1=60; total time= 34.9s\n", + " 14/103 [===>..........................] - ETA: 3s[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.001, num_1=80; total time= 36.4s\n", + " 39/103 [==========>...................] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.001, num_1=100; total time= 35.7s\n", + " 43/103 [===========>..................] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.001, num_1=100; total time= 36.1s\n", + " 14/103 [===>..........................] - ETA: 2s[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.001, num_1=100; total time= 36.1s\n", + " 21/103 [=====>........................] - ETA: 2s[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.01, num_1=60; total time= 34.0s\n", + "103/103 [==============================] - 3s 27ms/step\n", + "103/103 [==============================] - 3s 26ms/step\n", + " 51/103 [=============>................] - ETA: 1s[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.01, num_1=80; total time= 34.8s\n", "103/103 [==============================] - 3s 23ms/step\n", "103/103 [==============================] - 3s 23ms/step\n", + "103/103 [==============================] - 2s 22ms/step\n", + "103/103 [==============================] - 2s 21ms/step\n", + "103/103 [==============================] - 2s 21ms/step\n", + "103/103 [==============================] - 2s 13ms/step\n", + "[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.01, num_1=100; total time= 33.5s\n", + " 5/103 [>.............................] - ETA: 1s [CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.001, num_1=60; total time= 33.1s\n", + " 11/103 [==>...........................] - ETA: 1s[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.001, num_1=60; total time= 32.9s\n", + " 1/103 [..............................] - ETA: 30s[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.01, num_1=80; total time= 33.6s\n", + " 13/103 [==>...........................] - ETA: 1s[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.001, num_1=60; total time= 33.2s\n", + " 22/103 [=====>........................] - ETA: 1s[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.01, num_1=100; total time= 33.3s\n", + "101/103 [============================>.] - ETA: 0s[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.01, num_1=80; total time= 35.0s\n", + "103/103 [==============================] - 3s 23ms/step\n", "103/103 [==============================] - 3s 22ms/step\n", - "103/103 [==============================] - 3s 23ms/step\n", - "103/103 [==============================] - 2s 18ms/step\n", - "[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.001, num_1=100; total time= 28.9s\n", - " 38/103 [==========>...................] - ETA: 0s[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.001, num_1=100; total time= 29.3s\n", - "103/103 [==============================] - 2s 24ms/step\n", - "103/103 [==============================] - 3s 31ms/step\n", - "[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.01, num_1=60; total time= 32.7s\n", - " 6/103 [>.............................] - ETA: 1s [CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.01, num_1=60; total time= 32.4s\n", - " 20/103 [====>.........................] - ETA: 4s[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.01, num_1=60; total time= 32.3s\n", - " 7/103 [=>............................] - ETA: 2s[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.01, num_1=80; total time= 32.3s\n", - " 50/103 [=============>................] - ETA: 1s[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.01, num_1=80; total time= 32.2s\n", - " 25/103 [======>.......................] - ETA: 2s[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.01, num_1=80; total time= 32.7s\n", - "103/103 [==============================] - 4s 34ms/step\n", - "103/103 [==============================] - 4s 36ms/step\n", - "103/103 [==============================] - 4s 31ms/step\n", - "103/103 [==============================] - 4s 29ms/step\n", - "103/103 [==============================] - 3s 26ms/step\n", + "103/103 [==============================] - 3s 24ms/step\n", + "103/103 [==============================] - 3s 24ms/step\n", "103/103 [==============================] - 3s 25ms/step\n", - "[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.01, num_1=100; total time= 33.1s\n", - " 61/103 [================>.............] - ETA: 0s[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.01, num_1=100; total time= 33.8s\n", + "103/103 [==============================] - 3s 23ms/step\n", + " 29/103 [=======>......................] - ETA: 1s[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.01, num_1=100; total time= 34.5s\n", "103/103 [==============================] - 2s 14ms/step\n", - "103/103 [==============================] - 3s 33ms/step\n", - "[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.001, num_1=60; total time= 36.2s\n", - " 16/103 [===>..........................] - ETA: 2s[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.001, num_1=60; total time= 36.5s\n", - "103/103 [==============================] - 3s 27ms/step\n", - " 89/103 [========================>.....] - ETA: 0s[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.001, num_1=80; total time= 36.4s\n", + "103/103 [==============================] - 1s 10ms/step\n", + "[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.001, num_1=80; total time= 34.3s\n", + " 6/103 [>.............................] - ETA: 2s [CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.001, num_1=80; total time= 34.3s\n", + " 11/103 [==>...........................] - ETA: 3s[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.001, num_1=80; total time= 34.6s\n", + " 19/103 [====>.........................] - ETA: 2s[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.001, num_1=100; total time= 33.9s\n", + " 3/103 [..............................] - ETA: 2s [CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.001, num_1=100; total time= 34.3s\n", + " 30/103 [=======>......................] - ETA: 1s[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.001, num_1=100; total time= 33.9s\n", + " 64/103 [=================>............] - ETA: 1s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.01, num_1=60; total time= 34.7s\n", + "103/103 [==============================] - 3s 28ms/step\n", + " 80/103 [======================>.......] - ETA: 0s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.01, num_1=60; total time= 34.5s\n", + "103/103 [==============================] - 3s 28ms/step\n", + "103/103 [==============================] - 3s 28ms/step\n", + "103/103 [==============================] - 3s 25ms/step\n", "103/103 [==============================] - 3s 26ms/step\n", - " 20/103 [====>.........................] - ETA: 1s[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.001, num_1=80; total time= 36.8s\n", - " 5/103 [>.............................] - ETA: 1s [CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.01, num_1=100; total time= 37.9s\n", - " 34/103 [========>.....................] - ETA: 1s[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.001, num_1=60; total time= 36.8s\n", - "103/103 [==============================] - 3s 21ms/step\n", - "100/103 [============================>.] - ETA: 0s[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.001, num_1=80; total time= 35.3s\n", - "103/103 [==============================] - 3s 20ms/step\n", - "103/103 [==============================] - 2s 20ms/step\n", - "103/103 [==============================] - 2s 19ms/step\n", - " 24/103 [=====>........................] - ETA: 0s[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.001, num_1=100; total time= 36.7s\n", + "103/103 [==============================] - 3s 22ms/step\n", "103/103 [==============================] - 2s 17ms/step\n", - "103/103 [==============================] - 2s 21ms/step\n", - "[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.001, num_1=100; total time= 38.6s\n", - " 7/103 [=>............................] - ETA: 0s [CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.001, num_1=100; total time= 38.6s\n", - " 58/103 [===============>..............] - ETA: 1s[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.01, num_1=60; total time= 40.3s\n", - " 22/103 [=====>........................] - ETA: 1s[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.01, num_1=80; total time= 39.6s\n", - " 25/103 [======>.......................] - ETA: 1s[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.01, num_1=60; total time= 40.0s\n", + "103/103 [==============================] - 2s 14ms/step\n", + "[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.01, num_1=80; total time= 37.0s\n", + " 16/103 [===>..........................] - ETA: 3s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.01, num_1=100; total time= 37.2s\n", + " 23/103 [=====>........................] - ETA: 3s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.01, num_1=60; total time= 37.0s\n", + " 44/103 [===========>..................] - ETA: 2s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.01, num_1=100; total time= 37.1s\n", + " 4/103 [>.............................] - ETA: 11s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.01, num_1=80; total time= 37.1s\n", + " 11/103 [==>...........................] - ETA: 3s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.01, num_1=80; total time= 37.9s\n", + " 19/103 [====>.........................] - ETA: 3s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.01, num_1=100; total time= 37.1s\n", + " 46/103 [============>.................] - ETA: 2s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.001, num_1=60; total time= 36.9s\n", + "103/103 [==============================] - 5s 38ms/step\n", + "103/103 [==============================] - 5s 40ms/step\n", + "103/103 [==============================] - 5s 35ms/step\n", + "103/103 [==============================] - 4s 31ms/step\n", + "103/103 [==============================] - 4s 29ms/step\n", "103/103 [==============================] - 3s 27ms/step\n", - " 30/103 [=======>......................] - ETA: 1s[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.01, num_1=60; total time= 40.3s\n", - "103/103 [==============================] - 3s 29ms/step\n", "103/103 [==============================] - 3s 24ms/step\n", - "103/103 [==============================] - 3s 23ms/step\n", - "103/103 [==============================] - 3s 23ms/step\n", - "103/103 [==============================] - 3s 20ms/step\n", - "[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.01, num_1=80; total time= 39.8s\n", - " 38/103 [==========>...................] - ETA: 0s[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.01, num_1=80; total time= 38.0s\n", - "103/103 [==============================] - 2s 17ms/step\n", - "103/103 [==============================] - 2s 24ms/step\n", - "[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.001, num_1=60; total time= 30.4s\n", - " 17/103 [===>..........................] - ETA: 2s[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.001, num_1=60; total time= 30.5s\n", - "103/103 [==============================] - 3s 23ms/step\n", - "103/103 [==============================] - 2s 22ms/step\n", - "[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.001, num_1=80; total time= 30.9s\n", - " 48/103 [============>.................] - ETA: 1s[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.001, num_1=80; total time= 31.3s\n", - "103/103 [==============================] - 2s 17ms/step\n", - " 95/103 [==========================>...] - ETA: 0s[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.01, num_1=100; total time= 31.0s\n", - "103/103 [==============================] - 2s 17ms/step\n", - " 8/103 [=>............................] - ETA: 1s[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.01, num_1=100; total time= 31.2s\n", - " 26/103 [======>.......................] - ETA: 2s[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.001, num_1=60; total time= 30.0s\n", - " 20/103 [====>.........................] - ETA: 2s[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.01, num_1=100; total time= 30.6s\n", - "103/103 [==============================] - 3s 25ms/step\n", + "103/103 [==============================] - 2s 18ms/step\n", + "[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.001, num_1=60; total time= 40.3s\n", + " 28/103 [=======>......................] - ETA: 2s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.001, num_1=60; total time= 41.3s\n", + " 35/103 [=========>....................] - ETA: 2s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.001, num_1=80; total time= 40.6s\n", + " 54/103 [==============>...............] - ETA: 1s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.001, num_1=80; total time= 41.2s\n", + " 41/103 [==========>...................] - ETA: 1s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.001, num_1=80; total time= 41.5s\n", + " 43/103 [===========>..................] - ETA: 1s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.001, num_1=100; total time= 40.6s\n", + " 31/103 [========>.....................] - ETA: 1s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.001, num_1=100; total time= 40.9s\n", + " 36/103 [=========>....................] - ETA: 1s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.001, num_1=100; total time= 40.8s\n", + "103/103 [==============================] - 4s 33ms/step\n", + "103/103 [==============================] - 3s 31ms/step\n", + "103/103 [==============================] - 4s 29ms/step\n", + "103/103 [==============================] - 3s 27ms/step\n", "103/103 [==============================] - 3s 25ms/step\n", - "103/103 [==============================] - 3s 23ms/step\n", - "103/103 [==============================] - 2s 21ms/step\n", - "[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.01, num_1=60; total time= 25.6s\n", - " 62/103 [=================>............] - ETA: 1s[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.01, num_1=60; total time= 25.6s\n", + "103/103 [==============================] - 3s 24ms/step\n", + "103/103 [==============================] - 3s 24ms/step\n", + "103/103 [==============================] - 3s 24ms/step\n", + "[CV] END dropout_rate=0.6, filter=36, kernel=6, lr=0.01, num_1=60; total time= 39.2s\n", + " 7/103 [=>............................] - ETA: 2s[CV] END dropout_rate=0.6, filter=36, kernel=6, lr=0.01, num_1=60; total time= 39.0s\n", + " 12/103 [==>...........................] - ETA: 2s[CV] END dropout_rate=0.6, filter=36, kernel=6, lr=0.01, num_1=80; total time= 39.0s\n", + " 22/103 [=====>........................] - ETA: 3s[CV] END dropout_rate=0.6, filter=36, kernel=6, lr=0.01, num_1=60; total time= 39.1s\n", + " 29/103 [=======>......................] - ETA: 2s[CV] END dropout_rate=0.6, filter=36, kernel=6, lr=0.01, num_1=100; total time= 39.1s\n", + " 24/103 [=====>........................] - ETA: 3s[CV] END dropout_rate=0.6, filter=36, kernel=6, lr=0.01, num_1=80; total time= 39.3s\n", + " 50/103 [=============>................] - ETA: 2s[CV] END dropout_rate=0.6, filter=36, kernel=6, lr=0.01, num_1=80; total time= 39.2s\n", + " 38/103 [==========>...................] - ETA: 2s[CV] END dropout_rate=0.6, filter=36, kernel=6, lr=0.01, num_1=100; total time= 39.1s\n", + "103/103 [==============================] - 4s 35ms/step\n", + "103/103 [==============================] - 4s 36ms/step\n", + "103/103 [==============================] - 4s 35ms/step\n", + "103/103 [==============================] - 4s 33ms/step\n", "103/103 [==============================] - 3s 29ms/step\n", + "103/103 [==============================] - 3s 26ms/step\n", "103/103 [==============================] - 3s 24ms/step\n", - "[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.01, num_1=60; total time= 26.7s\n", - " 39/103 [==========>...................] - ETA: 1s[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.01, num_1=80; total time= 26.7s\n", "103/103 [==============================] - 3s 25ms/step\n", - " 95/103 [==========================>...] - ETA: 0s[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.001, num_1=100; total time= 34.0s\n", - " 1/103 [..............................] - ETA: 14s[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.001, num_1=80; total time= 34.4s\n", - "103/103 [==============================] - 3s 26ms/step\n", - " 36/103 [=========>....................] - ETA: 1s[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.001, num_1=100; total time= 33.6s\n", - " 8/103 [=>............................] - ETA: 1s[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.001, num_1=100; total time= 33.7s\n", + "[CV] END dropout_rate=0.6, filter=36, kernel=6, lr=0.001, num_1=60; total time= 43.5s\n", + " 10/103 [=>............................] - ETA: 0s[CV] END dropout_rate=0.6, filter=36, kernel=6, lr=0.01, num_1=100; total time= 44.6s\n", + "103/103 [==============================] - 1s 8ms/step\n", + "103/103 [==============================] - 1s 8ms/step\n", + "Best score is 0.62 using {'dropout_rate': 0.4, 'filter': 24, 'kernel': 6, 'lr': 0.001, 'num_1': 100}\n" + ] + } + ], + "source": [ + "# Performing GridSearch\n", + "\n", + "from sklearn.model_selection import GridSearchCV\n", + "\n", + "def CNN_model(embedding = 200, filter = 16, kernel = 4, num_1 = 40, lr = 0.01, dropout_rate = 0.5):\n", + " model = Sequential()\n", + " model.add(layers.Embedding(input_dim=vocab_size, \n", + " output_dim=embedding, \n", + " input_length=maxlen))\n", + " model.add(Conv1D(filters = filter, kernel_size = kernel, activation='relu'))\n", + " model.add(MaxPooling1D(pool_size=2))\n", + " model.add(layers.Flatten())\n", + " model.add(layers.Dropout(dropout_rate))\n", + " model.add(layers.Dense(num_1, activation='relu'))\n", + " model.add(layers.Dense(1, activation='sigmoid'))\n", + " model.compile(optimizer= Adam(learning_rate = lr),\n", + " loss='binary_crossentropy',\n", + " metrics=['accuracy'])\n", + " return model\n", + "\n", + "model = CNN_model()\n", + "\n", + "param_grid = {\n", + " 'filter': [24, 36],\n", + " 'kernel': [4,5,6],\n", + " 'num_1': [60, 80, 100],\n", + " 'lr': [0.01, 0.001],\n", + " 'dropout_rate': [0.4, 0.5, 0.6]\n", + "}\n", + "\n", + "model = KerasClassifier(build_fn=CNN_model, verbose=0)\n", + "\n", + "# Perform GridSearchCV\n", + "search = GridSearchCV(estimator=model, param_grid=param_grid, cv=3, n_jobs=-1, scoring='accuracy', verbose = 2)\n", + "search_results = search.fit(X_train_2, y_train)\n", + "\n", + "# Get the best score and best parameters\n", + "best_score = search_results.best_score_\n", + "best_params = search_results.best_params_\n", + "\n", + "print(\"Best score is {:.2f} using {}\".format(best_score, best_params))" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "5aee8737-1e38-4da8-848e-794b81e3ba30", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Training Accuracy: 0.9899\n", + "Testing Accuracy: 0.6092\n" + ] + } + ], + "source": [ + "# Evaluate performance of new model (why is test accuracy lower?)\n", + "\n", + "best_model = CNN_model(num_1 = 100, lr = 0.001,\n", + " kernel = 6, filter = 24, dropout_rate = 0.4)\n", + "\n", + "history = best_model.fit(X_train_2, y_train,\n", + " epochs=30,\n", + " verbose=False,\n", + " validation_data=(X_test_2, y_test),\n", + " batch_size=1000)\n", + "\n", + "# Evaluate the model on the test data\n", + "\n", + "loss, accuracy = best_model.evaluate(X_train_2, y_train, verbose=False)\n", + "print(\"Training Accuracy: {:.4f}\".format(accuracy))\n", + "loss, accuracy = best_model.evaluate(X_test_2, y_test, verbose=False)\n", + "print(\"Testing Accuracy: {:.4f}\".format(accuracy))" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "613d5614-5f99-4109-b326-5ebaca0150b3", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "image/png": "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s2fPuj7rxIkTU53vxhtvTBV8ORwOffzxx7r77rsVHBysV199VYmJierXr5+qVKmiwMBA1ahR44oQR5KmTJmi2rVry9/fX2XLltWAAQMkSX379lXHjh1T7ZuQkKAyZcpoypQpmf5MAAAAABQsXr3E4//93/9p+vTpab63fv16rV+/PtVrOe1GL5mbrKioKC1dulSrVq3SqlWrUr3v4+OjESNG6LHHHsvxNbLEsqTo6Ny9RnqCgiSHwyOneu655zR+/HhNnTpV/v7+io2N1c0336znnntOoaGhWrJkiR566CFVrVpVt9xyS7rnGT9+vF555RUNHz5cX375pZ544gk1b95cNWvWTPeYF154QePHj1epUqX0+OOPq2/fvq7flc8++0yvvfaaPvzwQzVt2lSzZs3S+PHjVaVKlQw/j2VZmjp1qj744APVrFlT1atX15w5c/Twww9LkpKSktSuXTudP39en376qapVq6bt27fL19dXkrR161a1bt1affv21bvvvis/Pz+tWrXqil4vmXnppZf0xhtvaMKECfL19VVSUpLKly+vOXPmqGTJktqwYYMeffRRlS1bVt26dZMkffTRRxo8eLDGjBmjdu3aKTIy0vXz6N+/v5o3b66jR4+qbNmykqSlS5fqwoULruMBAAAAFB5eHSLkpcDAQC1ZskSff/65pk2bpm3btuncuXMqXbq0mjVrpgEDBqhx48a5X0h0tFSsWO5fJy0XLkjBwR451aBBg3Tvvfemes05bESSnn76aX377beaO3duhiFC+/bt9eSTT0oywcSECRO0evXqDEOE1157TS1atJAkPf/88+rQoYNiY2MVEBCg9957T/369XPd/I8cOVLLly/XhQsXMvw8K1asUHR0tO644w5JUs+ePTV58mTXeVasWKGffvpJO3bsUPXq1SVJVatWdR3/1ltvqX79+vrwww9dr9WuXTvDa6blwQcfVN++fVO9Nnr0aFe7SpUq2rBhg+bMmeMKAV599VUNGTJEAwcOdO3XoEEDSVKTJk1Uo0YNzZw5U0OHDpVkelx07dpVxez6PQQAAABgG68ezjBt2jRZlpXlLS19+vRxvZ/enAgpPfjgg1q+fLmOHz+uuLg4HThwQJ999lneBAgFSP369VM9T0xM1Guvvaa6devqqquuUrFixbR8+XLXMJH01K1b19V2Dps4ceJElo9xfrvuPOavv/5Sw4YNU+1/+fO0TJ48Wd27d3fNv/DAAw/oxx9/dA2V2Lp1q8qXL+8KEC7n7Ingrst/rpL08ccfq379+ipVqpSKFSumTz75xPVzPXHihI4cOZLhtfv376+pU6e69l+yZMkVQQUAAACAwoGeCN4mKMj0CLDr2h4SfFmPhvHjx2vChAmaOHGirr/+egUHB2vQoEGKj4/P8DxFihRJ9dzhcCgpKSnLxzj+HZ6R8hjHZUM20gugnM6cOaMFCxbo0qVL+uijj1yvJyYmasqUKXrzzTcVGBiY4Tkye9/Hx+eKOtKaOPHyn+ucOXP0zDPPaPz48WrcuLFCQkI0duxY/fjjj1m6riT16tVLzz//vDZu3KiNGzeqcuXKatasWabHAQAAACh4CBG8jcPhsSEF+cnatWt19913q2fPnpLMTf2uXbtUq1atPK2jRo0a+umnn/TQQw+5Xvv5558zPOazzz5T+fLltWDBglSvr1y5Um+88Yarh8WhQ4f0999/p9kboW7dulq5cmWqoQcplSpVSkePHnU9j4qK0t69ezP9PGvXrlWTJk1cQz4kac+ePa52SEiIKleurJUrV6pVq1ZpnuOqq65S586dNXXqVG3cuNE1RAMAAABA4UOIgHwhIiJCX331lTZs2KDw8HC9/fbbOnbsWJ6HCE8//bQeeeQR1a9fX02aNNHs2bP122+/pZq/4HKTJ0/Wfffdpzp16qR6vVKlSnruuee0ZMkS3X333WrevLm6dOmit99+WxEREdq5c6ccDofuvPNODRs2TNdff72efPJJPf744ypatKhWrVqlrl27qmTJkrrttts0bdo0derUSeHh4RoxYoRrUsaMREREaMaMGVq2bJmqVKmimTNnavPmzakmihw1apQef/xxXX311a7JH9evX6+nn37atU///v3VsWNHJSYmqnfv3jn4yQIAAAAoCLx6TgQUHCNGjFC9evV0xx13qGXLlipTpow6d+6c53X06NFDw4YN07PPPqt69epp79696tOnjwICAtLc/5dfftG2bdvUpUuXK94LCQlR27ZtNXnyZEnSV199pQYNGuiBBx7Qddddp6FDh7pWX6hevbqWL1+ubdu2qWHDhmrcuLG+/vpr1xwLw4YNU/PmzdWxY0e1b99enTt3VrVq1TL9PI8//rjuvfdede/eXbfccotOnz6dqleCJPXu3VsTJ07Uhx9+qNq1a6tjx47atWtXqn3atGmjsmXL6o477lC5cuUy/0ECAAAAKJAcVmYDvpGroqKiFBYWpsjISIWGhqZ6LzY2Vnv37lWVKlXSvYlF7rv99ttVpkwZzZw50+5SbBMdHa1y5cppypQpV6yq4Qn8rgMAAAB5J6P70MwwnAFIITo6Wh9//LHuuOMO+fr66osvvtCKFSv03Xff2V2aLZKSknTs2DGNHz9eYWFhuuuuu+wuCQAAAICNCBGAFBwOh5YuXapXX31VcXFxqlGjhr766iu1adPG7tJsceDAAVWpUkXly5fXtGnTXMMrAAAAABRO3BEAKQQGBmrFihV2l5FvVK5cOdMlLgEAAIBC59Il6cIFs128mNx2Pm/fXgoJsbvKXEGIAAAAAADIGcuSIiOlU6cy3k6flpKSJH//3NkCAq58rWhRKTHR3NSndaOf1edpvRcfn/HPZft2KY9XmssrhAgAAAAAABMIXLhgbvgzCwVShgMJCXZXbp8iRaRixcwWHJzczsJy7N6KEAEAAAAAsisx0dxwnz+ftS29fS9elHx8zE2nn9+Vj2m9ltljZvv4+KTfeyCzb9jTU6yYVLJk+ttVV5nrxsXl7nbpUtr1+fpeeaPv7vPgYNPboZAhRAAAAABgj+hoac8eadcuafdusznbJ06Ym94iRcyWlXZO33O2HY6Mg4GU70VH2/3Tyz3+/lKpUhmHApcHBPllme6kpNShgjM88Pc3/33hNkIEAAAAALnn4sXUQUHKxyNHMj42p9+K5yU/PzOBnnMrViz188y24GAzjCAhwfRuyOgxK/tk9diwsPRDgaAg773h9vGRAgPNhlxBiAAAAADAPRcuXNmTwNk+ejTjY8PDpWuvlSIizOZsly2bfNN76ZLZUrYvf57V9zLaz7KSu6pnNQTgG24UMoQIyLdatmypG2+8URMnTpRklhscNGiQBg0alO4xDodD8+fPV+fOnd26tqfOAwAAUGCcP39lUOB8PHYs42NLlEgOBy4PDEqUyJv6AXgEIQI8rlOnToqJidGKFSuueG/jxo1q0qSJfvnlF9WrVy9b5928ebOCg4M9VaYkadSoUVqwYIG2bt2a6vWjR48qPDzco9dKT0xMjMqVKyeHw6HDhw8rkK5XAABAMt+KX7okxcYmbzExpot/etulS7nz/okT0vHjGddbsmTaIUG1agQFQAFCiACP69evn+69917t379flSpVSvXelClTdOONN2Y7QJCkUqVKearETJUpUybPrvXVV1+pTp06sixL8+bNU48ePfLs2pezLEuJiYny8+N/DQAApGJZZpK2y9eNj4lJvrm//GY/5fOs7JPWMUlJdn/y1EqVSh0UpAwMihe3uzoAeYA7BXhcx44ddfXVV2vatGl66aWXXK9HR0dr9uzZev3113X69GkNGDBAa9eu1ZkzZ1StWjUNHz5cDzzwQLrnvXw4w65du9SvXz/99NNPqlq1qt55550rjnnuuec0f/58HTp0SGXKlFGPHj00cuRIFSlSRNOmTdPo0aMlmeELkjR16lT16dPniuEMv//+uwYOHKiNGzcqKChIXbp00dtvv61ixYpJkvr06aNz587p1ltv1fjx4xUfH6/7779fEydOVJEiRTL8eU2ePFk9e/aUZVmaPHnyFSHCn3/+qaFDh2rt2rWyLEs33nijpk2bpmrVqkkywcz48eO1e/dulShRQl26dNH777+vffv2qUqVKtqyZYtuvPFGSdK5c+cUHh6uVatWqWXLllq9erVatWqlb7/9Vi+88IJ+++03LVu2TBUrVtTgwYO1adMmXbx4UbVq1dIbb7yhNm3auOqKi4vTiBEj9MUXX+jEiROqWLGinn/+efXt21fXXnutHn/8cT377LOu/f/44w/VrVtXu3btctUOAECuiI9PvtlPecN/eTuz55e/Z/cNfUCAGX8fEGCWlSta1Kwo4GxfvmX0XnaPDQ83QUFYmL0/AwC2I0TwMpZl32oyWZ2k1c/PT7169dK0adM0cuRI1w363LlzFR8frx49eig6Olo333yznnvuOYWGhmrJkiV66KGHVLVqVd1yyy2ZXiMpKUn33nuvSpYsqU2bNikqKirNuRJCQkI0bdo0lStXTr///rseeeQRhYSEaOjQoerevbv++OMPffvtt66hF2Fp/MUYHR2tO++8U40aNdLmzZt14sQJ9e/fXwMGDNC0adNc+61atUply5bVqlWrtHv3bnXv3l033nijHnnkkXQ/x549e7Rx40bNmzdPlmVp0KBB+ueff1S1alVJ0uHDh9W8eXO1bNlS33//vUJDQ7V+/XolJCRIkj766CMNHjxYY8aMUbt27RQZGan169dn+vO73NChQzVu3DhVrVpVxYsX16FDh9S+fXu9+uqrCggI0PTp09WpUyf99ddfqlixoiSpV69e2rhxo959913dcMMN2rt3r06dOiWHw6G+fftq6tSpqUKEKVOmqFmzZgQIAAD3Xbggbd8u/fmn9Mcf5vGvv6Rz58x7//49mWsCA82M+sHB5h9IAQHmtYCA5C27zzPbh8n7AOQThAheJjraTBZrhwsXzN+VWdG3b1+NHTvW9U23ZG4i7733XoWHhys8PDzVDebTTz+tb7/9VnPnzs1SiLBixQrt2LFD+/btU/ny5SVJr7/+utq1a5dqvxdffNHVrly5soYMGaLZs2dr6NChCgwMVLFixeTn55fh8IXPPvtMMTExmjFjhmtOhvfff1+dOnXSm2++qdKlS0uSwsPD9f7778vX11c1a9ZUhw4dtHLlygxDhClTpqhdu3au+RfuvPNOTZkyRa+++qok6YMPPlBYWJhmzZrl6tFQvXp11/GvvvqqhgwZooEDB7pea9CgQaY/v8u9/PLLuv32213Pr7rqKt1www2prjN//nwtXLhQAwYM0N9//605c+bou+++c/VOcAYfkvTwww9r5MiR+umnn9SwYUNdunRJn376qcaOHZvt2gAAhVhMjLRzZ+qw4I8/pH37sna8v7/5x4tztv2U7cyep/decLBZdx4ACilCBOSKmjVrqkmTJpoyZYpatWqlPXv2aO3atVq+fLkkKTExUWPGjNHs2bN1+PBhxcXFKS4uLssTJ+7YsUMVK1Z0BQiS1Lhx4yv2+/LLLzVx4kTt3r1bFy5cUEJCgkJDQ7P1WXbs2KEbbrghVW1NmzZVUlKS/vrrL1eIULt2bfmm+EdF2bJl9fvvv6d73sTERE2fPj3VMIyePXvqmWee0ejRo+Xr66utW7eqWbNmaQ6JOHHihI4cOaLWrVtn6/OkpX79+qmeX7x4UaNHj9bixYt15MgRJSQkKCYmRgcOHJAkbd26Vb6+vmrRokWa5ytbtqw6dOigKVOmqGHDhlq8eLFiY2PVtWtXt2sFABRA8fHS33+nDgr+/FPasyf9IQSlS0t16ki1a5vHWrXMeP2UN/uZDCkEAGQfIYKXCQoyPQLsunZ29OvXTwMGDNAHH3ygqVOnqlKlSq4b3vHjx2vChAmaOHGirr/+egUHB2vQoEGKj4/P0rkty7riNcdlXfw2bdqk+++/X6NHj9Ydd9zh+kZ//Pjx2foclmVdce60rnn5jb7D4VBSBmMnly1bpsOHD6t79+6pXk9MTNTy5cvVrl27DFdqyGwVBx8fH1f9TpcuXUpz38vDm//+979atmyZxo0bp4iICAUGBuq+++5z/ffJygoS/fv310MPPaQJEyZo6tSp6t69u4Ky+0sEAChYEhLMcoCX9yzYtSv9IQglSqQOC2rXNlvJknlbOwBAEiGC13E4sj6kwG7dunXTwIED9fnnn2v69Ol65JFHXDfda9eu1d13362ePXtKMnMc7Nq1S7Vq1crSua+77jodOHBAR44cUbly5SSZ5SNTWr9+vSpVqqQXXnjB9dr+/ftT7VO0aFElJiZmeq3p06fr4sWLrpvt9evXy8fHJ9XQguyaPHmy7r///lT1SdKYMWM0efJktWvXTnXr1tX06dN16dKlK0KKkJAQVa5cWStXrnQNGUnJuZrF0aNHddNNN0nSFUtZpmft2rXq06eP7rnnHknShQsXtC9F19Hrr79eSUlJWrNmTarJFlNq3769goOD9dFHH+mbb77RDz/8kKVrAwAKgKQkae/e5KDAGRbs3Gl6HaQlNDR1UOB8LF2auQAAIB8hRECuKVasmLp3767hw4crMjJSffr0cb0XERGhr776Shs2bFB4eLjefvttHTt2LMshQps2bVSjRg316tVL48ePV1RU1BU34xERETpw4IBmzZqlBg0aaMmSJZo/f36qfSpXrqy9e/dq69atKl++vEJCQuTv759qnx49euill15S7969NWrUKJ08eVJPP/20HnroIddQhuw6efKkFi1apIULF6pOnTqp3uvdu7c6dOigkydPasCAAXrvvfd0//33a9iwYQoLC9OmTZvUsGFD1ahRQ6NGjdLjjz+uq6++Wu3atdP58+e1fv16Pf300woMDFSjRo00ZswYVa5cWadOnUo1R0RGIiIiNG/ePHXq1EkOh0MjRoxI1auicuXK6t27t/r27euaWHH//v06ceKEunXrJkny9fVVnz59NGzYMEVERKQ53AQA4IUsSzpzRjp0KHk7eDD18wMHzHwGaQkKkq677sqwoHx5wgIA8AKECMhV/fr10+TJk9W2bVvXrP6SNGLECO3du1d33HGHgoKC9Oijj6pz586KjIzM0nl9fHw0f/589evXTw0bNlTlypX17rvv6s4773Ttc/fdd+uZZ57RgAEDFBcXpw4dOmjEiBEaNWqUa58u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mgkQGjWSOnSwuxoAAACgUMnVEGH//v16+eWXVbVqVd111106fvy4LMuSr6+v2rVrpwoVKsiyLB05ckRDhgxRo0aNdPbs2dwsCYA327dP+t//TPv116V/Q0kAAAAAecPjIUJsbKw+++wztWnTRtWqVdPo0aO1b98+WZaliIgIjRkzRocOHdKSJUu0b98+LVu2TG3atJFlWdqyZYtGjx7t6ZIAFBSjR0uXLklt2kitWtldDQAAAFDoeGxOhE2bNmnq1KmaPXu2zp8/L0myLEsBAQHq0qWLHnnkETVv3jzd4wcOHKj33ntPlStX1j///OOJkrwCcyIAWbRzp1S7tpSUJP34o9Swod0VAQAAAF7JnftQP3cufPToUc2cOVNTp07V33//LckEB5J0ww03qH///urZs6fCwsIyPVefPn303nvv6eDBg+6UBKCgGjnSBAidOxMgAAAAADZxK0SoWLGikpKSXMFBaGio7r//fvXv31/169fP1rmc6UdSUlK26zhw4IDeffddLVmyRAcOHJC/v78iIiLUrVs3PfnkkwoKCsr2OS+3fft2ffTRR1q9erX279+v2NhYhYWFqU6dOrrrrrvUv39/hYSEuH0dAGn49Vdp7lwzB8Irr9hdDQAAAFBouTWcwefftdkbN26sRx55RN26dcvxDfuFCxf01VdfSZJ69+6d5eOWLFmiHj16KDIyMs33a9SooaVLl6pq1ao5qkuSxo8fr+effz7D1SMqVaqkhQsXqm7dutk6N8MZgCxo31765hupRw/p00/trgYAAADwau7ch7oVIgwZMkT9+/dXrVq1cnoKt2zbtk1NmjRRdHS0ihUrpmHDhqlVq1aKiYnRrFmz9Mknn0iSatasqc2bN6tYsWLZvsacOXPUvXt3SVLRokX11FNPqU2bNipZsqT27NmjDz/8UOvWrZMklS1bVjt27MjS8A0nQgQgE2vXSs2bS35+0o4dUkSE3RUBAAAAXs22EMFurVq10urVq+Xn56cffvhBjRs3TvX+2LFjNXToUEnS6NGjNXLkyGxf4/rrr9cff/whSVq8eLE6pLEufZcuXTRv3jxJptfC4MGDs3x+QgQgA5YltWhhgoTHHpM+/tjuigAAAACv5859qMeXeMwrmzdv1urVqyVJ/fr1uyJAkExPCWcviYkTJ+rSpUvZukZUVJQrQKhXr16aAYIkvfTS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5plnVL16dQUFBal48eKqX7++3nzzTW3ZskURERE5Pr+/v79mzZql77//Xr169VL16tUVHBwsPz8/lShRQo0bN9aIESO0c+dOPfjggx78ZEAh8NJLUmKi1L69dOutdlcDAAAAIBMOyznzoZvOnz+vFStWaNu2bTp16pRiYmKU0akdDocmO7+BLMSioqIUFhamyMhIhYaG2l0OkHd+/1264QbJsqRff5VuusnuigAAAIBCwZ37ULeHMyQlJemVV17R+PHjdfHixSwdY1kWIQJQ2I0YYQKEbt0IEAAAAAAv4XaI0KdPH3322WeyLEu+vr666qqrdOLECTkcDpUvX15nz57VhQsXJJneByVLllRQUJDbhQPwYj/+KH39teTjI40ebXc1AAAAALLIrTkRli1bpk8//VSSCRNOnDihFStWuN7fv3+/oqKitHPnTg0cOFA+Pj4KDw/XN998o71797pXOQDv5ZygtHdvqWZNe2sBAAAAkGVuhQhTp06VJNWuXVtTpkxReHi4HGnMrl69enVNmDBB8+fP1549e9S+fXtFRka6c2kA3ur776WVK6UiRczEigAAAAC8hlshwqZNm+RwOPTUU09laf+OHTuqd+/e2r9/v9599113Lg3AG1lWci+Exx+XKlWytx4AAAAA2eJWiHDixAlJpqeBk6+vr6sdFxd3xTH33XefLMvS/Pnz3bk0AG+0aJG0aZMUFCQNH253NQAAAACyya0QwalEiRKudkhIiKvtDBlSuvrqqyVJ+/bt88SlAXiLuDhpyBDT/s9/pDJl7K0HAAAAQLa5FSKULl1aknTmzJlUrxUtWlSS9Ntvv11xzIEDByRJsbGx7lwagLcZN07avVsqW1YaNszuagAAAADkgFshwvXXXy9J2r59u+s1Pz8/3fTvmu/OiRdT+t///idJqsRYaKDw2LdPeu010x4/XgoNtbUcAAAAADnjVojQsmVLWZaVallHSerZs6dr3oNevXppyZIlmjt3rjp16qRly5bJ4XDo7rvvdqtwAF7kmWekmBipZUvp/vvtrgYAAABADjksy7JyevDevXtVrVo1+fv7a9++fa7hDQkJCWrUqJF+/fXXK5Z8tCxLlSpV0q+//qrw8HD3qi8AoqKiFBYWpsjISIXy7SwKoqVLpQ4dJD8/aetWqXZtuysCAAAACjV37kPd6olQpUoV/fPPP/rjjz9SXdjPz0/fffedevToIT8/P1mWJWdW0aFDB61du5YAASgMYmOlp5827UGDCBAAAAAAL+dWT4SsOH/+vHbt2qWEhARFRESkWskB9ERAAffyy9JLL0nXXCPt2CGlWL0FAAAAgD3cuQ/1y6WaXEJCQlSvXr3cvgyA/Oaff6Q33jDtt98mQAAAAAAKALeGM/j4+MjPz09vvfWWp+oBUFAMGmSGM7RuLXXtanc1AAAAADzArRChaNGisixLzZo181Q9AAqCRYvMVqSI9P770mUTrAIAAADwTm6FCOXKlZMk+fr6eqQYAAVATIw0cKBpDx4s1axpbz0AAAAAPMatEKF58+aSpF9//dUjxQAoAMaMkfbulcqXl1580e5qAAAAAHiQWyHC008/LV9fX40bN05RUVGeqgmAt9q9W3rzTdOeMEEqVszeegAAAAB4lFshws0336z33ntP+/fvV4sWLbRhwwZP1QXA21iW9J//SHFxUtu2UpcudlcEAAAAwMPcWuKxb9++kqQaNWpo27ZtatasmSpUqKC6desqPDw8w7kSHA6HJk+e7M7lAeQnCxdK33xjJlN87z0mUwQAAAAKIIdlWVZOD/bx8ZEjxY2C81SOTG4eLMuSw+FQYmJiTi9dYERFRSksLEyRkZEKDQ21uxwgZ6Kjpeuuk/bvl4YPl157ze6KAAAAAKTDnftQt3oiVKxYMdPAAEAh8MYbJkCoWNGECAAAAAAKJLdChH379nmoDABea9cu6a23THviRCk42NZyAAAAAOQetyZWBFDIWZY0YIAUHy/deafUubPdFQEAAADIRYQIAHJu/nxp+XKpaFEmUwQAAAAKAUIEADlz8aI0aJBpP/ecFBFhazkAAAAAcp9bcyIcOHDArYtXrFjRreMB2Oi116SDB6XKlaXnn7e7GgAAAAB5wK0QoUqVKjk+1uFwKCEhwZ3LA7DLX39J48aZ9jvvSEFB9tYDAAAAIE+4FSJYluWpOgB4C8uSnn5aunRJ6tBB6tTJ7ooAAAAA5BG3QoSpU6dmus/Fixf1119/6auvvtKRI0fUpEkTPfLII+5cFoCdvvxS+u47yd/f9EJgMkUAAACg0HArROjdu3eW9x03bpz+85//aNKkSWrSpInecq4rD8B7XLggPfOMaT//vFStmr31AAAAAMhTebY6Q5EiRfTRRx+pefPmGj9+vJYtW5ZXlwbgKa+8Ih0+LFWtalZkAAAAAFCo5PkSj0888YQsy9J7772X15cG4I4dO6S33zbtd9+VAgPtrQcAAABAnsvzEOHaa6+VJP388895fWkAOWVZ0oABUkKCdNddZkJFAAAAAIVOnocIkZGRqR4BeIE5c6Tvv5cCAqSJE+2uBgAAAIBN8jxEmD59uiSpbNmyeX1pADlx/rw0eLBpDx8uValibz0AAAAAbJNnIcKuXbv0+OOPa/r06XI4HGrfvn1eXRqAO0aPlo4cMSsx/Pe/dlcDAAAAwEZuLfFYtWrVTPdJSkrSuXPndP78eddrV199tV544QV3Lg0gL/zxR/LwhfffN8MZAAAAABRaboUI+/bty/YxjRo10tSpUxnOAOR3zskUExOle+6R7rzT7ooAAAAA2MytEKF3796Z7uPj46OQkBBVqVJFLVq00I033ujOJQHklS++kNasMUs5TphgdzUAAAAA8gG3QoSpU6d6qg4A+UlUlDRkiGm/+KJUqZK99QAAAADIF/J8dQYAXmDUKOnYMenaa5PDBAAAAACFHiECgNR+/116913Tfv99yd/f3noAAAAA5BtuDWdITEzU+vXrJUk33HCDwsLCMtz/3Llz+u233yRJzZs3d+fSAHKDZUlPPmkmU7zvPqltW7srAgAAAJCPuBUirFixQu3atdNVV12lAwcOZLp/0aJF1aVLF505c0YrVqxQq1at3Lk8AE/79FNp3TopKEh6+227qwEAAACQz7g1nGHOnDmSpK5duyowMDDT/YOCgtS9e3dZlqXZs2e7c2kAnnbunPTss6Y9cqRUoYKt5QAAAADIf9wKEX755Rc5HA7ddtttWT7G2fvgp59+cufSADztpZekEyekGjWkZ56xuxoAAAAA+ZBbIcKhQ4ckSVWqVMnyMZUrV5YkHT582J1LA/CkbdvMJIqSeSxa1N56AAAAAORLboUI0dHRkiTLsrJ8jHPfqKgody4NwFOSksxkiklJUrduUps2dlcEAAAAIJ9yK0QoVaqUJGnnzp1ZPsa571VXXeXOpQF4yowZ0oYNUnCwNH683dUAAAAAyMfcChEaNGggy7I0Y8aMLB8zbdo0ORwO1atXz51LA/CEs2eloUNNe9QoqXx5W8sBAAAAkL+5FSLcd999kqSVK1dqfBa+wRw/fry+//57SWZFBwA2GzFCOnlSuu46aeBAu6sBAAAAkM85rOxMaHAZy7JUr149bdu2TQ6HQ507d9agQYPUqFEjFSlSRJKUkJCgjRs3asKECfr6668lSXXq1NHWrVvlcDg88ym8WFRUlMLCwhQZGanQ0FC7y0Fh8uuvUoMGZi6E77+X/l05BQAAAEDB5s59qFshgiTt27dPTZs21dGjR12hQJEiRVSiRAk5HA6dPn1aly5dkmRCh3LlymndunWuVRoKO0IE2ObOO6Vly6QHHpA+/9zuagAAAADkEXfuQ90aziCZJRu3bNmiu+++W5IJCuLj43Xs2DEdPXpU8fHxrhUZ7r33Xv36668ECIDdjh+XvvvOtF95xd5aAAAAAHgNP0+c5Oqrr9b8+fP1119/aenSpdqyZYtOnTolSSpZsqTq1aunDh066Nprr/XE5QC468svzTCGhg2latXsrgYAAACAl/BIiOBUo0YN1ahRw5OnBJAbvvjCPD7wgL11AAAAAPAqbg9nAOBlDhyQ1q+XHA6JVVIAAAAAZAMhAlDYzJljHps3l665xt5aAAAAAHgVt0KELVu2yNfXV4GBgTp8+HCm+x8+fFgBAQHy8/PT9u3b3bk0gJyaNcs83n+/vXUAAAAA8DpuhQizZ8+WZVnq2LGjrsnCN5rXXHON7rrrLiUlJWmW80YGQN7ZtUv65RfJ11fq0sXuagAAAAB4GbdChNWrV8vhcKhdu3ZZPqZDhw6SpBUrVrhzaQA5MXu2eWzTRipVyt5aAAAAAHgdt0KEgwcPSpKuu+66LB/jXL3h0KFD7lwaQHZZFqsyAAAAAHCLWyHC6dOnJUkBAQFZPsbf31+SdOLECXcuDSC7/vhD2r5dKlpU6tzZ7moAAAAAeCG3QoTw8HBJ0oEDB7J8jLMHQmhoqDuXBpBdznlI2reXwsLsrQUAAACAV3IrRHAOY1i4cGGWj5k/f76k5GENAPKAZbEqAwAAAAC3uRUitG/fXpZlacaMGVq7dm2m+//www+aOXOmHA6HOnbs6M6lAWTHzz9L//wjBQVJ/NkDAAAAkENuhQiPPfaYSpYsqcTERLVv317vvfeeYmNjr9gvNjZW7777rjp06KDExESFh4friSeecOfSALLD2Qvhrruk4GB7awEAAADgtRyWZVnunGDFihVq3769EhMTJUlBQUGqX7++ypYtK4fDoSNHjujnn39WdHS0LMtSkSJFtHjxYt1+++0e+QDeLioqSmFhYYqMjGSeCOSOpCSpYkXp8GFpwQLp7rvtrggAAACAjdy5D3U7RJCkVatWqWfPnjp69Kg5qcOR6n3nJa655hrNnDlTLVu2dPeSBQYhAnLdDz9ILVqYyRSPH5f+XSEFAAAAQOHkzn2onycKaNWqlfbs2aMZM2ZoyZIl2rJli06dOiVJKlmypOrVq6dOnTqpZ8+eriUeAeQR51CGe+8lQAAAAADgFo/0RMiuzZs3a8aMGXrvvffy+tL5Dj0RkKsSEqSyZaVTp6Rly6S2be2uCAAAAIDN3LkPdWtixew4dOiQ3njjDV133XVq1KiRPvzww7y6NFB4ff+9CRBKlpRuu83uagAAAAB4OY8MZ0jPxYsX9eWXX2rGjBlas2aNa24Ey7KumDcBQC5wDmXo2lXyy9U/7gAAAAAKAY/fVViWpRUrVmjGjBlasGCBoqOjXa9LUvny5XXvvfeqS5cunr40gJTi4qR580z7/vvtrQUAAABAgeCxEOHPP//U9OnT9fnnn7tWaXAGBxUrVlTXrl1133336ZZbbvHUJQFk5NtvpchI6ZprpFtvtbsaAAAAAAWAWyHCyZMn9dlnn2nGjBnatm2bpOTgoHjx4jp37pwcDofeeustdevWzf1qAWSdcyhD9+6ST55NfwIAAACgAMt2iBAXF6evv/5aM2bM0PLly5WYmOgKDvz9/dW+fXv17NlT7du3V2BgoMcLBpAFFy9KCxeaNkMZAAAAAHhIlkOEdevWacaMGZo7d66ioqIkJU+Q2KxZM/Xs2VPdunVTWFhYrhULIIsWL5aio6WqVaX69e2uBgAAAEABkeUQoXnz5nI4HK5eB9ddd5169OihHj16qGLFirlWIIAccA5luP9+iZVQAAAAAHhItoczhISE6J133lGfPn1yoRwAbouMlJYuNW2GMgAAAADwoGzNtmZZli5cuKB+/fqpbt26euutt3To0KHcqg1ATixYIMXHS9ddJ9WpY3c1AAAAAAqQLIcIa9euVf/+/RUWFibLsvTHH39o2LBhqly5slq1aqUpU6a45koAYKMvvjCPDGUAAAAA4GFZDhGaNm2qSZMm6dixY5o9e7bat28vX19fJSUl6YcfftAjjzyiMmXKqGvXrlq4cKESEhJys24AaTl5UlqxwrQZygAAAADAw7K9eHzRokXVtWtXLV68WIcPH9b48eNVt25dWZal2NhYzZs3T/fcc49Kly6dG/UCyMhXX0mJidLNN0vXXmt3NQAAAAAKmGyHCCmVKlVKzzzzjLZs2aLffvtNgwcPVpkyZWRZls6ePSvHv12pBw8erIEDB2rt2rUeKRpAOlKuygAAAAAAHuawnGs2ekhSUpKWL1+uGTNm6Ouvv1ZMTIy50L+BwtVXX6177rlHXbp0UevWrT15aa8UFRWlsLAwRUZGKjQ01O5y4M0OH5YqVJAsS9q/X2LpVQAAAABpcOc+1OMhQkrnz5/X7NmzNXPmTK1bt07OSzkcDjkcDuZNECECPGjiROmZZ6SmTaV16+yuBgAAAEA+5c59qFvDGTITEhKi/v37a82aNdqzZ49GjRqliIgIWZalXMwugMKJoQwAAAAAclmu9kRIz/r16zVz5kx9/PHHeX3pfIeeCPCIf/6RqlWTfHykI0ckJjYFAAAAkA537kP9cqmmDDVt2lRNmza149JAwTR7tnm87TYCBAAAAAC5JleHMwDIIwxlAAAAAJAHCBEAb7d9u/Tbb1KRItI999hdDQAAAIACjBAB8HbOoQx33CGVKGFvLQAAAAAKNEIEwJtZFkMZAAAAAOQZQgTAm23ZIv39txQQIN11l93VAAAAACjgCBEAb+bshdCpkxQSYm8tAAAAAAo8QgTAWyUlJc+HwFAGAAAAAHmAEAHwVps2SQcOmB4I7drZXQ0AAACAQoAQAfBWzqEMnTtLgYG2lgIAAACgcCBEALxRYqI0Z45pM5QBAAAAQB4hRAC80Zo10vHjUokSUps2dlcDAAAAoJAgRAC80RdfmMcuXaSiRe2tBQAAAEChQYgAeJv4eOmrr0z7gQfsrQUAAABAoUKIAHib776Tzp6VypSRmje3uxoAAAAAhQghAuBtnKsydOsm+fraWwsAAACAQoUQAfAmMTHSggWmzaoMAAAAAPIYIQLgTZYulS5ckCpVkho1srsaAAAAAIUMIQLgTZyrMnTvLjkc9tYCAAAAoNApECHCgQMH9Oyzz6pWrVoKDg5WiRIl1LBhQ40bN07R0dE5Pu/q1avlcDiytbVs2dJzHwxIKSpKWrLEtBnKAAAAAMAGfnYX4K4lS5aoR48eioyMdL0WHR2tzZs3a/Pmzfq///s/LV26VFWrVs2TemrUqJEn10EhtHChFBsr1agh3Xij3dUAAAAAKIS8OkTYtm2bunXrpujoaBUrVkzDhg1Tq1atFBMTo1mzZumTTz7RX3/9pQ4dOmjz5s0qVqxYts7foEED/f7775nuN2DAAK1Zs0aS1Lt37xx9FiBTzlUZ7r+foQwAAAAAbOGwLMuyu4icatWqlVavXi0/Pz/98MMPaty4car3x44dq6FDh0qSRo8erZEjR3q8hnPnzqlMmTKKi4tTRESEdu3ala3jo6KiFBYWpsjISIWGhnq8PhQQZ85IpUtLCQnS9u1SrVp2VwQAAADAS7lzH+q1cyJs3rxZq1evliT169fvigBBkoYMGaJa/95sTZw4UZcuXfJ4HbNnz1ZcXJwk6aGHHvL4+QFJ0rx5JkC44QYCBAAAAAC28doQYcGCBa72ww8/nOY+Pj4+6tWrlyTp7NmzrtDBk2bMmCFJcjgchAjIPSmHMgAAAACATbw2RFi7dq0kKTg4WDfffHO6+7Vo0cLVXrdunUdr2LNnjzZs2CBJatasmapUqeLR8wOSpGPHpFWrTLt7d3trAQAAAFCoeW2IsGPHDklSRESE/PzSnx+yZs2aVxzjKc5eCBITKiIXzZ0rJSVJjRpJBFUAAAAAbOSVIUJsbKxOnTolSSpfvnyG+4aHhys4OFiSdPDgQY/W8emnn0qSAgMDdd9993n03IALQxkAAAAA5BNeucTj+fPnXe2sLNsYHBysixcv6sKFCx6rYe3atfrnn38kSffcc0+WZ7SMi4tzTcQomVkxgXTt3y9t2GCWdOza1e5qAAAAABRyXtsTwalo0aKZ7u/v7y9JiomJ8VgNM2fOdLWdkzdmxRtvvKGwsDDXVqFCBY/VhAJozhzz2KKFVK6cvbUAAAAAKPS8MkQICAhwtePj4zPd3/nNf2BgoEeuHxcXp7lz50qSypUrpzZt2mT52GHDhikyMtK1eXqIBQoYhjIAAAAAyEe8cjhDSEiIq52VIQoXL16UlLWhD1nx9ddf69y5c5KkHj16yNfXN8vH+vv7u3pGABn6+2/p118lX1+pSxe7qwEAAAAA7+2JULJkSUnSoUOHMtz37NmzrhDBU0MHUq7KkJ2hDEC2OHsh3H679O/vOwAAAADYyStDBEmqVauWJGn37t1KSEhId7+dO3decYw7Tpw4oWXLlkmS6tWrpzp16rh9TuAKliV98YVpP/CAvbUAAAAAwL+8NkS49dZbJZmhCr/88ku6+61Zs8bVbtq0qdvX/fzzz12hBb0QkGt+/13auVPy95fuvtvuagAAAABAkheHCJ07d3a1p06dmuY+SUlJrqEHxYsXV6tWrdy+rvN8fn5+evDBB90+H5Am51CG9u2lsDB7awEAAACAf3ltiNCwYUM1a9ZMkjR58mRt3Ljxin3Gjx+vHTt2SJIGDhyoIkWKpHp/2rRpcjgccjgcGjVqVKbX/PPPP7VlyxZJUrt27VSqVCk3PwWQBstiVQYAAAAA+ZJXrs7g9M4776hp06aKiYlR27ZtNXz4cLVq1UoxMTGaNWuWJk2aJEmqXr26hgwZ4vb1pk+f7mr37t3b7fMBadq8Wdq7VwoOljp0sLsaAAAAAHDx6hDhpptu0uzZs9WzZ09FRUVp+PDhV+xTvXp1LVmyJNWykDmRlJSkzz//XJIUHh6ujh07unU+IF3OCRXvussECQAAAACQT3jtcAanTp066bffftMzzzyj6tWrKygoSMWLF1f9+vX15ptvasuWLYqIiHD7OitXrtThw4clSd27d5e/v7/b5wSukJgozZ5t2gxlAAAAAJDPOCzLsuwuojCLiopSWFiYIiMjFRoaanc5sNuaNVLLllLx4tKxY2Z1BgAAAADwIHfuQ72+JwJQoDgnVLz3XgIEAAAAAPkOIQKQX1y6JH35pWkzlAEAAABAPkSIAOQX338vnTollSoltWpldzUAAAAAcAVCBCC/cA5l6NpV8vPqhVMAAAAAFFCECEB+EBsrzZtn2gxlAAAAAJBPESIA+cG330pRUVL58lLTpnZXAwAAAABpIkQA8gPnUIbu3SUf/lgCAAAAyJ+4WwHsFhsrLV5s2t2721sLAAAAAGSAEAGw25o10sWLUrlyUv36dlcDAAAAAOkiRADstmiReezYUXI47K0FAAAAADJAiADYybKShzJ07GhvLQAAAACQCUIEwE5//int3y8FBEitW9tdDQAAAABkiBABsJOzF0Lr1lJQkL21AAAAAEAmCBEAO6WcDwEAAAAA8jlCBMAup05JGzeadocO9tYCAAAAAFlAiADY5ZtvzMSKN9wgVahgdzUAAAAAkClCBMAuzvkQOnWytw4AAAAAyCJCBMAO8fHSt9+aNvMhAAAAAPAShAiAHdatk6KipFKlpAYN7K4GAAAAALKEEAGwg3MoQ4cOkg9/DAEAAAB4B+5eADs4QwSGMgAAAADwIoQIQF77+29p1y6pSBGpbVu7qwEAAACALCNEAPLaokXmsWVLKSTE1lIAAAAAIDsIEYC8xlAGAAAAAF6KEAHIS+fOSWvXmjYhAgAAAAAvQ4gA5KVly6TEROm666SqVe2uBgAAAACyhRAByEvO+RDohQAAAADACxEiAHklIUH65hvTJkQAAAAA4IUIEYC8smmTdOaMFB4uNW5sdzUAAAAAkG2ECEBeca7K0L695Odnby0AAAAAkAOECEBeYT4EAAAAAF6OEAHIC//8I23fLvn6SnfcYXc1AAAAAJAjhAhAXliyxDzeequZEwEAAAAAvBAhApAXnPMhMJQBAAAAgBcjRABy2/nz0urVpt2pk62lAAAAAIA7CBGA3Pbdd1J8vBQRIVWvbnc1AAAAAJBjhAhAbks5lMHhsLcWAAAAAHADIQKQm5KSkidVZD4EAAAAAF6OEAHITZs3SydOSKGhUrNmdlcDAAAAAG4hRAByk3Mowx13SEWL2lsLAAAAALiJEAHITSztCAAAAKAAIUQAcsuhQ9LWrWYyxXbt7K4GAAAAANxGiADkFueEio0bS6VK2VsLAAAAAHgAIQKQWxYtMo8MZQAAAABQQBAiALkhOlpaudK0CREAAAAAFBCECEBu+P57KTZWqlhRqlPH7moAAAAAwCMIEYDc4FyVoVMnM7EiAAAAABQAhAiAp1kWSzsCAAAAKJAIEQBP27pVOnxYCgqSWra0uxoAAAAA8BhCBMDTnL0Qbr9dCgiwtxYAAAAA8CBCBMDTGMoAAAAAoIAiRAA86dgx6aefTLtDB3trAQAAAAAPI0QAPGnpUvNYv75Utqy9tQAAAACAhxEiAJ7EUAYAAAAABRghAuApcXHS8uWmTYgAAAAAoAAiRAA8ZfVq6eJFqVw5qV49u6sBAAAAAI8jRAA8xTmUoUMHyeGwtxYAAAAAyAWECIAnWBbzIQAAAAAo8AgRAE/Yvl3at0/y95dat7a7GgAAAADIFYQIgCc4eyG0bi0FB9tbCwAAAADkEkIEwBMWLTKPDGUAAAAAUIARIgDuOnVK2rjRtDt0sLcWAAAAAMhFhAiAu779VkpKkurWlSpWtLsaAAAAAMg1hAiAu5zzIXTqZG8dAAAAAJDLCBEAd1y6ZHoiSMyHAAAAAKDAI0QA3LFunRQZKZUqJTVoYHc1AAAAAJCr/OwuAPBqzqEM7dtLvr721oJCKzbWLBAye7ZpV68uXXtt8mP58pIPkTEAAAA8gBABcIczRGAoA/KYZUnr10szZ5rwIDIy+b0lS1LvGxAgRUSkDhec7auvlhyOvK0dAAAA3osQAcipv/82W5EiUtu2bp3q66+lnTulwYPN6YD07NljgoOZM6V//kl+vUIF6aGHzAIhu3Yl/3r+84/pnfDHH2a7XGho6l4LKR+LF8+zjwUAAAAvQYgA5JSzF0KLFuZOLIcWLZLuucd8s/z779KMGXQ9R2rnzklz5pjfjfXrk18vVky67z6pVy/za5jW701CgrR/f+pgwdnev1+KipJ++cVslytVKu2AISJCCg7OtY8LAACAfIwQAcgpDwxl2LFD6tHDBAiS9NlnUokS0jvv0MW8sLt0SVq2zAQHCxdKcXHmdR8f6fbbTa+Dzp0zv5n385OqVTPbnXemfi821vRUSCtgOHpUOnnSbBs2XHnea65JHhbRtKn04INMCwIAAFAYOCzLefsCO0RFRSksLEyRkZEKdePbbOSxc+fM17QJCdLu3eYOLZvOnpVuucXctDVvLj38sNkkafRoaeRIz5aM/M+ypC1bTHDw+efmBt6pTh2pd29zs16uXO7Xcv68+dVOK2A4c+bK/W+4QXrvPalZs9yvDQAAAO5x5z6UnghATixbZgKEWrVyFCAkJkoPPGBuyipWlObONRPcnT8v/ec/0ksvmR4JAwbkQu3Idw4fNr1QZsyQ/vwz+fWrrzY9VXr1Mjfpedk7JSREuukms13u9Gnzu7trl6n3f/+Ttm0zYdgDD0hjx5qeCgAAACh4CBGAnHBzKMPzz5scIjDQTKp49dXm9aefNjdoo0ebdokS5ptnFDwXLkjz55vgYOXK5CEt/v5mmEKvXma+Tr98+H/pq64yW6NG5vmzz0ovvihNmiR98YUZfvHCC2aiUH9/e2sFAACAZzGcwWYMZ/BCiYnmrv/MGWnNGvP1azZ8+qkZzy6Zpfm6dUv9vmWZ3gjvv29uIL/+Wmrf3kO128yypL/+MvNQlilT+CaQTEyUVq82wcFXX0kXLya/16yZCQ7uu897V0X49VcTfjnnUKhWTZo4UerQgTk+AAAA8hN37kMJEWxGiOCF1q+Xbr1VCg+XTpzI1lfFP/9sDo2Lk4YPl157Le39kpJM0PD556a3wnffmcnrvFlkpNS1q/kskhQQIFWqJFWpkvYWHl5wbjx37DDBwaefSocOJb8eEWGCg549zWcuCCzL/N7+979mckZJatfOhAnVq9taGgAAAP5FiODFCBG80LBh0pgxZpzBZ59l+bCjR6UGDcz4906dpAULMv4m/tIl06196VLzzfSaNVLduu4Wb4/9+8230X/+aTKXpCSzZSQ0VKpcOf2QIT8vMXjpksmX5s0z4cHPPye/V7y4dP/9Jjxo1KjgBCWXO3/ehGRvv21+HkWKSM88Y4Y9hITYXR0AAEDhRojgxQgRvFCdOuZu+PPPzSxyWRAXJ7VqJW3caOZi3LTJ3CRnJjrajItfv950/1+3LkfzONrq559NaHLsmFS2rJlOok4d6eBBae9ead8+85hyO3488/OWKmXChLSChkqVpKJFs19rfLzpMREVlfUtrf1jYlKf18/PDEnp1ctMo1GY5gnYtUsaNMiEYZL5PX7rLTNhZGEbzgIAAJBfECJ4MUIEL7N3r1S1quTra75qLlEi00MsS3rkEWnyZPMt9E8/Sddem/VLnjsntWgh/fabufS6deZm3Bt8/bXJWWJipOuvl5YskSpUyPy46OjkcCGtkOHcuYyPdzjM6gDOUKFiRfNteGaBQFycBz50CvXrm+Dg/vtN6FGYLVliwoTdu83zxo3NkpA332xrWQAAAIUSIYIXI0TwMu+/b2aOa97cjC/IgvfeMxMl+viYb2PvuCP7lz12zMylsGePuRlfs8bMGZBfWZb0zjtmdn7LMp95zpys9b7IinPn0g8Y9u69sidAdgUHS2Fhpt7MtvT2CwkxXfiRLC7OzI3wyitmUkmHQ+rf3wx7KOwhCwAAQF4iRPBihAhe5s47zdqMb71lZo7LxPffm+EIiYnSuHHSkCE5v/Q//5gg4ehRqUkTafny/DkvQEKCGfv+/vvm+aOPmnZe3VBblukkkjJkOHjQDCHI6KY/5c2/r2/e1FpYHT4sPfdc8pQixYtLL78sPfFE/lzSEgAAoKAhRPBihAhe5Px5qWRJM3B+xw6pZs0Md9+713RnP3PGzL4/Y4b7k+j9/rvpBHHunMkzvv46Z2P/c8uFC6br/pIl5vlbb0nPPltwJw+Ee9atMx17tm41z+vUkd5918wfAgAAgNzjzn0o01oBWbVihQkQqlWTatTIcNcLF6S77zYBQoMG0qRJnrmRds4rEBgoffut1KdP5qsc5JUjR0zAsWSJWb5x7lzTWYMAAem59VYz8ebHH0tXXSX98Yd0221St27SgQN2VwcAAIC0ECIAWbV4sXns2DHDO+OkJDOZ3u+/m5no5883N/2e0qSJWTrQz0/64gsz34Ld/Ym2bZNuuUXassWMbV+1SrrvPntrgnfw9ZUee0z6+2/pqafM3CFz55qOPi+/7P78FgAAAPAsQgQgK5KSkvvod+yY4a6vvmqCg6JFzc3+Ndd4vpw775RmzjRZxgcfSKNGef4aWfXtt+Yb5UOHzI3fpk1So0b21QPvVKKEmTtjyxazGklMjPTSS9J115k/T3YHZQAAADAIEYCs+Pln6fhxM+te8+bp7rZggbnxkUwX7caNc6+k++83AYJkvrF9993cu1Z6/vc/k6lcuCC1bClt2GCWoQRyqm5d05Nl1iypfHkzOea995oJSnfssLs6AAAAECIAWeEcynDHHenOZPjHH9JDD5n2f/4jPfxw7pf1xBMmQJCkgQOlTz/N/WtKpmPG0KHS44+blSd69TKLVuTnZSfhPRwOqXt3aedO6cUXzcoaK1aYgGHwYCky0u4KAQAACi9CBCArUs6HkIbTp6W77jLfyN92m1nOMa+8+KIJECQz0aKz1NwSE2Mmvhs71jwfPVqaNi1/rRKBgiE4WHrlFWn7dqlzZ7N86IQJUvXq0iefSNHRdlcIAABQ+LDEo81Y4tELHD5s+lU7HNKxY9LVV6d6OyHBzFGwcqVUpYq0ebOZaT4vJSVJvXubnggBAdLy5VKzZp6/zokTJiz58UcTGkyebJavBPLC8uWml89ff5nnISFS166mJ0yzZmZSRgAAAGSOJR6B3OT8ar9RoysCBEl69lkTIAQHS19/nfcBgmRunqZMMR0lYmPN49atnr3Gjh3mR/Djj2bYwnffESAgb7VtK/32m/T22yawO3/e/N63bGnm4hgxwqzyAAAAgNxDiABkJoOhDFOnSu+8Y9ozZ0rXX5+HdV2mSBFpzhzzjWxUlJm+Ydcuz5x71SqztOTeveZmbePGDOeXBHJN0aLSM89Ie/ZIa9dKjzwihYZK+/eblVFq1DBh14cfmmFGAAAA8CyGM9iM4Qz5XHS06VoQGytt22ZmdvvXpk1mKbr4eLPEonNVBrtFRppvZrdulSpXltatc2+ZyenTzY3apUsmSFiwQCpVyjO1Ap4QEyMtWiTNmGGWHE1MNK8XKWKyv169pPbtmbcDAADAieEMQG5ZtcoECBUqpOpmcPiwdM89JkC45x7TjTq/CAszN1IREWZ5vDvukM6cyf55LMsEI336mAChWzczbIMAAflNYKD5/Vy82PzZnDBBuukm83s7f775M1q2rDRggPTTT+Z3G7BDUpLZAADwZvREsBk9EfK5xx+X/vc/6cknpQ8+kGQyhebNzQSKdeqYrv3FitlcZxr27ZOaNpWOHDHdu1esMPM2ZEVcnNSvn/TZZ+b5sGGmqzgT18Gb/P67GWb06afS0aPJr1evbnon9OwpVapkX33wXpZlOqqdPp28nTmT+nlar509a+aUefxx6emnpTJl7P4kuWPLFpPBX3+9+XsoKMjuigAAl3PnPpQQwWaECPmYZZkeCIcPS0uXSu3aybLMKggzZ0olSpggoWpVuwtN359/mjkSzp41k9ItWpR5l+4zZ8w3tz/8IPn6Sh9/LPXvnzf1ArkhMdH0opk5U5o3L/XSkC1bmkChSxcztwIKn0uXUt/sZyUMOHPGhK3u8Pc3v3tDhpi5PLxdYqL5O2bCBPP3h1ORIlLjxlKrVmYJ5FtuMZ8dAGAvQgQvRoiQj23davpEBwWZfzUGBGjCBGnwYHNzvWyZ1Lq13UVmbtMmqU0b6eJF0+X7889N/WnZvVvq0MHMcB8aKn35pXT77XlbL5Cbzp83QcKMGeabUuffgIGBJjzr1cv8ufbzs7fOvBYba/LSQ4dM76WYGHNznZBgHjNqZ3W/zI7J63+NOHsTREXl/BxFiphpc1JuJUqk/1qJEub/yW+9ZR4ls3rw3XdL//2vmXfG2zhXSXn3Xemff8xrfn4mNNixw/xOpRQYKN16a3KocPPNhe/PGwDkB4QIXowQIR979VUz2cFdd0lff63ly6V27cx41nfeMevVe4vly80Ec5cuSY89Jn30kfmHa0obNph/yJ46JVWsKC1ZYoZrAAXVgQNmyM6MGdLOncmvly0r9ehhAgU7V1zxlOjo5IDAuR08mPr5yZN2V2kvh8MMM7g8AMjseXDwlf8vzQrLktavN2HCokXJrzdpIg0dKnXqlP+Hj+3bJ733nvR//5ccxISHS48+auYfKV/efM49e6TvvzfbqlXSiROpzxMSYiYpvu02EyzUrZv/PzsAFASECF6MECEfa9RI+vFHadIk7W71iBo0kM6dkx5+WJo8OWf/cLTTnDnS/febf9S98ILJSJxmzzbDNOLizLdCixaZGymgMLAs6eefTZjwxRepl4a88UbpoYekBx/Mn+PXL15MPxhwvpbViVUDAswIrnLlzDwvfn7mm3bnlvJ5Vt/Lzn523DgGBpowoHjx9Hto5bYdO6Rx48zcHfHx5rUaNaRnnzXzdgQE2FNXWizLBM4TJ5oePc5JIqtXlwYNMsFbRnPvWJa0fXtyoLBqlfl7NaWrrjLDjJyhQs2a3vf3LQB4A0IEL0aIkE8dP27uoi1LUTuPqNE9ZbVjh8kVVq/23vGc//ufmdBLkt5+2/yjb8wYafhw89rdd5tvZrM6ASNQ0MTHm9VNZswwYZrzps7X18wvctVVuX8znXI/yUwKmVY4cOjQlTdg6QkKMgFB+fJmS9l2biVKcLNmp6NHzZCAjz4yS/VKUunS0sCB5v/b4eH21XbpkhneNmGCmQvIqU0b6ZlnpDvvzFkIlJhoVk92hgo//CBduJB6nzJlTKDgDBWqVOH3FAA8gRDBixEi5FNTp0p9+yqpXn11vmazFi0y3879/LP3f0P/+uumJ4Jk/lH2/femPWiQ+TbMrm/jgPzmzBnTg2fGDLMKS35VrJgJBdIKBpyvhYVx4+Utzp+XPvnE3LA75xMIDpYeecTcsFesmHe1nDkjTZokvf++GRIjmRC9Z08Tbnh6uM+lS+bvWWeosH69ma8jpUqVUocK11zj2RoAoLAgRPBihAj5VJcu0rx5GtFstV5d20L+/tLatVKDBnYX5j7LMt1k337bPPfxMXM8DBhgb11AfrZrl/mWND7ecxMNZmW/pCTzbXRawYBz46+OgunSJWnWLGnsWLNcqWRC3vvvN5Mw3nBD7l37r7/MkIXp080km5L5PXzySdMr4uqrc+/aKcXGmgkoV60ywcKmTebPRkrVqyeHCs2bmzkWsjvRpzsThSYmmnkc7rrLhHUA4C0IEbwYIUI+FBcnlSypuRfuVDfNlWS+iXzoIZvr8qCkJPON1vz50ocfmkkXAQD5j2WZ1YDGjk3uOSaZZXv/+1+zmogneplYllkKdcIEs6qx0w03mL8v7r/f/qF8Fy9K69Ylhwq//JI8L4PdihY1/03uu88MDSxe3O6KACBjhAhejBAhH1q+XFvvGKqmjg2KtoI0ZIjp5g8AgJ1++cWECXPnJt8833STCRO6ds3ZUomxsWYunIkTpT/+MK85HGaFiGeeMSsn5NehMOfOmV6CztUffvvtyn3cmZckK8ckJkrffWcmyEx5zTZtzH+Tu+82840AQH5DiODFCBHyn5OPDFeD/3tU+1VZbduapQ5ZwxoAkF/s3WuGpE2enDzcoHJlc9Pfr1/WJsc9dsz0RPv44+QlPoODpb59paeflq69NtfKzzUXL5pwxXmj7+OTdwHI9u0m3Jk7V/rzz+TX/fxMb5H77pM6d5ZKlsybegAgM4QIXowQIX9JiE/S7WE/anVsY0WUvaCf/ixm64zYAACk5/RpEwS8+6506pR5LTxceuopM89N6dJXHrNtmxmy8MUXyauPVKxogoP+/emG7wk7dkhffWUChZS9I3x9zWSQXbtK99wjlSplX40AQIjgxQgR8pcRd/ykV5c3VIiitGmzr66rz1qHAID8LSbGTII4bpy0Z495zd9f6t1bGjJEioiQFi82QxZWrUo+rnFj03vhnnvocZdb/v7bLI85d660dWvy6z4+UsuWpofCvfemHfgA8E4nTpiJYO+6y+5KMkaI4MUIEfKP76fsU5t+FWXJR7MeXqbuU+6wuyQAALIsMVFasEB66y3pp5/Maw6HWZr4yBHz3NfXfBM+aJB0yy12VVo47d5tAoUvvzTzWzj5+JiVJZyBgrcvJQ0UNufOSWvWJC9P61xRZ98+syxtfkWI4MUIEfKHE4fidUOVSB1LKKX+5b/RJwfuzL8zSQEAkAHLMhMOjh1reiBIZpjCo4+aYQ4VKthaHiT980/ykIfNm5NfdzikW281Qc+990rXXGNfjQDSduFC6pVifv31ypVi6taVPvlEatjQnhqzghDBixEi2C8pSWof8beW7a2u2r479NNfxRVUja8BAADeb8cOadcuM7lfViZcRN7bt88ECl9+abpAp9S0qemh0KUL4Q9gl9hYaePG5J4GP/4oJSSk3qdGDem228zWooV3zHlS6EOEAwcO6N1339WSJUt04MAB+fv7KyIiQt26ddOTTz6poKAgj11rxYoV+vTTT7Vu3TodPXpUfn5+Kl26tOrWravWrVvroYceUrFixbJ8PkIE+419cq+GflRFgYrW5gnrVHtQW7tLAgAAhdCBA9K8eaaHwoYNqd9r1Mj0UOjSJX93kfZGcXEmbNu+3axcUqmSVL26VLWqmV8EhculS6aHkDM0WL/e/I6kVLlycmjQqpVUrpwtpbqlUIcIS5YsUY8ePRQZGZnm+zVq1NDSpUtVtWpVt65z9uxZPfzww/r6668z3G/Lli268cYbs3xeQgR7bVp5Uc3aFFWCimhS46l6ZMPDdpcEAACgQ4eSA4X1680wFaeKFaUyZcyEjBk9FivG6MyUYmPNZJd//mkCg+3bTXv3bjOnyOV8fJIDhWuvTf1YqZKZYwTeLzHRTHzqDA1++MEsGZtS2bKpQ4MqVWwp1aMKbYiwbds2NWnSRNHR0SpWrJiGDRumVq1aKSYmRrNmzdInn3wiSapZs6Y2b96crR4CKUVGRqp169b65d9ZcDp06KD7779fERERSkxM1P79+7V582Z9+eWXWrRoESGClzh3Trqpwkntu1BK3YMW6YsjLeQI478BAADIX44cMYHCl1+aG5ys/us9MDA5VMgscChIw11iYqSdO1MHBdu3m9VLLh+77hQaKtWubW4W9+83YcP58+lfo2hR01MhrYChXDnCm/zMsszvhDM0WL3a3BekVLKkWUHFGRxUr17w/psW2hChVatWWr16tfz8/PTDDz+ocePGqd4fO3ashg4dKkkaPXq0Ro4cmaPr9OrVSzNnzpSfn58+/fRTde/ePc39LMtSYmKi/LKxThIhgj0sS+rW9JC+3FheVbVHvy49rrB2TewuCwAAIEOnTpmb4WPHpOPHkx9Tto8dM5O/ZUdw8JXhQsp2yZJSWJi52Q4NlUJC7F8a9OLF5LAgZe+Cf/5JP2gpXtyEBdddZzZn+/Ibf8syS/X9/bfZdu1Kfty168ru7SkFBZlAwRkqpAwYrrqq4N2M5neWZXqbOEODVavMf9uUQkPNXAbO0KBOHdMTpSArlCHC5s2b1fDf6S4fe+wxffzxx1fsk5SUpDp16mjHjh0KDw/X8ePHVaRIkWxdZ926dWrWrJkkadSoUXrppZfcLz4FQgR7fPxmpJ54PkxFFK/1vT9Rg2lP2V0SAACAx1y8mHa4cPnjsWPmm/ucCApKDhWcW8qgIaPNuV9IiPlWPyMXLphJQlMGBdu3m0kp07uTKVEiOSBIGRqUKeP+TXxSknTwYOpgwRk27N2b9tAIp+LF0+69ULu2FBDgXl2FXWys6UWyd2/qbdMmMzwopaAgsxKKMzS46Sb7Q7G85s59qNf+qBYsWOBqP/xw2uPYfXx81KtXLw0bNkxnz57V6tWrdfvtt2frOu+//74kqVixYhoyZEiO60X+8ds2S4OGB0qSxlzznhpMetrmigAAADwrONh0t89sWjDLMjfpmYUNZ85IUVFmi401x0ZHm+3YMfdqDQhIO2iIjzdhwYED6R9bqtSVQUHt2ub13PrG3zlXQqVKUps2qd+7dMncuKYMFpztgwdNt/mffjJbSn5+0vXXSzffLNWvb7Y6dZjYMaWEBPMz3LfvyqBg717p6NH0jy1aVGrSxMxncNttZunFzMIrpM9rQ4S1a9dKkoKDg3XzzTenu1+LFi1c7XXr1mUrRIiPj3dNpNiuXTvXnAoJCQk6fPiwHA6HypQpo6L8BnqNixel7necU1xSuNr7fKNB37bj/yAAAKDQcjhMb4CQECkiImvHxMeb+QKcoUJkZHI7K5tz/+hoc77YWLNd3sU8pdKlrwwKatXKf0vpFSmSPIShQ4fU70VHm6Eolw+P2LFDOn1a2rLFbP/3f8nnqlvXBArOcKFOHfN6QZSUZAIpZyhweVhw8GDGvTwkM5lolSqptzp1TIAQGJgnH6NQ8NoQYceOHZKkiIiIDOcgqFmz5hXHZNW2bdsU+2/U2rhxYx07dkzDhg3T3LlzdfHfKTsDAgLUqlUrvfjii2rShDH1+d1/ep/TzuPhKqfDmvbyQfnUaWd3SQAAAF6laFEztv+qq9w7T0JC6jDi8k0yQUGtWu5fKz8ICjK9Da6/PvXrlmV6W/z8s/TLL8mPZ86Yx3/ndpdkeiY4gwVnuHDddd4RLFiW+Uwpg4GUQcG+fRnPNSGZz1+p0pVBgXMrUYI5J/KCV4YIsbGxOnXqlCSpfPnyGe4bHh6u4OBgXbx4UQcPHszWdbZv357qmtdff73ruilf/+abb7Rs2TKNHz9egwYNytY1kHc+n5GgKV8Vl48S9Vm9t1Vq2Fi7SwIAACi0/Pyk8HCzFWYOR/LwiC5dzGuWZW6qLw8Wzp2TNm82m1NAgHTjjamHQtSsmXdj/GNiMh8O43y8fOnEy/n4SBUqpB8SlClT8Cc89AZeGSKcT7HeSlaWbXSGCBeyOU3tmTNnXO3Ro0crLi5OHTt21KhRo1SnTh1FRkbqq6++0vPPP6+oqCgNHjxYNWrUULt26X+7HRcXp7gUEVuUM2ZFrtq1S3rskURJfhoRME4tF/5/e/cf33O9/3/8/p7ZL/OzmcyW+TWUwvGrhZAoIb8i/WDrl1IqpZJOp+X0w4+TcJy+QvLjlOPHDiJKfA6jhC10cvwIQ8YJw7FpjPf2+v7xbm/v2a/X2957vza7XS+XXXrt/frxfrzreXm03fd8PV8v04EAAABQKtlsV35xHjjQ8ZphOJ48cXWwkJbmWDxwy5Yr5wcGOhYLdL0VonFjqUIFc++fmWluYc4TJ67MGjHrxhsLDgnCw8vGrIryrkyGCDm3GEgytR6B/+8rklxwc+nZ31yisszMTPXu3VvLly+Xz++/fIaGhmr48OG69dZb1alTJ2VnZ+u1117TvffeK1sB82jGjRunsWPHulUHiiczUxrc+7zOXwpWJ23Qn+bUl+rUsbosAAAAwDSbTWrQwPGV88T57GzHOgtJSVdChR9+cCyWuXmz4ytHpUpXgoWWLR23kxQUDvzvf+7VFhCQ+5Gg+T0utFYtR0jA2gRlX5kMEQJcnn9y6dKlIo/P+ct/oJsjNuCq56z85S9/cQYIrjp06KD+/fsrPj5eu3bt0q5du3Tr1Tc7/W7MmDF6+eWXnd+npaUpIiLCrbrgntEvX9L2fcG6Qan6vP9SVRj8V6tLAgAAAIrNx8fxmMhGjaSHHnK8lp3tWLTRdbbC9u2OWwm+/dbxZUbFigWHAlf/s0oV1iIoT8pkiFC5cmXntplbFHJmFJi59aGg96lXr54aN25c4LH33HOP4uPjJUmJiYkFhgj+/v7OmREoeStWSFP/n2O2yryar6rOp1OsLQgAAAAoQT4+jjURmjSRHnnE8VpWlrRv35Vg4d//dswIKCwcqFaNYAD5K5MhQkBAgEJCQpSamqqUlJRCjz179qwzRHD3L/6uxxe1gKPrsScLez4NvOboUemxRy9J8tNLmqyei2OkqlWtLgsAAADwqgoVrjwec8gQq6tBWVdmV5Zr2rSpJOnAgQOy2+0FHrd3794855h1yy23OLezingoqev+wh45Ce+w26WHB17SmXQ/tVKSxr90Qurc2eqyAAAAAKBMK7MhQocOHSQ5blX4wfXhqVdJSEhwbrdv396t96hbt65uuukmSdLBgwcLPdZ1fx0W7bPcn8ca+narnyorTYsax8lvHItZAgAAAEBxldkQoW/fvs7tOXPm5HtMdna25s+fL0mqVq2aunTp4vb7DPj9Ya0nTpzQZtflTa+ydOlS53bHjh3dfh94zr/+Jb37nmN7ZoVn1WDJeIl1KAAAAACg2MpsiNC2bVvnL+uzZ8/W999/n+eYSZMmac+ePZKkF198URWveujo3LlzZbPZZLPZ9Pbbb+f7PiNHjnQ+peGFF17I9djHHJ999pk2bNggSerZs2eR6yeg5Jw8KT0y2C7DsOlJzdLgiX+QCljkEgAAAADgnjIbIkjS1KlTFRgYKLvdru7du2vcuHHasmWL1q9fr6efflqvvfaaJCkqKkqjRo26pve46aab9Oc//1mS9MMPP6ht27aaN2+efvjhB/3rX//SiBEjFBsbK0mqUqWKJk+e7JHPBvdlZ0sxQ7P16ylf3az/aOqdS6WRI60uCwAAAACuG2V6BcCWLVtq0aJFevTRR5WWlqY33ngjzzFRUVFatWpVrsc1uuvVV1/VmTNnNGHCBO3evdsZGrgKDQ3V8uXL1ahRo2t+HxTPpEnS12t8FKALWhT8pII+W+x4xg0AAAAAwCPK/G9YvXv31r///W+99NJLioqKUlBQkKpVq6bWrVtrwoQJ2rFjhxo2bFjs9xk3bpy+++47DRkyRJGRkfL391fVqlXVpk0bvfPOO/r5558VHR3tgU+Ea7F1q/TGmGxJ0lS9qGYznpfcfKQnAAAAAKBwNsMwDKuLKM/S0tJUtWpVnTt3TlWqVLG6nDLpf/+TWrbI1uEjPhqkRVr44HLZFv7D6rIAAAAAoFQqzu+hZfp2BsAwpGHDpMNHfFRPyZoZNla26d9ZXRYAAAAAXJfK/O0MKN9mzpSWLJF8dVkLNVhV50+Tqle3uiwAAAAAuC4RIqDM+uknaeRIx9044/W62r7UQera1eKqAAAAAOD6xe0MKJN++0168EFDFy/a1EOr9dLN30jvJ1pdFgAAAABc1wgRUCa98IK0Z49NYTqmeb5PymfBV1JAgNVlAQAAAMB1jdsZUOYsWCB9+qlkU7Y+1yOq+d5IqXlzq8sCAAAAgOseIQLKlAMHpKefdqyD8Ce9o853GtKoURZXBQAAAADlA7czoMzIzJQefFA6f96mO5WgP1WeKs3fIVWoYHVpAAAAAFAuMBMBZcbrr0vbt0s3KFWf6xH5fjRVqlvX6rIAAAAAoNwgRECZsHKlNGWKY3uuYhX+QLT06KOW1gQAAAAA5Q23M6DUS0mRYmMd2y/pQ/WqvV36+CfJZrO0LgAAAAAobwgRUKrZ7dLDD0tnzkitlKRxGiPNXSndcIPVpQEAAABAucPtDCi1srKkuDhp0yapsi1dCzVY/s8/LXXvbnVpAAAAAFAuMRMBpUZmppSY6AgNNm2SvvtOSktz7JthDFPDpn7ShAnWFgkAAAAA5RghAiyTliZt3nwlNNi2zREkuKoccEmjLr6nh3zjpc+2SoGB1hQLAAAAACBEgPecOHElMNi0SfrxRyk7O/cxoaFSx46/f4Xs1m3PtJev/ieNfU/6wx8sqRsAAAAA4ECIgBJhGFJycu7QYP/+vMfVr+8SGnSUGjX6/aEL334r9ewpnU+TOnWSRo/2+mcAAAAAAORGiACPyMqSdu3KHRr897+5j7HZpFtvzR0ahIXlc7G1a6U+faQLFxwBwsqVUoUKXvkcAAAAAICCESLgmmRmSklJuRdBPHcu9zEVK0pt2lwJDO64Q6pevYgLf/GFNGiQdOmSdO+90j//KQUFldjnAAAAAACYR4gAU9LT8y6CePFi7mOCgx1BQU5o0Latm+sgLlggDR3qmNYwYID0+eeSv79HPwcAAAAA4NoRIsCU6dPzLktQs2buWxOaN5d8r3VEzZwpPfOMYzGFoUOl2bOLcTEAAAAAQEngtzSY0rGjVK9e7tAgKur3RRCL68MPpVGjHNvPPitNmyb5+HjgwgAAAAAATyJEgCm33+542oJHGYb0zjtSXJzj+9dek8aP91AyAQAAAADwNEIEmOLx3+sNwxEafPCB4/t335XeeIMAAQAAAABKMUIEeF92tuO2hRkzHN9PniyNHGlpSQAAAACAohEiwLvsdumxx6TPPnPMOpg1S3riCaurAgAAAACYQIgA78nMlB56SFq2zPHkhb//XRo82OqqAAAAAAAmESLAOzIypH79pG++kfz9pSVLpN69ra4KAAAAAOAGQgSUvLQ0qVcvadMmKShIWrFC6trV6qoAAAAAAG4iREDJOn1auvdeKSlJqlpVWr1auuMOq6sCAAAAAFwDQgSUnF9/lbp1k3btkkJCpDVrpD/8weqqAAAAAADXiBABJePIEenuu6UDB6TataV166Sbb7a6KgAAAABAMRAiwPP273eseXD0qBQZKf3f/0n161tdFQAAAACgmHysLgDXmZ9+kjp2dAQIjRs7FlMkQAAAAACA6wIhAjwnKUnq3Fk6cUJq3lzauFEKD7e6KgAAAACAhxAiwDM2bZLuuks6c0Zq105av14KDbW6KgAAAACABxEioPjWrJHuuUdKT3fMRFi7Vqpe3eqqAAAAAAAeRoiA4lm2TOrdW7pwQbrvPmn1aqlyZaurAgAAAACUAEIEXLvPPpMGDpQuX3b8c9kyKTDQ6qoAAAAAACWEEAHXZsYMaehQKStLio2VFiyQ/PysrgoAAAAAUIIIEeC+Dz6QnnlGMgxpxAhp9mzJ19fqqgAAAAAAJYwQAeYZhhQXJ736quP711+X/vpXyYdhBAAAAADlAX8+hjmGIY0aJU2e7Pj+/felMWOsrQkAAAAA4FWECDAnLu5KgPDXv0rPP29tPQAAAAAAr2MeOsyJjZUiIhzrHxAgAAAAAEC5xEwEmFO/vrR3rxQUZHUlAAAAAACLMBMB5hEgAAAAAEC5RogAAAAAAABMIUQAAAAAAACmECIAAAAAAABTCBEAAAAAAIAphAgAAAAAAMAUQgQAAAAAAGAKIQIAAAAAADCFEAEAAAAAAJhCiAAAAAAAAEwhRAAAAAAAAKYQIgAAAAAAAFMIEQAAAAAAgCmECAAAAAAAwBRCBAAAAAAAYAohAgAAAAAAMIUQAQAAAAAAmEKIAAAAAAAATCFEAAAAAAAAphAiAAAAAAAAUwgRAAAAAACAKYQIAAAAAADAFEIEAAAAAABgCiECAAAAAAAwhRABAAAAAACY4mt1AeWdYRiSpLS0NIsrAQAAAACUBzm/f+b8PuoOQgSLpaenS5IiIiIsrgQAAAAAUJ6kp6eratWqbp1jM64leoDHZGdn6/jx46pcubJsNpvV5RQqLS1NEREROnr0qKpUqWJ1OSiDGEPwBMYRPIFxBE9gHMETGEcormsZQ4ZhKD09XWFhYfLxcW+VA2YiWMzHx0fh4eFWl+GWKlWq0OBQLIwheALjCJ7AOIInMI7gCYwjFJe7Y8jdGQg5WFgRAAAAAACYQogAAAAAAABMIUSAaf7+/oqLi5O/v7/VpaCMYgzBExhH8ATGETyBcQRPYByhuLw9hlhYEQAAAAAAmMJMBAAAAAAAYAohAgAAAAAAMIUQAQAAAAAAmEKIgCL98ssveuWVV9S0aVNVqlRJNWrUUNu2bfXBBx8oIyPD6vJQitlsNlNfnTt3trpUWOTkyZP68ssv9dZbb6lHjx4KCQlxjovY2Fi3r/f111+rf//+Cg8Pl7+/v8LDw9W/f399/fXXni8epYInxtDcuXNN96u5c+eW6OeBNbZv3673339fPXr0UEREhPz9/RUcHKyoqCjFxsZq06ZNbl2PXlQ+eWIc0Y/Kt7S0NC1cuFCjRo1Sp06d1LBhQ1WtWlV+fn4KDQ1V586dNXHiRJ0+fdrU9UqsFxlAIb788kujatWqhqR8vxo3bmwcPHjQ6jJRShU0bq7+6tSpk9WlwiKFjYuYmBjT18nOzjaGDRtW6PWGDRtmZGdnl9yHgSU8MYbmzJljul/NmTOnRD8PvO/OO+809d9+yJAhRmZmZqHXoheVX54aR/Sj8m3t2rWm/tuHhIQYX3/9dYHXKele5FtUyIDy68cff9SgQYOUkZGh4OBgjRkzRl26dNGFCxe0cOFCzZo1S/v27VPPnj2VmJio4OBgq0tGKTV8+HA9++yzBe6vVKmSF6tBaRUREaGmTZvqm2++cfvcN998UzNnzpQktWzZUq+99poaNGiggwcPauLEidqxY4dmzpypmjVr6t133/V06SglijOGcqxZs0ZhYWEF7g8PD7/ma6N0OnbsmCQpLCxMAwcOVMeOHXXTTTcpKytL33//vSZNmqRjx47p73//u+x2uxYsWFDgtehF5Zcnx1EO+lH5FBERoS5duqhVq1aKiIhQ7dq1lZ2drZSUFMXHx2vp0qVKTU3V/fffr8TERN122215rlHivehaUxJc/zp37mxIMnx9fY3Nmzfn2T9x4kRnkjV27FgLKkRplzM+4uLirC4FpdRbb71lrFy50vj1118NwzCMQ4cOuf1X5P379xu+vr6GJKN169ZGRkZGrv2//fab0bp1a2c/O3DggKc/BizkiTHk+pe/Q4cOlVyxKJV69uxpLFq0yLDb7fnuP3XqlBEVFeUcIxs3bsz3OHpR+eapcUQ/Kt8KGj+uli1b5hwj/fv3z7PfG72INRGQr8TERG3YsEGS9MQTTyg6OjrPMaNGjVLTpk0lSVOmTNHly5e9WSKA68DYsWPVq1cv1apV65qvMXnyZNntdknStGnTFBgYmGt/UFCQpk2bJkmy2+2aMmXKNb8XSh9PjCGUb19++aUGDRqkChUq5Ls/JCREkyZNcn4fHx+f73H0ovLNU+MI5VtB48dV37591aRJE0nSxo0b8+z3Ri8iREC+li9f7tx+7LHH8j3Gx8dHQ4cOlSSdPXvWGToAgLcYhqEvvvhCktSkSRPdfvvt+R53++23q3HjxpIc/c0wDK/VCKDsc10A+ODBg3n204tgRlHjCDAr51bgixcv5nrdW72IEAH5ylk9tlKlSmrVqlWBx3Xq1Mm5/e2335Z4XQDg6tChQ877UF37UX5y9qekpOjw4cMlXRqA68ilS5ec2z4+eX98phfBjKLGEWDGnj17tHPnTklyzkjI4a1exOhFvvbs2SNJatiwoXx9C15/03Xg5pwDXG3JkiVq3LixAgMDVblyZTVq1EgxMTFav3691aWhjHPtO1f/j/Rq9CuYERsbq1q1asnPz08hISG6/fbb9eabbzp/KEP5lJCQ4NzOr9fQi2BGUePoavQj5MjIyND+/fv14YcfqkuXLsrKypIkvfjii7mO81YvIkRAHhcvXlRqaqqkold9rV69unM6zdGjR0u8NpRNu3fv1s8//6yLFy/q/PnzOnDggObPn6+77rpL/fr107lz56wuEWWUa98pql9FRETkex7gKiEhQSdPntTly5d1+vRpbd26Ve+9954aNmyoGTNmWF0eLJCdna3x48c7vx80aFCeY+hFKIqZcXQ1+lH5NnfuXNlsNtlsNlWqVElRUVEaNWqUTpw4IUl65ZVX9Mgjj+Q6x1u9iEc8Io/09HTntpnHNlaqVEm//fabzp8/X5JloQwKCgrS/fffr65du6pJkyYKDg7WqVOnlJCQoI8//linT5/W8uXL1adPH61du1YVK1a0umSUMe70K9dHidKvcLX69eurf//+io6Odv5glZycrH/+85+Kj4/XxYsX9cwzz8hms2nYsGEWVwtvmjx5srZt2yZJ6tevn1q3bp3nGHoRimJmHOWgH6EwLVq00Mcff6x27drl2eetXkSIgDxcF+jw8/Mr8nh/f39J0oULF0qsJpRNx44dU7Vq1fK83q1bNz3//PPq0aOHduzYoYSEBE2fPl0vvPCC94tEmeZOv8rpVRL9Crn169dPMTExstlsuV5v06aNHnzwQX355Zfq37+/Ll++rJdeekn333+/brzxRouqhTclJCTo9ddflySFhoZq+vTp+R5HL0JhzI4jiX6EK/r27esMmy5cuKCDBw9q8eLFWrZsmR555BFNmTJFvXr1ynWOt3oRtzMgj4CAAOe26wIwBcnMzJSkPI8PAfILEHLUqlVL8fHxzgaX86gZwB3u9KucXiXRr5Bb1apV8/zA7qpXr16Ki4uT5Lgvdfbs2d4qDRb6z3/+o379+slut8vf31+LFy8u8FGi9CIUxJ1xJNGPcEW1atXUrFkzNWvWTG3atNHgwYO1dOlSzZ8/X8nJyerTp4/mzp2b6xxv9SJCBORRuXJl57aZqS2//fabJHO3PgCu6tevr27dukmSDhw4oOPHj1tcEcoad/pVTq+S6Fdw31NPPeX8wd51cTRcnw4dOqTu3bvr7NmzqlChgv7xj38UutI5vQj5cXccmUU/Kt+GDBmigQMHKjs7WyNGjNDZs2ed+7zViwgRkEdAQIBCQkIkOR75UZizZ886B6Dr4hyAWTfffLNzm9WG4S7XRYOK6leuiwbRr+Cu0NBQ5/8b6VXXt+PHj+vuu+/W8ePHZbPZ9Omnn6pfv36FnkMvwtWuZRyZRT9Cnz59JDmCgK+++sr5urd6ESEC8tW0aVNJjr8O2+32Ao/bu3dvnnMAdxiGYXUJKMNcQyjXfpQf+hWKi351/UtNTVW3bt2UnJwsyXGr3dChQ4s8j14EV9c6jtxBPyrfatas6dw+cuSIc9tbvYgQAfnq0KGDJEe69cMPPxR4nOsUqvbt25d4Xbj+7N6927kdFhZmYSUoi+rVq+ccN0VN6dy4caMkqU6dOoqMjCzp0nCdOXnypE6fPi2JXnW9OnfunO655x7n/5fGjx+v5557ztS59CLkKM44Mot+BNcZKK63InirFxEiIF99+/Z1bs+ZMyffY7KzszV//nxJjoU/unTp4o3ScB1JTk7W2rVrJTnWR6hTp47FFaGssdlszil9e/fu1ZYtW/I9bsuWLc7EvU+fPoUuWgXkZ+bMmc6//HninmaULhkZGerZs6e2b98uSfrjH/+o0aNHmz6fXgSp+OPILPoRlixZ4ty+9dZbndte60UGUICOHTsakgxfX19j8+bNefZPnDjRkGRIMuLi4rxfIEq1FStWGJcvXy5w/6+//mq0bNnSOYYmTZrkxepQWh06dMg5JmJiYkyds2/fPsPX19eQZLRu3drIyMjItT8jI8No3bq1s5/9/PPPJVA5Sgt3x9ChQ4eM7du3F3rMypUrDT8/P0OSERAQYKSkpHioWpQGmZmZRvfu3Z3j5sUXX7ym69CLyjdPjCP6EebMmWNcuHCh0GM+/PBD5ziLjIzM8/O2N3qRzTC4oQb527Fjh9q3b68LFy4oODhYb7zxhrp06aILFy5o4cKFmjlzpiQpKipKSUlJuVYDBSIjI3X58mUNGDBA0dHRioyMVGBgoFJTU7VhwwZ9/PHHzql4HTp00Lp163I9rxblw7fffqsDBw44v09NTdWrr74qyXGL1JNPPpnr+NjY2HyvM2bMGI0fP16S1LJlS40ePVoNGjTQwYMHNWHCBO3YscN53Pvvv18CnwRWKe4Y2rBhg7p06aLo6Gj17t1bLVq0UGhoqAzDUHJysuLj4xUfH+/8q9/f/vY3j09NhrUGDBigpUuXSpLuuusuTZkypdC/yvn5+SkqKirfffSi8ssT44h+hMjISKWnp2vAgAHq0KGDGjRooODgYKWnp+unn37S559/ru+++06SYwytWrVKd999d57rlHgvcjt2QLmyYsUKo0qVKs606+qvqKgoY//+/VaXiVKobt26BY4b168BAwYYZ8+etbpcWCQmJsbUOMn5KkhWVpbx+OOPF3ruE088YWRlZXnx08EbijuG1q9fb+q8oKAgY8aMGRZ8QpQ0d8aPJKNu3boFXoteVH55YhzRj2D25+fw8HDjm2++KfA6Jd2LmImAIh05ckRTp07VqlWrlJKSIj8/PzVs2FADBw7UiBEjFBQUZHWJKIUSEhKUkJCg77//XsnJyUpNTVVaWpqCg4MVERGhO+64QzExMYqOjra6VFgoNjZW8+bNM318Uf/LWr16tWbOnKnExESlpqYqJCREbdq00dNPP60ePXoUt1yUQsUdQ+np6VqxYoW+//57JSUl6b///a9SU1Nlt9tVvXp13XLLLeratauefPJJhYaGerp8lALu3gtct25dHT58uNBj6EXljyfGEf0IBw8e1Lp167R+/Xrt2bNHJ06c0OnTpxUQEKBatWqpRYsW6tWrlwYNGmTqd7CS6kWECAAAAAAAwBSezgAAAAAAAEwhRAAAAAAAAKYQIgAAAAAAAFMIEQAAAAAAgCmECAAAAAAAwBRCBAAAAAAAYAohAgAAAAAAMIUQAQAAAAAAmEKIAAAAAAAATCFEAAAAAAAAphAiAAAAAAAAUwgRAAAATDh8+LBsNptsNpvmzp1rdTkAAFiCEAEAABRqw4YNzl+ezX6NHDnS6rIBAEAJIEQAAAAAAACm+FpdAAAAKDuGDx+uZ599tsjjQkJCvFANAADwNkIEAABgWmhoqJo1a2Z1GQAAwCLczgAAAAAAAEwhRAAAACUuMjJSNptNsbGxkqTExEQ99NBDioiIUEBAgCIiIhQbG6s9e/aYut7KlSv1wAMPKDw8XP7+/rrhhhsUHR2t8ePH6/z586ausWvXLj3//PO69dZbVb16dQUFBalhw4a69957NX36dJ06darIa6xdu1a9e/fWjTfeKH9/f9WrV0/Dhw9XSkqKqRoAAChrbIZhGFYXAQAASq8NGzaoS5cukqS4uDi9/fbbbl8jMjJSR44cUUxMjO688049/fTTstvteY7z9/fXvHnz9OCDD+Z7nYsXL+rhhx/WsmXLCnyvsLAwrVq1Si1atMh3f1ZWll599VVNnTpV2dnZBV4nJiYm16McDx8+rHr16kmS5syZo71792rChAn5nluzZk0lJCSoadOmBV4fAICyiJkIAADAa3bu3KlnnnlGoaGhmjZtmrZu3aqEhASNHj1a/v7+yszM1KOPPqpt27ble35MTIwzQGjevLnmz5+vxMRErVmzRo899phsNpuOHz+url276tixY/leY9iwYZo8ebKys7NVu3Ztvffee1q/fr22b9+uNWvW6J133lHz5s0L/RyzZs3ShAkT1KlTJy1YsEBJSUlat26dhg4dKkk6deqUHn/88WL8mwIAoHRiJgIAACiU60wEs09naNy4sSpWrOj8PmcmgiTVrVtXW7Zs0Y033pjrnPXr16t79+6y2+1q3bq1EhMTc+1ftWqVevXqJUnq2rWrVq9eLT8/v1zHzJo1S8OGDZMkDRo0SIsWLcq1/4svvlDfvn0lSdHR0Vq9erWqVauW72dISUlReHi483vXmQiS9NRTT2nGjBmy2Wy5znvqqaf0ySefSJK2b9+uli1b5nt9AADKIkIEAABQKNcQwaxDhw4pMjLS+b1riBAfH68BAwbke96zzz6r6dOnS5K2bdumNm3aOPfdd999+uqrr1SxYkUdPHhQERER+V6jW7duWrdunXx9ffXLL7+odu3azn3R0dHasmWLgoKC9PPPP6tOnTqmP5NriFC7dm0dOnRI/v7+eY7bt2+fmjRpIkmaOnWqXnjhBdPvAQBAacftDAAAwGuqV6+uPn36FLjf9RaAdevWObftdrsSEhIkOUKCggIEyTETIOecDRs2OF8/ffq0tm7dKskxS8GdAOFqDzzwQL4BguSYhREcHCxJSk5Ovub3AACgNCJEAAAApsXFxckwjCK/XGchuGrZsqV8fX0LvH6LFi2ctyjs2rXL+XpycrIyMjIkSe3atSu0Rtf9rtfYuXOnciZg3nnnnYV/0CLkzDQoSPXq1SVJ6enpxXofAABKG0IEAADgNaGhoYXu9/X1VY0aNSRJZ86ccb7uul2rVq1Cr+G61oLreampqc5t11scrkVQUFCh+318HD9iZWVlFet9AAAobQgRAACA11y9CGF+ilquycw1PFEHAADIixABAAB4zYkTJwrdb7fbdfbsWUlyzki4evvXX38t9Bqu+13PCwkJcW4fP37cXMEAACAXQgQAAOA1O3fulN1uL3D/jz/+qEuXLkmSmjVr5ny9fv36zlsIchZHLMi2bduc267XaNmypXMGwsaNG90vHgAAECIAAADvOXPmjFauXFng/k8//dS5fffddzu3fX191alTJ0nS2rVrdfTo0QKv8cknn0iSKlSooM6dOztfr1Gjhu644w5J0uLFi5mNAADANSBEAAAAXvXyyy/ne1tDQkKCZs6cKUlq1aqV2rRpk2v/c889J0m6fPmyHn/8ceeMBVeffvqpvvnmG0nSgAED8iygOHr0aElSRkaGBg4cqHPnzhVYZ0pKihufCgCA8qHgZywBAABc5eTJk7kem1iQwMBANWjQIM/rzZs31+7du9WqVSuNGTNGbdu2VWZmplavXq3JkyfLbrfL19dXH330UZ5ze/bsqYEDB2rJkiVat26d2rVrp1GjRqlp06Y6e/asFi5c6JzJUKNGDX344Yd5rtG7d2898cQTmj17tjZv3qybb75ZI0aMUPv27VWlShWlpqYqKSlJixcv1m233aa5c+e6/y8JAIDrGCECAAAwbfr06Zo+fXqRxzVv3lw7d+7M83qLFi00YsQIDR8+XCNGjMiz38/PT/PmzVO7du3yve78+fNlt9u1bNky7dy5U0OGDMlzTFhYmFatWqU6derke40ZM2YoMDBQH330kY4fP6433ngj3+Nuu+22Qj4hAADlE7czAAAAr3ryySe1adMmDRo0SGFhYfLz81OdOnU0dOhQ7dixQ4MHDy7w3ICAAC1dulQrVqxQ//79nedXr15d7dq107hx47Rv3z61aNGiwGtUqFBB06ZNU1JSkoYNG6aoqChVqlRJQUFBatSoke677z7NmjVLkydPLoFPDwBA2WYzinoYMwAAQDFFRkbqyJEjiomJ4RYBAADKMGYiAAAAAAAAUwgRAAAAAACAKYQIAAAAAADAFEIEAAAAAABgCiECAAAAAAAwhaczAAAAAAAAU5iJAAAAAAAATCFEAAAAAAAAphAiAAAAAAAAUwgRAAAAAACAKYQIAAAAAADAFEIEAAAAAABgCiECAAAAAAAwhRABAAAAAACYQogAAAAAAABM+f889lR1cVjMrAAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots(1, 1, figsize=(12,8))\n", + "ax.plot(history.history['accuracy'], 'r', label='Training Accuracy')\n", + "ax.plot(history.history['val_accuracy'], 'b' ,label='Validation Accuracy')\n", + "ax.set_xlabel(r'Epoch', fontsize=20)\n", + "ax.set_ylabel(r'Accuracy', fontsize=20)\n", + "ax.legend()\n", + "ax.tick_params(labelsize=20)" + ] + }, + { + "cell_type": "markdown", + "id": "cedcc4aa-db06-4802-a1f5-d922fb1f4842", + "metadata": {}, + "source": [ + "### Adjusted Model" + ] + }, + { + "cell_type": "code", + "execution_count": 98, + "id": "15b96a69-7dee-4d64-a0db-7e47d6113858", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Training Accuracy: 0.7781\n", + "Testing Accuracy: 0.6333\n" + ] + } + ], + "source": [ + "# Building a model that avoids overfitting\n", + "\n", + "from keras.regularizers import l2\n", + "from keras.callbacks import EarlyStopping\n", + "\n", + "def CNN_model_adj(embedding=200, filter=16, kernel=4, num_1=40, lr=0.01, dropout_rate=0.5):\n", + " model = Sequential()\n", + " model.add(layers.Embedding(input_dim=vocab_size, \n", + " output_dim=embedding, \n", + " input_length=maxlen))\n", + " model.add(Conv1D(filters=filter, kernel_size=kernel, activation=\"relu\"))\n", + " model.add(MaxPooling1D(pool_size=2))\n", + " model.add(layers.Flatten())\n", + " model.add(layers.Dropout(dropout_rate))\n", + " model.add(layers.Dense(num_1, activation='relu', kernel_regularizer=l2(0.001)))\n", + " model.add(layers.Dense(1, activation='sigmoid'))\n", + " model.compile(optimizer=Adam(learning_rate=lr),\n", + " loss='binary_crossentropy',\n", + " metrics=['accuracy'])\n", + " return model\n", + "\n", + "# Define early stopping callback\n", + "early_stopping = EarlyStopping(monitor='val_loss', patience=3, restore_best_weights=True)\n", + "\n", + "model_adj = CNN_model_adj()\n", + "\n", + "history_adj = model_adj.fit(X_train_2, y_train,\n", + " epochs=30,\n", + " verbose=False,\n", + " validation_data=(X_test_2, y_test),\n", + " batch_size=1000,\n", + " callbacks=[early_stopping]) \n", + "\n", + "loss, accuracy = model_adj.evaluate(X_train_2, y_train, verbose=False)\n", + "print(\"Training Accuracy: {:.4f}\".format(accuracy))\n", + "loss, accuracy = model_adj.evaluate(X_test_2, y_test, verbose=False)\n", + "print(\"Testing Accuracy: {:.4f}\".format(accuracy))" + ] + }, + { + "cell_type": "code", + "execution_count": 99, + "id": "83f033b0-5a36-426d-9a61-5ca8f60c7252", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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+Qbc3OCll+DwYXjqKbDZHF2hiIhIjqZpFyIiIiKpsSxYsQJGjYLjx825Rx81UyyqV3dkZSIiIk5FIx9EREREUvL772Z6RZcuJngoXRoWLYINGxQ8iIiIZJLCBxEREZFbRUTAK69AzZqwZg3kywdjx8KhQ9C9u6ZYiIiI3AVNuxAREREBM8Xiq6/gxRfh5Elzrk0b+OADqFzZsbWJiIg4OYUPIiIiIocOwd//bqZUAJQrB1OmQOfOGukgIiKSDTTtQkRERPKu69dhzBizTeaGDeDhAa+9BgcPmrUeFDyIiIhkC418EBERkbzHsmDBArNd5pkz5lzHjvD++1CpkmNrExERyYUUPoiIiEjecuAADB8Omzeb9xUrmnUd2rd3bF0iIiK5mKZdiIiISN4QFgYvvAB165rgIX9++M9/4NdfFTyIiIjcYxr5ICIiIrmbZcG8eWZth/PnzbknnjBTLMqVc2xtIiIieYTCBxEREcm99u41Uyy2bzfvK1c2UyzatHFoWSIiInmNpl2IiIhI7nP1qgkdGjQwwYO3N7zzDuzfr+BBRETEATTyQURERHKPhASYNQtefhkuXTLnevSASZOgdGnH1iYiIpKHKXwQERGR3GHXLnj+efjpJ/O+enX48EN49FHH1iUiIiKadiEiIiJO7vJleOYZCAoywYOvrxnpsHevggcREZEcQiMfRERExDnFx8Onn8Irr8CVK+Zc377w3ntQooRjaxMREZFkFD6IiIiI8/nhBzPF4uefzftateD//g+aNnVsXSIiIpIiTbsQERER53HhAgweDI0ameDB399snfnzzwoeREREcjCNfBAREZGcLy4Opk2DV1+FsDBzbuBAs31msWIOLU1ERETSp/BBREREcrZt28wUi/37zft69cwUi0aNHFuXiIiIZJimXYiIiEjOdPYs9OtnplPs3w8BAWb0Q0iIggcREREno/BBREREcpabN2HyZKhSBebPB5sNhg2D336DZ58FV1dHVygiIiKZpGkXIiIiknN8/z2MGAG//mreBwXBRx/Bgw86ti4RERHJEo18EBEREcc7dQp69YJHHzXBQ6FC8OmnsHOnggcREZFcQOGDiIiIOE5sLLz7LlStCgsXgosLPPecmWIxdKh5LyIiIk5P0y5ERETEMdavN1MsfvvNvG/c2EyxqFfPsXWJiIhIttOvE0REROT+OnEC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XLkyaWlpbNy4kTfffJOZM2eybds22rZtS2JiIvXr1490ycrn0tLS+P3vf09qaioVK1bk559/jnRJEgD33Xcf999/f4bn4+LicrCa7Gf4oLDq378/ycnJFCpUiHnz5tG4cePQuWuvvZbzzz+fRx99lNWrVzNixAieeOKJCFar/OiJJ57giiuu4IorruDss89m/fr11KhRI9JlSQBceOGF/OUvf6Fjx44ULFjwmHNXXnkl3bt3p0mTJnz77be8/vrr3HfffTRt2jRC1So/io+P58cff8zwfJcuXZg9ezYdOnTg4MGDDBkyhLfeeisHK5SO97e//Y3ExEQuvPBCOnTowLPPPhvpkiQAKlasSL169SJdRti454PCJjExMTQtqE+fPscED0cMGDCAunXrAjBq1CgOHTqUkyVKDBkyhNatW3P22WdHuhTpOO+88w5dunQ5Lng4okKFCgwfPjz0+s0338yp0iSADH82j9a+fXsuvPBCgCwtI5LCacOGDTz++OMAjBkzxuVqUg4yfFDYzJ49O3Tcu3fvE15ToEABevToAcDOnTujeg2TJEXC0euTv/vuu8gVImXiyFTh/fv3R7gS5Xf3338/e/fupWfPnu7vIOUwwweFzZEd2OPi4rjssssyvK5Zs2ah408//TTsdUlSXnLw4MHQcYEC/t+6cp9Vq1bx5ZdfAoRmQEiRMGPGDN555x3KlSvH888/H+lypHzHv6UobFatWgVA7dq1KVQo4+1Fjv6LyJF7JElZs3DhwtCxH+yUWyQnJ/N///d/jBgxgvj4eA4fPgxAv379IlyZ8qtdu3aFfv6GDh3KWWedFeGKpOO98cYbXHDBBRQrVoySJUty/vnn07NnTz766KNIl5Yt3HBSYbF//362bdsGwDnnnJPptWXLliUuLo59+/axYcOGnChPkvKEtLQ0nnvuudDrLl26RLAa5XeTJ0/OcJklwMMPP0y3bt1ysCLpV48++ig//fQTV111FX369Il0OdIJffPNN8e8Xrt2LWvXrmXq1Km0b9+eyZMnU7p06QhVd+YMHxQWe/bsCR1npX3mkfBh79694SxLkvKUkSNHsmTJEgA6dOjA5ZdfHuGKpONdcsklvPjiizRq1CjSpSif+vTTT5kwYQKFChXixRdfJCYmJtIlSccoXrw4bdu25brrruPCCy+kRIkS/PLLLyxcuJAXX3yR7du3M3v2bNq1a8cHH3xA4cKFI13yaTF8UFgcvaFUVnYRLlKkCAApKSlhq0mS8pKFCxfypz/9CQhac40ZMybCFSm/a9++fSgAS0lJ4bvvvmPGjBnMmjWLbt26MWrUKFq3bh3hKpXfHDx4kLvvvpv09HQeeughLr744kiXJB1n06ZNlClT5rj3W7RowQMPPMBNN93EF198wcKFCxkzZgwPPvhgzheZDdzzQWFRtGjR0PHRm6Fl5MCBAwAUK1YsbDVJUl7x9ddf06FDB1JTUylSpAgzZsywXawirkyZMtSrV4969epxxRVXcNtttzFz5kymTp3KunXraNeuHZMnT450mcpn/vKXv7Bq1SrOPfdcnnzyyUiXI53QiYKHI84++2zefPPN0D/ovvDCCzlUVfYzfFBYlCxZMnSclaUU+/btA7K2REOS8rPvv/+eli1bsnPnTgoWLMjrr79+TNcgKbfp3r07nTt3Ji0tjb59+7Jz585Il6R8YvXq1Tz77LNA8IHtSMtXKdrUrFmTFi1aAME+EJs3b45wRafHZRcKi6JFi1KhQgW2bdvGxo0bM712586dofChWrVqOVGeJEWlzZs3c/3117N582ZiYmJ46aWX6NChQ6TLkk6qXbt2zJgxg3379vHPf/6T22+/PdIlKR8YOXIkBw8epGbNmiQnJzNt2rTjrlm5cmXo+F//+hc//fQTAG3atDGsUK5y0UUXkZCQAATLNKpUqRLhik6d4YPCpm7dunzyySesXbuW1NTUDNttrl69+ph7JEnH27ZtGy1atGDdunVA8K94PXr0iHBVUtYc3dbwhx9+iGAlyk+OLOtdt24dXbt2Pen1//u//xs6/v777w0flKukp6dHuoQz5rILhc3VV18NBEsqli1bluF1R/eob9KkSdjrkqRok5SUxA033BBqwfXcc8/xhz/8IcJVSVm3adOm0LFLLCXp1B3dhjMaZz2A4YPCqH379qHjSZMmnfCatLQ0pk6dCgQbrcTHx+dEaZIUNZKTk2nVqhWff/45AH/+85957LHHIlyVdGreeOON0LHdBpRTJk+eTHp6eqZfR29C+dFHH4Xer169euQKl35j3bp1fPDBB0Cw/0PVqlUjXNHpMXxQ2DRs2JCmTZsCMHHiRBYtWnTcNcOHD2fVqlUA9OvXL2p71kpSOBw8eJAOHTrw73//Gwh+Tz799NMRrkr61eTJk49pr30iI0eO5N133wWgevXqoZmRkiSYO3cuqampGZ7funUrnTp14tChQwBRPfPRPR8UVqNHj6ZJkyakpKTQsmVLBg0aRHx8PCkpKUybNo1x48YBUKdOHQYMGBDhapUfffrpp6xduzb0etu2baHjtWvXHtcWrlevXjlUmQRdu3Zl3rx5AFx77bX06dPnmM3Rfis2NpY6derkVHkSgwcPZsCAAXTs2JGrr76aWrVqUaJECfbs2cOKFSt49dVXQ+FZbGws48ePz3APKEnKjx544AEOHTpEx44dady4MdWrV6dYsWJs27aNBQsW8OKLL7J9+3YgWNYezeFDTHpe2LlCudrcuXO544472L179wnP16lTh4SEBGrXrp3DlUlBmDBlypQsX++vTOWkmJiYU7r+vPPOY/369eEpRjqB6tWrZ2kDyXPOOYeXXnop1CpOyi0GDx7MkCFDgGDZRfPmzSNbkPKdrP4e7dixIxMmTKBMmTLhLypMjJ4Vdm3atOGrr75i9OjRJCQksHHjRmJjY6lduzadO3emb9++FC9ePNJlSpKkU/Thhx8yf/58PvroI1atWsXWrVvZvn07RYsW5eyzz+aSSy6hdevWdOnSxf+vl6QTmDJlCgsXLmTRokWsW7eObdu2sXv3bkqUKEG1atW46qqr6NmzJ40bN450qWfMmQ+SJEmSJCms3HBSkiRJkiSFleGDJEmSJEkKK8MHSZIkSZIUVoYPkiRJkiQprAwfJEmSJElSWBk+SJIkSZKksDJ8kCRJkiRJYWX4IEmSJEmSwsrwQZIkSZIkhZXhgyRJkiRJCivDB0mSpByyfv16YmJiiImJYfLkyZEuR5KkHGP4IEmSwm7BggWhD91Z/erfv3+ky5YkSdnE8EGSJEmSJIVVoUgXIEmS8pf77ruP+++//6TXVahQIQeqkSRJOcHwQZIk5aiKFStSr169SJchSZJykMsuJEmSJElSWBk+SJKkqFC9enViYmLo1asXAImJiXTt2pVq1apRtGhRqlWrRq9evVi1alWWxps7dy6dOnXinHPOoUiRIpQvX57GjRvz3HPPsXfv3iyNsXLlSh544AEuvvhiypYtS/HixalduzY33ngjY8aM4ZdffjnpGB988AFt2rShUqVKFClShBo1anDfffexcePGLNUgSVI0iElPT0+PdBGSJClvW7BgAfHx8QA8+eSTDB48+JTHqF69Oj/88AM9e/bkmmuu4Z577iE1NfW464oUKcKUKVO49dZbTzjO/v37uf3225k1a1aGz6pSpQoJCQlccsklJzx/+PBhHnnkEUaPHk1aWlqG4/Ts2fOYlprr16+nRo0aAEyaNInVq1czdOjQE9571llnsXDhQurWrZvh+JIkRQtnPkiSpKjy5Zdfcu+991KxYkVeeOEFPvvsMxYuXMhjjz1GkSJFOHDgAHfccQdLliw54f09e/YMBQ8NGjRg6tSpJCYm8v7779O7d29iYmLYvHkz1113HZs2bTrhGHfffTcjR44kLS2NypUr88wzz/DRRx/x+eef8/777/O///u/NGjQINPvY/z48QwdOpRmzZrx2muvsXTpUubPn0+PHj0A+OWXX7jzzjvP4E9KkqTcw5kPkiQp7I6e+ZDVbhcXXHABhQsXDr0+MvMB4LzzzmPx4sVUqlTpmHs++ugjWrZsSWpqKpdffjmJiYnHnE9ISKB169YAXHfddbz77rvExsYec8348eO5++67AejSpQvTp08/5vycOXNo3749AI0bN+bdd9+lTJkyJ/weNm7cyDnnnBN6ffTMB4Df//73jB07lpiYmGPu+/3vf8+ECRMA+Pzzz7n00ktPOL4kSdHC8EGSJIXd0eFDVn3//fdUr1499Pro8OHNN9+kY8eOJ7zv/vvvZ8yYMQAsWbKEK664InTu5ptv5p///CeFCxfmu+++o1q1aicco0WLFsyfP59ChQrx448/Urly5dC5xo0bs3jxYooXL863335L1apVs/w9HR0+VK5cme+//54iRYocd92aNWu48MILARg9ejQPPvhglp8hSVJu5LILSZIUVcqWLUu7du0yPH/0UoX58+eHjlNTU1m4cCEQhAsZBQ8QzDw4cs+CBQtC72/fvp3PPvsMCGZFnErw8FudOnU6YfAAwayPEiVKALBu3brTfoYkSbmF4YMkScpRTz75JOnp6Sf9OnrWw9EuvfRSChUqlOH4l1xySWgpxcqVK0Pvr1u3juTkZAAaNWqUaY1Hnz96jC+//JIjk0avueaazL/RkzgysyEjZcuWBWDPnj1n9BxJknIDwwdJkhRVKlasmOn5QoUKUa5cOQB27NgRev/o47PPPjvTMY7eS+Lo+7Zt2xY6PnopxukoXrx4pucLFAj+mnb48OEzeo4kSbmB4YMkSYoqv92c8UROtqVVVsbIjjokSVLA8EGSJEWVrVu3Zno+NTWVnTt3AoRmQPz2+Keffsp0jKPPH31fhQoVQsebN2/OWsGSJMnwQZIkRZcvv/yS1NTUDM8vX76cgwcPAlCvXr3Q+zVr1gwtdTiyaWRGlixZEjo+eoxLL700NOPh448/PvXiJUnKpwwfJElSVNmxYwdz587N8PxLL70UOr7++utDx4UKFaJZs2YAfPDBB2zYsCHDMSZMmABAwYIFad68eej9cuXKcdVVVwEwY8YMZz9IkpRFhg+SJCnq/PGPfzzh8ouFCxcybtw4AC677DKuuOKKY87/4Q9/AODQoUPceeedoRkSR3vppZeYN28eAB07djxuY8nHHnsMgOTkZDp37kxSUlKGdW7cuPEUvitJkvKujPtUSZIkhcHPP/98TPvKjBQrVoxatWod936DBg345ptvuOyyyxg4cCANGzbkwIEDvPvuu4wcOZLU1FQKFSrE3//+9+PubdWqFZ07d+aNN95g/vz5NGrUiAEDBlC3bl127tzJtGnTQjMnypUrx4gRI44bo02bNvTp04eJEyfyn//8h4suuoi+ffvSpEkTSpUqxbZt21i6dCkzZsygfv36TJ48+dT/kCRJymMMHyRJUo4aM2YMY8aMOel1DRo04Msvvzzu/UsuuYS+ffty33330bdv3+POx8bGMmXKFBo1anTCcadOnUpqaiqzZs3iyy+/pHv37sddU6VKFRISEqhateoJxxg7dizFihXj73//O5s3b2bQoEEnvK5+/fqZfIeSJOUfLruQJElR56677uKTTz6hS5cuVKlShdjYWKpWrUqPHj344osvuO222zK8t2jRosycOZO3336bW265JXR/2bJladSoEc8++yxr1qzhkksuyXCMggUL8sILL7B06VLuvvtu6tSpQ1xcHMWLF+f888/n5ptvZvz48YwcOTIM370kSdEnJv1kjbAlSZJygerVq/PDDz/Qs2dPlzJIkhRlnPkgSZIkSZLCyvBBkiRJkiSFleGDJEmSJEkKK8MHSZIkSZIUVoYPkiRJkiQprOx2IUmSJEmSwsqZD5IkSZIkKawMHyRJkiRJUlgZPkiSJEmSpLAyfJAkSZIkSWFl+CBJkiRJksLK8EGSJEmSJIWV4YMkSZIkSQorwwdJkiRJkhRWhg+SJEmSJCms/n8AJNAEsKFJKQAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Accuracy over epochs\n", + "\n", + "fig, ax = plt.subplots(1, 1, figsize=(12,8))\n", + "ax.plot(history_adj.history['accuracy'], 'r', label='Training Accuracy')\n", + "ax.plot(history_adj.history['val_accuracy'], 'b' ,label='Validation Accuracy')\n", + "ax.set_xlabel(r'Epoch', fontsize=20)\n", + "ax.set_ylabel(r'Accuracy', fontsize=20)\n", + "ax.legend()\n", + "ax.tick_params(labelsize=20)" + ] + }, + { + "cell_type": "code", + "execution_count": 92, + "id": "ebaca738-d225-4ee6-915a-208d325010ba", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Fitting 3 folds for each of 108 candidates, totalling 324 fits\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/hs/br_4rpdj68nc3sfdpgv0xgn80000gn/T/ipykernel_78730/4022294683.py:28: DeprecationWarning: KerasClassifier is deprecated, use Sci-Keras (https://github.com/adriangb/scikeras) instead. See https://www.adriangb.com/scikeras/stable/migration.html for help migrating.\n", + " model_adj = KerasClassifier(build_fn=CNN_model_adj, verbose=0)\n", + "2024-04-18 13:49:05.642775: W tensorflow/tsl/platform/profile_utils/cpu_utils.cc:128] Failed to get CPU frequency: 0 Hz\n", + "2024-04-18 13:49:05.642798: W tensorflow/tsl/platform/profile_utils/cpu_utils.cc:128] Failed to get CPU frequency: 0 Hz\n", + "2024-04-18 13:49:05.642788: W tensorflow/tsl/platform/profile_utils/cpu_utils.cc:128] Failed to get CPU frequency: 0 Hz\n", + "2024-04-18 13:49:05.645046: W tensorflow/tsl/platform/profile_utils/cpu_utils.cc:128] Failed to get CPU frequency: 0 Hz\n", + "2024-04-18 13:49:05.645439: W tensorflow/tsl/platform/profile_utils/cpu_utils.cc:128] Failed to get CPU frequency: 0 Hz\n", + "2024-04-18 13:49:05.652489: W tensorflow/tsl/platform/profile_utils/cpu_utils.cc:128] Failed to get CPU frequency: 0 Hz\n", + "2024-04-18 13:49:05.654238: W tensorflow/tsl/platform/profile_utils/cpu_utils.cc:128] Failed to get CPU frequency: 0 Hz\n", + "2024-04-18 13:49:05.654947: W tensorflow/tsl/platform/profile_utils/cpu_utils.cc:128] Failed to get CPU frequency: 0 Hz\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "103/103 [==============================] - 1s 13ms/step\n", + "103/103 [==============================] - 1s 12ms/step\n", + "103/103 [==============================] - 1s 12ms/step\n", + "103/103 [==============================] - 2s 12ms/step\n", + "103/103 [==============================] - 1s 13ms/step\n", + "103/103 [==============================] - 2s 13ms/step\n", + "103/103 [==============================] - 2s 12ms/step\n", + "103/103 [==============================] - 2s 12ms/step\n", + "[CV] END dropout_rate=0.4, filter=24, kernel=4, lr=0.01, num_1=80; total time= 23.9s\n", + " 1/103 [..............................] - ETA: 15s[CV] END dropout_rate=0.4, filter=24, kernel=4, lr=0.01, num_1=60; total time= 23.9s\n", + " 26/103 [======>.......................] - ETA: 1s[CV] END dropout_rate=0.4, filter=24, kernel=4, lr=0.01, num_1=80; total time= 23.8s\n", + " 1/103 [..............................] - ETA: 21s[CV] END dropout_rate=0.4, filter=24, kernel=4, lr=0.01, num_1=80; total time= 23.7s\n", + " 1/103 [..............................] - ETA: 11s[CV] END dropout_rate=0.4, filter=24, kernel=4, lr=0.01, num_1=100; total time= 24.0s\n", + " 15/103 [===>..........................] - ETA: 1s[CV] END dropout_rate=0.4, filter=24, kernel=4, lr=0.01, num_1=60; total time= 23.9s\n", "103/103 [==============================] - 2s 16ms/step\n", "103/103 [==============================] - 2s 17ms/step\n", "103/103 [==============================] - 2s 14ms/step\n", - "103/103 [==============================] - 2s 13ms/step\n", - "[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.01, num_1=80; total time= 25.0s\n", - " 64/103 [=================>............] - ETA: 1s[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.01, num_1=80; total time= 26.2s\n", - "103/103 [==============================] - 3s 30ms/step\n", - "103/103 [==============================] - 3s 28ms/step\n", - "[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.01, num_1=100; total time= 28.2s\n", - " 20/103 [====>.........................] - ETA: 2s[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.01, num_1=100; total time= 28.2s\n", - " 95/103 [==========================>...] - ETA: 0s[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.001, num_1=60; total time= 27.0s\n", - "103/103 [==============================] - 3s 27ms/step\n", - " 97/103 [===========================>..] - ETA: 0s[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.01, num_1=100; total time= 27.2s\n", - "103/103 [==============================] - 3s 25ms/step\n", - "103/103 [==============================] - 2s 21ms/step\n", - "103/103 [==============================] - 2s 18ms/step\n", - "[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.001, num_1=60; total time= 26.9s\n", - " 8/103 [=>............................] - ETA: 1s[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.001, num_1=60; total time= 26.7s\n", + "103/103 [==============================] - 2s 15ms/step\n", "103/103 [==============================] - 2s 15ms/step\n", "103/103 [==============================] - 2s 16ms/step\n", - "[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.001, num_1=80; total time= 25.6s\n", - " 76/103 [=====================>........] - ETA: 0s[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.001, num_1=80; total time= 25.9s\n", - "103/103 [==============================] - 3s 28ms/step\n", - "103/103 [==============================] - 3s 27ms/step\n", - "[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.001, num_1=80; total time= 28.8s\n", - " 43/103 [===========>..................] - ETA: 1s[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.001, num_1=100; total time= 28.1s\n", - "103/103 [==============================] - 3s 28ms/step\n", - " 59/103 [================>.............] - ETA: 1s[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.001, num_1=100; total time= 28.2s\n", - "103/103 [==============================] - 3s 25ms/step\n", - " 47/103 [============>.................] - ETA: 1s[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.01, num_1=60; total time= 30.4s\n", - " 52/103 [==============>...............] - ETA: 1s[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.001, num_1=100; total time= 29.2s\n", - " 35/103 [=========>....................] - ETA: 1s[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.01, num_1=60; total time= 30.0s\n", + "[CV] END dropout_rate=0.4, filter=24, kernel=4, lr=0.01, num_1=60; total time= 25.1s\n", + " 48/103 [============>.................] - ETA: 0s[CV] END dropout_rate=0.4, filter=24, kernel=4, lr=0.01, num_1=100; total time= 25.3s\n", "103/103 [==============================] - 2s 20ms/step\n", - "103/103 [==============================] - 2s 17ms/step\n", - "103/103 [==============================] - 2s 16ms/step\n", + "103/103 [==============================] - 3s 26ms/step\n", + "[CV] END dropout_rate=0.4, filter=24, kernel=4, lr=0.001, num_1=60; total time= 24.6s\n", + " 20/103 [====>.........................] - ETA: 2s[CV] END dropout_rate=0.4, filter=24, kernel=4, lr=0.001, num_1=60; total time= 24.5s\n", + "103/103 [==============================] - 3s 25ms/step\n", + "103/103 [==============================] - 3s 26ms/step\n", + "[CV] END dropout_rate=0.4, filter=24, kernel=4, lr=0.01, num_1=100; total time= 25.0s\n", + " 16/103 [===>..........................] - ETA: 1s[CV] END dropout_rate=0.4, filter=24, kernel=4, lr=0.001, num_1=80; total time= 24.9s\n", + " 20/103 [====>.........................] - ETA: 1s[CV] END dropout_rate=0.4, filter=24, kernel=4, lr=0.001, num_1=60; total time= 24.9s\n", + " 39/103 [==========>...................] - ETA: 1s[CV] END dropout_rate=0.4, filter=24, kernel=4, lr=0.001, num_1=80; total time= 25.3s\n", + "103/103 [==============================] - 2s 15ms/step\n", "103/103 [==============================] - 2s 14ms/step\n", - "[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.01, num_1=60; total time= 30.2s\n", - " 27/103 [======>.......................] - ETA: 1s[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.01, num_1=80; total time= 30.5s\n", - "103/103 [==============================] - 3s 22ms/step\n", - "103/103 [==============================] - 3s 24ms/step\n", - "[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.01, num_1=80; total time= 31.2s\n", - " 1/103 [..............................] - ETA: 39s[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.01, num_1=80; total time= 31.8s\n", - "103/103 [==============================] - 3s 22ms/step\n", - "103/103 [==============================] - 3s 23ms/step\n", - "[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.01, num_1=100; total time= 31.3s\n", - " 28/103 [=======>......................] - ETA: 0s[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.001, num_1=60; total time= 29.5s\n", - " 33/103 [========>.....................] - ETA: 0s[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.01, num_1=100; total time= 31.3s\n", - " 6/103 [>.............................] - ETA: 0s [CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.01, num_1=100; total time= 30.3s\n", "103/103 [==============================] - 2s 14ms/step\n", "103/103 [==============================] - 2s 14ms/step\n", - "103/103 [==============================] - 2s 15ms/step\n", - "103/103 [==============================] - 2s 15ms/step\n", - "[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.001, num_1=60; total time= 29.8s\n", - " 15/103 [===>..........................] - ETA: 2s[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.001, num_1=60; total time= 28.5s\n", - "103/103 [==============================] - 3s 25ms/step\n", - "103/103 [==============================] - 3s 24ms/step\n", - "[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.001, num_1=80; total time= 28.1s\n", - " 7/103 [=>............................] - ETA: 0s [CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.001, num_1=80; total time= 27.2s\n", - " 70/103 [===================>..........] - ETA: 0s[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.001, num_1=80; total time= 28.0s\n", - " 18/103 [====>.........................] - ETA: 1s[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.001, num_1=100; total time= 27.5s\n", - " 97/103 [===========================>..] - ETA: 0s[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.001, num_1=100; total time= 27.2s\n", - " 5/103 [>.............................] - ETA: 1s [CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.001, num_1=100; total time= 27.5s\n", - "103/103 [==============================] - 3s 22ms/step\n", - "103/103 [==============================] - 3s 22ms/step\n", - "103/103 [==============================] - 2s 18ms/step\n", - "103/103 [==============================] - 2s 17ms/step\n", - "103/103 [==============================] - 2s 18ms/step\n", - "103/103 [==============================] - 2s 18ms/step\n", - "[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.01, num_1=60; total time= 26.7s\n", - " 7/103 [=>............................] - ETA: 4s[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.01, num_1=60; total time= 27.2s\n", - "103/103 [==============================] - 3s 28ms/step\n", - "103/103 [==============================] - 3s 29ms/step\n", - "[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.01, num_1=80; total time= 26.5s\n", - " 12/103 [==>...........................] - ETA: 2s[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.01, num_1=60; total time= 26.5s\n", - " 28/103 [=======>......................] - ETA: 2s[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.01, num_1=80; total time= 25.9s\n", - " 31/103 [========>.....................] - ETA: 2s[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.01, num_1=100; total time= 25.9s\n", - " 4/103 [>.............................] - ETA: 4s[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.01, num_1=100; total time= 25.8s\n", - " 92/103 [=========================>....] - ETA: 0s[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.01, num_1=80; total time= 25.8s\n", - "103/103 [==============================] - 3s 23ms/step\n", + "[CV] END dropout_rate=0.4, filter=24, kernel=4, lr=0.001, num_1=80; total time= 25.7s\n", + " 67/103 [==================>...........] - ETA: 0s[CV] END dropout_rate=0.4, filter=24, kernel=4, lr=0.001, num_1=100; total time= 26.7s\n", + "103/103 [==============================] - 1s 13ms/step\n", + "103/103 [==============================] - 2s 14ms/step\n", + "[CV] END dropout_rate=0.4, filter=24, kernel=4, lr=0.001, num_1=100; total time= 25.0s\n", "103/103 [==============================] - 3s 24ms/step\n", - "103/103 [==============================] - 2s 20ms/step\n", - "103/103 [==============================] - 3s 21ms/step\n", - "103/103 [==============================] - 2s 22ms/step\n", - "103/103 [==============================] - 2s 18ms/step\n", - "[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.001, num_1=60; total time= 27.4s\n", - " 4/103 [>.............................] - ETA: 8s[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.01, num_1=100; total time= 28.3s\n", - "103/103 [==============================] - 4s 35ms/step\n", - "103/103 [==============================] - 3s 33ms/step\n", - "[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.001, num_1=60; total time= 28.5s\n", - " 5/103 [>.............................] - ETA: 3s[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.001, num_1=80; total time= 27.9s\n", - " 30/103 [=======>......................] - ETA: 2s[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.001, num_1=60; total time= 29.0s\n", - " 21/103 [=====>........................] - ETA: 2s[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.001, num_1=100; total time= 27.9s\n", - " 39/103 [==========>...................] - ETA: 1s[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.001, num_1=80; total time= 28.3s\n", - " 43/103 [===========>..................] - ETA: 1s[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.001, num_1=80; total time= 28.6s\n", + "[CV] END dropout_rate=0.4, filter=24, kernel=5, lr=0.01, num_1=60; total time= 27.0s\n", + " 35/103 [=========>....................] - ETA: 1s[CV] END dropout_rate=0.4, filter=24, kernel=5, lr=0.01, num_1=60; total time= 27.2s\n", + " 8/103 [=>............................] - ETA: 0s [CV] END dropout_rate=0.4, filter=24, kernel=5, lr=0.01, num_1=60; total time= 27.5s\n", + " 57/103 [===============>..............] - ETA: 0s[CV] END dropout_rate=0.4, filter=24, kernel=5, lr=0.01, num_1=80; total time= 27.2s\n", + "103/103 [==============================] - 2s 16ms/step\n", + " 63/103 [=================>............] - ETA: 0s[CV] END dropout_rate=0.4, filter=24, kernel=5, lr=0.01, num_1=80; total time= 26.4s\n", + "103/103 [==============================] - 2s 14ms/step\n", + "103/103 [==============================] - 2s 15ms/step\n", + "103/103 [==============================] - 2s 13ms/step\n", + " 57/103 [===============>..............] - ETA: 0s[CV] END dropout_rate=0.4, filter=24, kernel=5, lr=0.01, num_1=80; total time= 26.3s\n", + "103/103 [==============================] - 1s 10ms/step\n", + "103/103 [==============================] - 1s 13ms/step\n", + "[CV] END dropout_rate=0.4, filter=24, kernel=4, lr=0.001, num_1=100; total time= 25.6s\n", + "103/103 [==============================] - 4s 37ms/step\n", + "[CV] END dropout_rate=0.4, filter=24, kernel=5, lr=0.01, num_1=100; total time= 30.1s\n", + " 73/103 [====================>.........] - ETA: 0s[CV] END dropout_rate=0.4, filter=24, kernel=5, lr=0.01, num_1=100; total time= 30.2s\n", + " 93/103 [==========================>...] - ETA: 0s[CV] END dropout_rate=0.4, filter=24, kernel=5, lr=0.001, num_1=60; total time= 30.3s\n", + " 1/103 [..............................] - ETA: 22s[CV] END dropout_rate=0.4, filter=24, kernel=5, lr=0.001, num_1=60; total time= 30.3s\n", "103/103 [==============================] - 3s 26ms/step\n", - "103/103 [==============================] - 3s 25ms/step\n", "103/103 [==============================] - 3s 23ms/step\n", + " 93/103 [==========================>...] - ETA: 0s[CV] END dropout_rate=0.4, filter=24, kernel=5, lr=0.001, num_1=60; total time= 30.3s\n", "103/103 [==============================] - 2s 21ms/step\n", - "103/103 [==============================] - 3s 19ms/step\n", - "103/103 [==============================] - 2s 19ms/step\n", - "[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.001, num_1=100; total time= 30.5s\n", - " 9/103 [=>............................] - ETA: 1s[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.001, num_1=100; total time= 30.8s\n", - "103/103 [==============================] - 3s 30ms/step\n", - "103/103 [==============================] - 3s 31ms/step\n", - "[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.01, num_1=60; total time= 30.8s\n", - " 5/103 [>.............................] - ETA: 2s[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.01, num_1=60; total time= 30.6s\n", - " 16/103 [===>..........................] - ETA: 2s[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.01, num_1=60; total time= 29.6s\n", - " 22/103 [=====>........................] - ETA: 2s[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.01, num_1=80; total time= 30.5s\n", - " 45/103 [============>.................] - ETA: 1s[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.01, num_1=80; total time= 30.7s\n", - " 51/103 [=============>................] - ETA: 1s[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.01, num_1=80; total time= 30.2s\n", - "103/103 [==============================] - 3s 22ms/step\n", - "103/103 [==============================] - 3s 24ms/step\n", - "103/103 [==============================] - 3s 22ms/step\n", - "103/103 [==============================] - 3s 21ms/step\n", - "103/103 [==============================] - 2s 20ms/step\n", + "103/103 [==============================] - 2s 22ms/step\n", + " 62/103 [=================>............] - ETA: 0s[CV] END dropout_rate=0.4, filter=24, kernel=5, lr=0.001, num_1=80; total time= 29.1s\n", + "103/103 [==============================] - 2s 15ms/step\n", + " 96/103 [==========================>...] - ETA: 0s[CV] END dropout_rate=0.4, filter=24, kernel=5, lr=0.001, num_1=80; total time= 28.8s\n", + "103/103 [==============================] - 2s 13ms/step\n", "103/103 [==============================] - 2s 20ms/step\n", - "[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.01, num_1=100; total time= 30.3s\n", - " 25/103 [======>.......................] - ETA: 2s[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.01, num_1=100; total time= 30.6s\n", + "[CV] END dropout_rate=0.4, filter=24, kernel=5, lr=0.01, num_1=100; total time= 48.0s\n", "103/103 [==============================] - 4s 37ms/step\n", - "103/103 [==============================] - 4s 38ms/step\n", - "[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.01, num_1=100; total time= 30.6s\n", - " 1/103 [..............................] - ETA: 20s[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.001, num_1=60; total time= 29.7s\n", - "103/103 [==============================] - 3s 32ms/step\n", - "103/103 [==============================] - 4s 33ms/step\n", - "[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.001, num_1=60; total time= 30.7s\n", - " 11/103 [==>...........................] - ETA: 1s[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.001, num_1=80; total time= 30.1s\n", - " 14/103 [===>..........................] - ETA: 2s[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.001, num_1=60; total time= 30.0s\n", - " 11/103 [==>...........................] - ETA: 2s[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.001, num_1=80; total time= 30.1s\n", - "103/103 [==============================] - 2s 21ms/step\n", - "103/103 [==============================] - 2s 21ms/step\n", - "103/103 [==============================] - 2s 20ms/step\n", - "103/103 [==============================] - 2s 20ms/step\n", - "[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.001, num_1=100; total time= 31.4s\n", - " 15/103 [===>..........................] - ETA: 3s[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.001, num_1=80; total time= 30.7s\n", - "103/103 [==============================] - 3s 29ms/step\n", - "103/103 [==============================] - 3s 29ms/step\n", - "[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.001, num_1=100; total time= 33.4s\n", - " 7/103 [=>............................] - ETA: 4s[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.001, num_1=100; total time= 33.0s\n", - "103/103 [==============================] - 4s 30ms/step\n", - "[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.01, num_1=60; total time= 35.7s\n", + "[CV] END dropout_rate=0.4, filter=24, kernel=5, lr=0.001, num_1=80; total time= 29.3s\n", + "103/103 [==============================] - 4s 35ms/step\n", + "[CV] END dropout_rate=0.4, filter=24, kernel=5, lr=0.001, num_1=100; total time= 28.5s\n", + " 27/103 [======>.......................] - ETA: 2s[CV] END dropout_rate=0.4, filter=24, kernel=5, lr=0.001, num_1=100; total time= 28.4s\n", + " 31/103 [========>.....................] - ETA: 2s[CV] END dropout_rate=0.4, filter=24, kernel=5, lr=0.001, num_1=100; total time= 28.3s\n", + " 71/103 [===================>..........] - ETA: 0s[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.01, num_1=60; total time= 30.5s\n", + "103/103 [==============================] - 3s 25ms/step\n", + " 68/103 [==================>...........] - ETA: 0s[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.01, num_1=60; total time= 29.7s\n", + "103/103 [==============================] - 3s 21ms/step\n", + " 23/103 [=====>........................] - ETA: 1s[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.01, num_1=60; total time= 30.7s\n", + "103/103 [==============================] - 3s 22ms/step\n", + "103/103 [==============================] - 2s 16ms/step\n", + "103/103 [==============================] - 2s 15ms/step\n", + "103/103 [==============================] - 1s 14ms/step\n", + "[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.01, num_1=80; total time= 31.4s\n", "103/103 [==============================] - 3s 29ms/step\n", - " 18/103 [====>.........................] - ETA: 1s[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.01, num_1=60; total time= 35.5s\n", - " 22/103 [=====>........................] - ETA: 1s[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.01, num_1=60; total time= 35.6s\n", - " 31/103 [========>.....................] - ETA: 1s[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.01, num_1=80; total time= 35.5s\n", - "103/103 [==============================] - 2s 20ms/step\n", - "103/103 [==============================] - 2s 19ms/step\n", + "[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.01, num_1=80; total time= 35.5s\n", + "103/103 [==============================] - 3s 27ms/step\n", + "[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.01, num_1=80; total time= 38.2s\n", + " 8/103 [=>............................] - ETA: 0s [CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.01, num_1=100; total time= 38.3s\n", + " 46/103 [============>.................] - ETA: 1s[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.001, num_1=60; total time= 35.8s\n", + " 57/103 [===============>..............] - ETA: 0s[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.01, num_1=100; total time= 38.6s\n", "103/103 [==============================] - 2s 19ms/step\n", "103/103 [==============================] - 2s 19ms/step\n", - "[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.01, num_1=80; total time= 30.1s\n", - " 15/103 [===>..........................] - ETA: 2s[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.01, num_1=80; total time= 31.5s\n", + "[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.001, num_1=60; total time= 36.7s\n", + " 44/103 [===========>..................] - ETA: 1s[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.01, num_1=100; total time= 37.3s\n", + "103/103 [==============================] - 2s 17ms/step\n", + "103/103 [==============================] - 2s 17ms/step\n", + "103/103 [==============================] - 2s 14ms/step\n", + "103/103 [==============================] - 2s 15ms/step\n", + "[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.001, num_1=60; total time= 30.1s\n", "103/103 [==============================] - 3s 29ms/step\n", - "103/103 [==============================] - 3s 28ms/step\n", - "[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.01, num_1=100; total time= 30.9s\n", - " 72/103 [===================>..........] - ETA: 1s[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.01, num_1=100; total time= 31.1s\n", - "103/103 [==============================] - 4s 34ms/step\n", - " 46/103 [============>.................] - ETA: 1s[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.001, num_1=60; total time= 30.2s\n", - " 1/103 [..............................] - ETA: 26s[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.001, num_1=60; total time= 29.9s\n", - "103/103 [==============================] - 3s 26ms/step\n", - " 78/103 [=====================>........] - ETA: 0s[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.01, num_1=100; total time= 30.6s\n", - " 6/103 [>.............................] - ETA: 2s[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.001, num_1=60; total time= 30.2s\n", + "[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.001, num_1=80; total time= 29.3s\n", + "103/103 [==============================] - 4s 36ms/step\n", + "[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.001, num_1=80; total time= 28.3s\n", + " 6/103 [>.............................] - ETA: 4s[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.01, num_1=60; total time= 27.1s\n", + " 25/103 [======>.......................] - ETA: 2s[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.001, num_1=80; total time= 28.0s\n", + " 59/103 [================>.............] - ETA: 1s[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.001, num_1=100; total time= 28.8s\n", + " 62/103 [=================>............] - ETA: 1s[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.001, num_1=100; total time= 28.8s\n", + " 34/103 [========>.....................] - ETA: 1s[CV] END dropout_rate=0.4, filter=24, kernel=6, lr=0.001, num_1=100; total time= 28.5s\n", + "103/103 [==============================] - 3s 23ms/step\n", + "103/103 [==============================] - 3s 21ms/step\n", + "103/103 [==============================] - 2s 20ms/step\n", + "103/103 [==============================] - 2s 17ms/step\n", + "103/103 [==============================] - 2s 17ms/step\n", + "103/103 [==============================] - 2s 14ms/step\n", + "[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.01, num_1=60; total time= 26.6s\n", + "103/103 [==============================] - 4s 40ms/step\n", + "[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.01, num_1=60; total time= 31.4s\n", + "103/103 [==============================] - 4s 35ms/step\n", + "[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.01, num_1=80; total time= 30.0s\n", + " 5/103 [>.............................] - ETA: 4s[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.01, num_1=80; total time= 30.7s\n", + " 13/103 [==>...........................] - ETA: 3s[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.01, num_1=100; total time= 30.5s\n", + " 11/103 [==>...........................] - ETA: 3s[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.01, num_1=80; total time= 31.0s\n", + " 34/103 [========>.....................] - ETA: 1s[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.01, num_1=100; total time= 30.1s\n", + " 26/103 [======>.......................] - ETA: 1s[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.01, num_1=100; total time= 30.4s\n", + "103/103 [==============================] - 2s 23ms/step\n", "103/103 [==============================] - 2s 21ms/step\n", - "103/103 [==============================] - 3s 22ms/step\n", + "103/103 [==============================] - 2s 20ms/step\n", "103/103 [==============================] - 2s 19ms/step\n", + "103/103 [==============================] - 2s 20ms/step\n", "103/103 [==============================] - 2s 18ms/step\n", - "[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.001, num_1=80; total time= 29.6s\n", - " 25/103 [======>.......................] - ETA: 3s[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.001, num_1=80; total time= 29.3s\n", - "103/103 [==============================] - 4s 37ms/step\n", - "103/103 [==============================] - 4s 37ms/step\n", - "[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.001, num_1=80; total time= 29.9s\n", - " 40/103 [==========>...................] - ETA: 3s[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.001, num_1=100; total time= 31.5s\n", - " 74/103 [====================>.........] - ETA: 1s[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.001, num_1=100; total time= 30.2s\n", - " 99/103 [===========================>..] - ETA: 0s[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.001, num_1=100; total time= 30.6s\n", - "103/103 [==============================] - 4s 41ms/step\n", - "103/103 [==============================] - 4s 33ms/step\n", - " 78/103 [=====================>........] - ETA: 0s[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.01, num_1=60; total time= 31.5s\n", - " 5/103 [>.............................] - ETA: 1s [CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.01, num_1=60; total time= 31.5s\n", - "103/103 [==============================] - 3s 27ms/step\n", - "103/103 [==============================] - 3s 25ms/step\n", + "[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.001, num_1=60; total time= 30.1s\n", + "103/103 [==============================] - 3s 26ms/step\n", + "[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.001, num_1=60; total time= 34.5s\n", + "103/103 [==============================] - 4s 42ms/step\n", + "[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.001, num_1=80; total time= 35.4s\n", + " 29/103 [=======>......................] - ETA: 2s[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.001, num_1=60; total time= 36.4s\n", + " 36/103 [=========>....................] - ETA: 2s[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.001, num_1=100; total time= 36.1s\n", + " 56/103 [===============>..............] - ETA: 1s[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.001, num_1=80; total time= 36.2s\n", + " 60/103 [================>.............] - ETA: 1s[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.001, num_1=100; total time= 35.7s\n", + " 36/103 [=========>....................] - ETA: 1s[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.001, num_1=80; total time= 36.3s\n", + "103/103 [==============================] - 3s 26ms/step\n", + "103/103 [==============================] - 2s 22ms/step\n", + "103/103 [==============================] - 2s 23ms/step\n", + "103/103 [==============================] - 2s 21ms/step\n", "103/103 [==============================] - 2s 19ms/step\n", "103/103 [==============================] - 2s 20ms/step\n", - "[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.01, num_1=60; total time= 34.5s\n", - " 49/103 [=============>................] - ETA: 2s[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.01, num_1=80; total time= 35.2s\n", - "103/103 [==============================] - 5s 45ms/step\n", - "103/103 [==============================] - 5s 40ms/step\n", - "[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.01, num_1=80; total time= 38.8s\n", - " 18/103 [====>.........................] - ETA: 4s[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.01, num_1=80; total time= 38.2s\n", - " 26/103 [======>.......................] - ETA: 3s[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.01, num_1=100; total time= 38.2s\n", - " 43/103 [===========>..................] - ETA: 2s[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.01, num_1=100; total time= 38.1s\n", - " 1/103 [..............................] - ETA: 12s[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.01, num_1=100; total time= 38.7s\n", - " 27/103 [======>.......................] - ETA: 2s[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.001, num_1=60; total time= 38.0s\n", - "103/103 [==============================] - 5s 42ms/step\n", - "103/103 [==============================] - 4s 39ms/step\n", + "[CV] END dropout_rate=0.4, filter=36, kernel=4, lr=0.001, num_1=100; total time= 32.2s\n", + "103/103 [==============================] - 2s 15ms/step\n", + "[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.01, num_1=60; total time= 38.2s\n", "103/103 [==============================] - 4s 39ms/step\n", + "[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.01, num_1=60; total time= 37.8s\n", + " 1/103 [..............................] - ETA: 32s[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.01, num_1=80; total time= 37.9s\n", + " 6/103 [>.............................] - ETA: 3s[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.01, num_1=60; total time= 38.2s\n", + " 62/103 [=================>............] - ETA: 0s[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.01, num_1=80; total time= 38.5s\n", + "103/103 [==============================] - 3s 22ms/step\n", + " 91/103 [=========================>....] - ETA: 0s[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.01, num_1=100; total time= 38.7s\n", + "103/103 [==============================] - 2s 23ms/step\n", + "103/103 [==============================] - 3s 24ms/step\n", + "[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.01, num_1=80; total time= 39.3s\n", + "103/103 [==============================] - 2s 19ms/step\n", + " 94/103 [==========================>...] - ETA: 0s[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.01, num_1=100; total time= 36.6s\n", + "103/103 [==============================] - 2s 16ms/step\n", + "103/103 [==============================] - 2s 14ms/step\n", + "103/103 [==============================] - 1s 11ms/step\n", + "[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.01, num_1=100; total time= 38.2s\n", + "103/103 [==============================] - 5s 47ms/step\n", + "[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.001, num_1=60; total time= 37.2s\n", + " 37/103 [=========>....................] - ETA: 2s[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.001, num_1=60; total time= 36.6s\n", + " 15/103 [===>..........................] - ETA: 3s[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.001, num_1=60; total time= 37.0s\n", + "103/103 [==============================] - 4s 32ms/step\n", + " 57/103 [===============>..............] - ETA: 1s[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.001, num_1=80; total time= 37.3s\n", + " 75/103 [====================>.........] - ETA: 1s[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.001, num_1=80; total time= 37.3s\n", + " 72/103 [===================>..........] - ETA: 1s[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.001, num_1=80; total time= 37.2s\n", + "103/103 [==============================] - 5s 43ms/step\n", + "103/103 [==============================] - 4s 42ms/step\n", + "[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.001, num_1=100; total time= 36.5s\n", + "103/103 [==============================] - 4s 36ms/step\n", "103/103 [==============================] - 4s 31ms/step\n", + "103/103 [==============================] - 3s 28ms/step\n", + "103/103 [==============================] - 2s 19ms/step\n", + "[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.001, num_1=100; total time= 44.9s\n", + "103/103 [==============================] - 4s 37ms/step\n", + "[CV] END dropout_rate=0.4, filter=36, kernel=5, lr=0.001, num_1=100; total time= 48.8s\n", + " 18/103 [====>.........................] - ETA: 4s[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.01, num_1=80; total time= 51.3s\n", + " 23/103 [=====>........................] - ETA: 4s[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.01, num_1=60; total time= 51.5s\n", + " 14/103 [===>..........................] - ETA: 3s[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.01, num_1=60; total time= 50.9s\n", + " 37/103 [=========>....................] - ETA: 3s[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.01, num_1=60; total time= 51.4s\n", + " 30/103 [=======>......................] - ETA: 2s[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.01, num_1=80; total time= 51.6s\n", + " 57/103 [===============>..............] - ETA: 1s[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.01, num_1=80; total time= 50.9s\n", + "103/103 [==============================] - 4s 38ms/step\n", + "103/103 [==============================] - 3s 31ms/step\n", + "103/103 [==============================] - 4s 32ms/step\n", "103/103 [==============================] - 3s 32ms/step\n", - "103/103 [==============================] - 3s 27ms/step\n", - "[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.001, num_1=60; total time= 37.4s\n", - " 46/103 [============>.................] - ETA: 0s[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.001, num_1=60; total time= 38.2s\n", + "103/103 [==============================] - 4s 30ms/step\n", + "103/103 [==============================] - 3s 28ms/step\n", + "103/103 [==============================] - 3s 24ms/step\n", + "[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.001, num_1=60; total time= 45.5s\n", + " 6/103 [>.............................] - ETA: 2s[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.01, num_1=100; total time= 45.9s\n", + " 26/103 [======>.......................] - ETA: 2s[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.01, num_1=100; total time= 46.7s\n", + " 22/103 [=====>........................] - ETA: 1s[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.001, num_1=80; total time= 45.3s\n", + " 52/103 [==============>...............] - ETA: 1s[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.001, num_1=80; total time= 45.1s\n", + "103/103 [==============================] - 2s 18ms/step\n", + "103/103 [==============================] - 2s 17ms/step\n", "103/103 [==============================] - 2s 19ms/step\n", - "103/103 [==============================] - 3s 29ms/step\n", - "[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.001, num_1=80; total time= 44.4s\n", - " 17/103 [===>..........................] - ETA: 2s[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.001, num_1=80; total time= 43.8s\n", - " 42/103 [===========>..................] - ETA: 1s[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.001, num_1=80; total time= 43.4s\n", - " 82/103 [======================>.......] - ETA: 0s[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.001, num_1=100; total time= 43.8s\n", - " 89/103 [========================>.....] - ETA: 0s[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.001, num_1=100; total time= 43.1s\n", + "103/103 [==============================] - 2s 17ms/step\n", + "103/103 [==============================] - 3s 25ms/step\n", + "[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.001, num_1=60; total time= 44.2s\n", + " 1/103 [..............................] - ETA: 49s[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.01, num_1=100; total time= 48.2s\n", + " 11/103 [==>...........................] - ETA: 4s[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.001, num_1=60; total time= 45.8s\n", + "103/103 [==============================] - 4s 37ms/step\n", + "103/103 [==============================] - 4s 38ms/step\n", + "103/103 [==============================] - 4s 37ms/step\n", + "[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.01, num_1=60; total time= 29.4s\n", + " 36/103 [=========>....................] - ETA: 2s[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.01, num_1=60; total time= 30.3s\n", + " 40/103 [==========>...................] - ETA: 2s[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.001, num_1=80; total time= 39.9s\n", + " 27/103 [======>.......................] - ETA: 1s[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.01, num_1=60; total time= 29.5s\n", + " 34/103 [========>.....................] - ETA: 1s[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.01, num_1=80; total time= 29.7s\n", "103/103 [==============================] - 3s 26ms/step\n", - " 78/103 [=====================>........] - ETA: 0s[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.001, num_1=100; total time= 43.6s\n", "103/103 [==============================] - 3s 24ms/step\n", - "103/103 [==============================] - 2s 21ms/step\n", + "103/103 [==============================] - 3s 26ms/step\n", + "103/103 [==============================] - 3s 24ms/step\n", + "103/103 [==============================] - 3s 24ms/step\n", + "[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.001, num_1=100; total time= 38.0s\n", + " 14/103 [===>..........................] - ETA: 3s[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.001, num_1=100; total time= 38.4s\n", + " 24/103 [=====>........................] - ETA: 2s[CV] END dropout_rate=0.4, filter=36, kernel=6, lr=0.001, num_1=100; total time= 38.2s\n", + "103/103 [==============================] - 3s 27ms/step\n", + "103/103 [==============================] - 3s 27ms/step\n", + "103/103 [==============================] - 3s 26ms/step\n", + "[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.01, num_1=80; total time= 30.3s\n", + " 6/103 [>.............................] - ETA: 1s [CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.01, num_1=80; total time= 29.3s\n", + " 1/103 [..............................] - ETA: 11s[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.01, num_1=100; total time= 29.9s\n", + " 8/103 [=>............................] - ETA: 1s[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.01, num_1=100; total time= 30.3s\n", + " 16/103 [===>..........................] - ETA: 1s[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.01, num_1=100; total time= 29.7s\n", + "103/103 [==============================] - 2s 17ms/step\n", "103/103 [==============================] - 2s 18ms/step\n", "103/103 [==============================] - 2s 17ms/step\n", - "103/103 [==============================] - 2s 14ms/step\n", - "[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.01, num_1=60; total time= 27.9s\n", - " 25/103 [======>.......................] - ETA: 0s[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.01, num_1=60; total time= 27.9s\n", - "103/103 [==============================] - 1s 9ms/step\n", - "103/103 [==============================] - 1s 11ms/step\n", - "[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.01, num_1=80; total time= 32.7s\n", - " 9/103 [=>............................] - ETA: 4s[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.01, num_1=60; total time= 32.8s\n", - " 46/103 [============>.................] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.01, num_1=80; total time= 32.7s\n", - " 15/103 [===>..........................] - ETA: 2s[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.01, num_1=100; total time= 32.2s\n", - " 23/103 [=====>........................] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.01, num_1=100; total time= 32.4s\n", - "103/103 [==============================] - 2s 23ms/step\n", - " 42/103 [===========>..................] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.01, num_1=80; total time= 33.0s\n", - "103/103 [==============================] - 2s 22ms/step\n", "103/103 [==============================] - 2s 19ms/step\n", "103/103 [==============================] - 2s 17ms/step\n", + "[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.001, num_1=60; total time= 29.4s\n", + "103/103 [==============================] - 4s 34ms/step\n", + "[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.001, num_1=60; total time= 30.2s\n", + " 19/103 [====>.........................] - ETA: 2s[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.001, num_1=60; total time= 29.9s\n", + "103/103 [==============================] - 3s 29ms/step\n", + "103/103 [==============================] - 3s 26ms/step\n", + "[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.001, num_1=80; total time= 31.4s\n", + " 11/103 [==>...........................] - ETA: 1s[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.001, num_1=80; total time= 30.0s\n", + " 13/103 [==>...........................] - ETA: 1s[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.001, num_1=100; total time= 29.9s\n", + " 16/103 [===>..........................] - ETA: 2s[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.001, num_1=100; total time= 29.8s\n", + " 12/103 [==>...........................] - ETA: 3s[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.001, num_1=80; total time= 30.7s\n", + "103/103 [==============================] - 3s 26ms/step\n", + "103/103 [==============================] - 3s 26ms/step\n", + "103/103 [==============================] - 3s 26ms/step\n", + "103/103 [==============================] - 3s 26ms/step\n", + "103/103 [==============================] - 3s 26ms/step\n", + "[CV] END dropout_rate=0.5, filter=24, kernel=4, lr=0.001, num_1=100; total time= 29.4s\n", + "103/103 [==============================] - 2s 18ms/step\n", + "[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.01, num_1=60; total time= 33.9s\n", + " 1/103 [..............................] - ETA: 9s[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.01, num_1=60; total time= 33.0s\n", + "103/103 [==============================] - 2s 15ms/step\n", "103/103 [==============================] - 2s 16ms/step\n", + "[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.01, num_1=60; total time= 38.6s\n", + " 27/103 [======>.......................] - ETA: 2s[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.01, num_1=100; total time= 38.7s\n", + " 42/103 [===========>..................] - ETA: 1s[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.01, num_1=80; total time= 38.8s\n", + " 1/103 [..............................] - ETA: 21s[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.01, num_1=80; total time= 38.5s\n", + " 48/103 [============>.................] - ETA: 1s[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.01, num_1=80; total time= 38.7s\n", + "103/103 [==============================] - 3s 25ms/step\n", + "103/103 [==============================] - 3s 24ms/step\n", + "103/103 [==============================] - 2s 22ms/step\n", + "103/103 [==============================] - 3s 22ms/step\n", + "103/103 [==============================] - 3s 22ms/step\n", + "[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.01, num_1=100; total time= 36.7s\n", "103/103 [==============================] - 2s 14ms/step\n", - "[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.001, num_1=60; total time= 29.0s\n", - " 39/103 [==========>...................] - ETA: 0s[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.01, num_1=100; total time= 31.1s\n", - "103/103 [==============================] - 1s 8ms/step\n", - "103/103 [==============================] - 1s 8ms/step\n", - "[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.001, num_1=60; total time= 24.5s\n", - " 38/103 [==========>...................] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.001, num_1=60; total time= 25.3s\n", - " 30/103 [=======>......................] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.001, num_1=80; total time= 25.1s\n", - " 13/103 [==>...........................] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.001, num_1=80; total time= 24.6s\n", + "[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.001, num_1=60; total time= 33.4s\n", + " 15/103 [===>..........................] - ETA: 2s[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.01, num_1=100; total time= 33.8s\n", + "103/103 [==============================] - 3s 30ms/step\n", + "103/103 [==============================] - 3s 30ms/step\n", + "[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.001, num_1=60; total time= 35.0s\n", + " 63/103 [=================>............] - ETA: 1s[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.001, num_1=80; total time= 35.6s\n", + " 11/103 [==>...........................] - ETA: 1s[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.001, num_1=60; total time= 35.8s\n", + " 15/103 [===>..........................] - ETA: 2s[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.001, num_1=80; total time= 35.7s\n", + " 91/103 [=========================>....] - ETA: 0s[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.001, num_1=80; total time= 35.2s\n", + "103/103 [==============================] - 3s 28ms/step\n", + "103/103 [==============================] - 2s 23ms/step\n", "103/103 [==============================] - 3s 23ms/step\n", - " 45/103 [============>.................] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.001, num_1=80; total time= 24.3s\n", - "103/103 [==============================] - 3s 22ms/step\n", - " 71/103 [===================>..........] - ETA: 0s[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.001, num_1=100; total time= 24.5s\n", - "103/103 [==============================] - 2s 19ms/step\n", - "103/103 [==============================] - 2s 19ms/step\n", - "103/103 [==============================] - 2s 15ms/step\n", - " 78/103 [=====================>........] - ETA: 0s[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.001, num_1=100; total time= 25.0s\n", - "103/103 [==============================] - 2s 13ms/step\n", - " 39/103 [==========>...................] - ETA: 0s[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.001, num_1=100; total time= 25.5s\n", - "103/103 [==============================] - 1s 11ms/step\n", - "103/103 [==============================] - 1s 10ms/step\n", - "[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.01, num_1=60; total time= 25.3s\n", - " 19/103 [====>.........................] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.01, num_1=80; total time= 25.3s\n", - " 4/103 [>.............................] - ETA: 2s [CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.01, num_1=60; total time= 25.0s\n", - " 30/103 [=======>......................] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.01, num_1=60; total time= 25.4s\n", - " 6/103 [>.............................] - ETA: 3s[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.01, num_1=80; total time= 25.6s\n", - " 62/103 [=================>............] - ETA: 0s[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.01, num_1=80; total time= 25.7s\n", - " 59/103 [================>.............] - ETA: 0s[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.01, num_1=100; total time= 24.9s\n", - "103/103 [==============================] - 2s 19ms/step\n", - " 11/103 [==>...........................] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.01, num_1=100; total time= 25.0s\n", - "103/103 [==============================] - 2s 18ms/step\n", "103/103 [==============================] - 2s 20ms/step\n", - "103/103 [==============================] - 2s 19ms/step\n", - "103/103 [==============================] - 2s 18ms/step\n", - "103/103 [==============================] - 2s 13ms/step\n", + "103/103 [==============================] - 2s 21ms/step\n", + "[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.001, num_1=100; total time= 34.3s\n", + " 84/103 [=======================>......] - ETA: 0s[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.001, num_1=100; total time= 36.1s\n", + " 98/103 [===========================>..] - ETA: 0s[CV] END dropout_rate=0.5, filter=24, kernel=5, lr=0.001, num_1=100; total time= 36.2s\n", "103/103 [==============================] - 1s 12ms/step\n", - "103/103 [==============================] - 1s 11ms/step\n", - "[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.001, num_1=60; total time= 27.3s\n", - " 30/103 [=======>......................] - ETA: 2s[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.01, num_1=100; total time= 29.0s\n", - " 51/103 [=============>................] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.001, num_1=80; total time= 27.0s\n", - " 64/103 [=================>............] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.001, num_1=60; total time= 28.4s\n", - "103/103 [==============================] - 4s 31ms/step\n", - " 23/103 [=====>........................] - ETA: 2s[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.001, num_1=60; total time= 28.1s\n", - " 35/103 [=========>....................] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.001, num_1=80; total time= 27.8s\n", - "103/103 [==============================] - 3s 27ms/step\n", - " 34/103 [========>.....................] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.001, num_1=100; total time= 26.6s\n", - " 62/103 [=================>............] - ETA: 0s[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.001, num_1=80; total time= 26.7s\n", - "103/103 [==============================] - 2s 20ms/step\n", + "103/103 [==============================] - 2s 21ms/step\n", + "103/103 [==============================] - 2s 22ms/step\n", + "[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.01, num_1=60; total time= 36.0s\n", + " 38/103 [==========>...................] - ETA: 2s[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.01, num_1=60; total time= 36.5s\n", + " 32/103 [========>.....................] - ETA: 1s[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.01, num_1=80; total time= 36.7s\n", + " 82/103 [======================>.......] - ETA: 0s[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.01, num_1=60; total time= 37.2s\n", + " 1/103 [..............................] - ETA: 17s[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.01, num_1=80; total time= 36.8s\n", + "103/103 [==============================] - 3s 28ms/step\n", + "103/103 [==============================] - 3s 23ms/step \n", + "103/103 [==============================] - 3s 21ms/step\n", + "103/103 [==============================] - 2s 21ms/step\n", + "103/103 [==============================] - 2s 21ms/step\n", + "[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.01, num_1=80; total time= 36.1s\n", + " 52/103 [==============>...............] - ETA: 0s[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.01, num_1=100; total time= 34.5s\n", + " 17/103 [===>..........................] - ETA: 0s[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.01, num_1=100; total time= 34.5s\n", + "103/103 [==============================] - 2s 14ms/step\n", + "103/103 [==============================] - 2s 18ms/step\n", + "103/103 [==============================] - 2s 21ms/step\n", + "[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.001, num_1=80; total time= 33.6s\n", + " 13/103 [==>...........................] - ETA: 2s[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.001, num_1=60; total time= 33.9s\n", + " 14/103 [===>..........................] - ETA: 3s[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.001, num_1=60; total time= 33.6s\n", + " 53/103 [==============>...............] - ETA: 1s[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.01, num_1=100; total time= 33.9s\n", + " 97/103 [===========================>..] - ETA: 0s[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.001, num_1=60; total time= 33.3s\n", + "103/103 [==============================] - 3s 28ms/step\n", + "103/103 [==============================] - 3s 29ms/step\n", + "103/103 [==============================] - 3s 28ms/step\n", + "103/103 [==============================] - 3s 26ms/step\n", + "103/103 [==============================] - 3s 23ms/step\n", + "[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.001, num_1=80; total time= 33.4s\n", + " 1/103 [..............................] - ETA: 12s[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.001, num_1=100; total time= 32.3s\n", + " 1/103 [..............................] - ETA: 14s[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.001, num_1=80; total time= 33.1s\n", + "103/103 [==============================] - 2s 17ms/step\n", "103/103 [==============================] - 2s 18ms/step\n", "103/103 [==============================] - 2s 17ms/step\n", - "103/103 [==============================] - 2s 16ms/step\n", + "[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.01, num_1=60; total time= 34.8s\n", + " 5/103 [>.............................] - ETA: 1s [CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.01, num_1=60; total time= 34.3s\n", + " 12/103 [==>...........................] - ETA: 5s[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.01, num_1=60; total time= 35.0s\n", + " 80/103 [======================>.......] - ETA: 0s[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.001, num_1=100; total time= 37.8s\n", + " 15/103 [===>..........................] - ETA: 2s[CV] END dropout_rate=0.5, filter=24, kernel=6, lr=0.001, num_1=100; total time= 37.4s\n", + "103/103 [==============================] - 5s 38ms/step\n", + "103/103 [==============================] - 5s 38ms/step\n", + "103/103 [==============================] - 4s 37ms/step\n", + "103/103 [==============================] - 3s 24ms/step\n", + " 96/103 [==========================>...] - ETA: 0s[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.01, num_1=80; total time= 35.3s\n", + "103/103 [==============================] - 2s 22ms/step\n", + "[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.01, num_1=80; total time= 35.9s\n", + " 35/103 [=========>....................] - ETA: 0s[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.01, num_1=80; total time= 37.0s\n", "103/103 [==============================] - 2s 14ms/step\n", - "103/103 [==============================] - 2s 15ms/step\n", - "[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.001, num_1=100; total time= 33.4s\n", - " 4/103 [>.............................] - ETA: 1s [CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.01, num_1=60; total time= 34.0s\n", - " 14/103 [===>..........................] - ETA: 3s[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.01, num_1=60; total time= 34.3s\n", - " 1/103 [..............................] - ETA: 22s[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.01, num_1=60; total time= 34.3s\n", - " 22/103 [=====>........................] - ETA: 2s[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.001, num_1=100; total time= 33.2s\n", - " 11/103 [==>...........................] - ETA: 2s[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.01, num_1=80; total time= 34.3s\n", - " 1/103 [..............................] - ETA: 21s[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.01, num_1=80; total time= 34.3s\n", - " 44/103 [===========>..................] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.01, num_1=80; total time= 34.2s\n", - "103/103 [==============================] - 3s 23ms/step\n", + "103/103 [==============================] - 2s 16ms/step\n", + "103/103 [==============================] - 2s 19ms/step\n", + "[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.01, num_1=100; total time= 1.0min\n", + " 18/103 [====>.........................] - ETA: 2s[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.01, num_1=100; total time= 1.0min\n", + " 40/103 [==========>...................] - ETA: 1s[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.01, num_1=100; total time= 1.0min\n", + "103/103 [==============================] - 3s 27ms/step\n", + " 88/103 [========================>.....] - ETA: 0s[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.001, num_1=60; total time= 1.0min\n", + "103/103 [==============================] - 3s 27ms/step\n", "103/103 [==============================] - 3s 26ms/step\n", + "103/103 [==============================] - 2s 20ms/step\n", + "[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.001, num_1=60; total time= 1.0min\n", + " 27/103 [======>.......................] - ETA: 1s[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.001, num_1=60; total time= 1.0min\n", + " 54/103 [==============>...............] - ETA: 0s[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.001, num_1=80; total time= 1.0min\n", + "103/103 [==============================] - 2s 17ms/step\n", + "103/103 [==============================] - 2s 15ms/step\n", + "[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.001, num_1=80; total time= 1.0min\n", + "103/103 [==============================] - 2s 13ms/step\n", + "103/103 [==============================] - 1s 12ms/step\n", + "[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.001, num_1=100; total time= 42.3s\n", + " 50/103 [=============>................] - ETA: 2s[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.001, num_1=80; total time= 43.1s\n", + " 28/103 [=======>......................] - ETA: 2s[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.001, num_1=100; total time= 43.0s\n", + "103/103 [==============================] - 4s 39ms/step\n", + "103/103 [==============================] - 4s 37ms/step\n", + "103/103 [==============================] - 4s 35ms/step\n", + "[CV] END dropout_rate=0.5, filter=36, kernel=4, lr=0.001, num_1=100; total time= 43.1s\n", + " 63/103 [=================>............] - ETA: 0s[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.01, num_1=60; total time= 43.6s\n", + " 20/103 [====>.........................] - ETA: 1s[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.01, num_1=60; total time= 44.8s\n", "103/103 [==============================] - 2s 23ms/step\n", - "103/103 [==============================] - 3s 24ms/step\n", - "103/103 [==============================] - 3s 24ms/step\n", + "[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.01, num_1=60; total time= 43.9s\n", + " 57/103 [===============>..............] - ETA: 1s[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.01, num_1=80; total time= 43.8s\n", + "103/103 [==============================] - 2s 22ms/step\n", + "103/103 [==============================] - 3s 26ms/step\n", "103/103 [==============================] - 3s 23ms/step\n", - "103/103 [==============================] - 3s 24ms/step\n", - "103/103 [==============================] - 2s 19ms/step\n", - "[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.001, num_1=80; total time= 36.4s\n", - " 16/103 [===>..........................] - ETA: 2s[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.001, num_1=60; total time= 36.5s\n", - " 29/103 [=======>......................] - ETA: 2s[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.01, num_1=100; total time= 38.4s\n", - " 25/103 [======>.......................] - ETA: 2s[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.001, num_1=80; total time= 36.6s\n", - " 48/103 [============>.................] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.001, num_1=60; total time= 36.6s\n", - " 18/103 [====>.........................] - ETA: 3s[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.01, num_1=100; total time= 37.1s\n", + "103/103 [==============================] - 2s 22ms/step\n", + "[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.01, num_1=80; total time= 41.6s\n", + " 62/103 [=================>............] - ETA: 1s[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.01, num_1=80; total time= 42.7s\n", + "103/103 [==============================] - 4s 42ms/step\n", + " 43/103 [===========>..................] - ETA: 2s[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.01, num_1=100; total time= 43.1s\n", + "103/103 [==============================] - 4s 35ms/step\n", + " 87/103 [========================>.....] - ETA: 0s[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.01, num_1=100; total time= 44.3s\n", + "103/103 [==============================] - 4s 32ms/step\n", + " 36/103 [=========>....................] - ETA: 1s[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.001, num_1=60; total time= 43.4s\n", + " 68/103 [==================>...........] - ETA: 0s[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.01, num_1=100; total time= 44.4s\n", + "103/103 [==============================] - 3s 23ms/step\n", + " 98/103 [===========================>..] - ETA: 0s[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.001, num_1=60; total time= 43.9s\n", + "103/103 [==============================] - 3s 25ms/step\n", + "103/103 [==============================] - 3s 25ms/step\n", + " 40/103 [==========>...................] - ETA: 1s[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.001, num_1=60; total time= 43.6s\n", + "103/103 [==============================] - 3s 26ms/step\n", "103/103 [==============================] - 3s 28ms/step\n", - " 41/103 [==========>...................] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.01, num_1=100; total time= 36.7s\n", + "[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.001, num_1=80; total time= 39.2s\n", + " 94/103 [==========================>...] - ETA: 0s[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.001, num_1=80; total time= 39.4s\n", + "103/103 [==============================] - 4s 41ms/step\n", + " 77/103 [=====================>........] - ETA: 0s[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.001, num_1=80; total time= 39.9s\n", + "103/103 [==============================] - 4s 32ms/step\n", + " 35/103 [=========>....................] - ETA: 2s[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.001, num_1=100; total time= 39.3s\n", + " 76/103 [=====================>........] - ETA: 0s[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.001, num_1=100; total time= 39.2s\n", + " 94/103 [==========================>...] - ETA: 0s[CV] END dropout_rate=0.5, filter=36, kernel=5, lr=0.001, num_1=100; total time= 39.1s\n", + "103/103 [==============================] - 3s 30ms/step\n", "103/103 [==============================] - 3s 28ms/step\n", - " 37/103 [=========>....................] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.001, num_1=60; total time= 36.3s\n", - "103/103 [==============================] - 3s 25ms/step\n", + " 48/103 [============>.................] - ETA: 1s[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.01, num_1=60; total time= 40.7s\n", + " 1/103 [..............................] - ETA: 19s[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.01, num_1=60; total time= 41.7s\n", + "103/103 [==============================] - 3s 28ms/step\n", + "103/103 [==============================] - 3s 31ms/step\n", + "103/103 [==============================] - 3s 32ms/step\n", + "103/103 [==============================] - 4s 34ms/step\n", + "[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.01, num_1=60; total time= 46.6s\n", + "103/103 [==============================] - 8s 76ms/step\n", + "[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.01, num_1=80; total time= 47.6s\n", + " 64/103 [=================>............] - ETA: 1s[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.01, num_1=80; total time= 48.5s\n", + "103/103 [==============================] - 5s 41ms/step\n", + " 81/103 [======================>.......] - ETA: 0s[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.01, num_1=80; total time= 47.6s\n", + "103/103 [==============================] - 4s 36ms/step\n", + " 25/103 [======>.......................] - ETA: 2s[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.01, num_1=100; total time= 47.8s\n", + " 42/103 [===========>..................] - ETA: 2s[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.01, num_1=100; total time= 47.8s\n", + "103/103 [==============================] - 5s 47ms/step\n", + " 89/103 [========================>.....] - ETA: 0s[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.01, num_1=100; total time= 47.7s\n", + "103/103 [==============================] - 5s 45ms/step\n", + " 92/103 [=========================>....] - ETA: 0s[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.001, num_1=60; total time= 46.2s\n", + "103/103 [==============================] - 5s 45ms/step\n", + "103/103 [==============================] - 4s 35ms/step\n", + "103/103 [==============================] - 4s 31ms/step\n", + "[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.001, num_1=60; total time= 50.2s\n", + "103/103 [==============================] - 4s 36ms/step\n", + "[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.001, num_1=60; total time= 49.8s\n", + "103/103 [==============================] - 3s 24ms/step\n", + "[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.001, num_1=80; total time= 49.6s\n", + "103/103 [==============================] - 3s 30ms/step\n", + "[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.001, num_1=80; total time= 52.9s\n", + " 14/103 [===>..........................] - ETA: 1s[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.001, num_1=80; total time= 52.3s\n", + " 52/103 [==============>...............] - ETA: 1s[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.001, num_1=100; total time= 52.0s\n", + "103/103 [==============================] - 2s 20ms/step\n", "103/103 [==============================] - 2s 21ms/step\n", + " 61/103 [================>.............] - ETA: 0s[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.001, num_1=100; total time= 53.3s\n", + " 97/103 [===========================>..] - ETA: 0s[CV] END dropout_rate=0.5, filter=36, kernel=6, lr=0.001, num_1=100; total time= 52.6s\n", + "103/103 [==============================] - 2s 22ms/step\n", "103/103 [==============================] - 2s 20ms/step\n", - "103/103 [==============================] - 2s 19ms/step\n", + "103/103 [==============================] - 2s 20ms/step\n", + "[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.01, num_1=60; total time= 33.7s\n", + "103/103 [==============================] - 4s 37ms/step\n", + "[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.01, num_1=60; total time= 34.5s\n", + "103/103 [==============================] - 4s 34ms/step\n", + "[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.01, num_1=60; total time= 35.9s\n", + "103/103 [==============================] - 3s 25ms/step\n", + "[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.01, num_1=80; total time= 34.3s\n", + " 10/103 [=>............................] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.01, num_1=80; total time= 34.7s\n", + "103/103 [==============================] - 2s 23ms/step\n", + "103/103 [==============================] - 3s 24ms/step\n", + "[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.01, num_1=80; total time= 34.9s\n", + " 25/103 [======>.......................] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.01, num_1=100; total time= 33.3s\n", + " 83/103 [=======================>......] - ETA: 0s[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.01, num_1=100; total time= 34.6s\n", "103/103 [==============================] - 2s 16ms/step\n", - "103/103 [==============================] - 2s 13ms/step\n", - "[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.01, num_1=60; total time= 34.5s\n", - " 8/103 [=>............................] - ETA: 3s[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.01, num_1=60; total time= 34.9s\n", - " 14/103 [===>..........................] - ETA: 3s[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.001, num_1=80; total time= 36.4s\n", - " 39/103 [==========>...................] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.001, num_1=100; total time= 35.7s\n", - " 43/103 [===========>..................] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.001, num_1=100; total time= 36.1s\n", - " 14/103 [===>..........................] - ETA: 2s[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.001, num_1=100; total time= 36.1s\n", - " 21/103 [=====>........................] - ETA: 2s[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.01, num_1=60; total time= 34.0s\n", - "103/103 [==============================] - 3s 27ms/step\n", + "103/103 [==============================] - 2s 15ms/step\n", + "103/103 [==============================] - 2s 16ms/step\n", + "[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.01, num_1=100; total time= 33.1s\n", + "103/103 [==============================] - 3s 32ms/step\n", + "[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.001, num_1=60; total time= 35.1s\n", + "103/103 [==============================] - 3s 29ms/step\n", + "[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.001, num_1=60; total time= 34.8s\n", + "103/103 [==============================] - 5s 47ms/step\n", + "[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.001, num_1=60; total time= 35.8s\n", + " 1/103 [..............................] - ETA: 2:08[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.001, num_1=80; total time= 35.1s\n", + " 74/103 [====================>.........] - ETA: 0s[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.001, num_1=80; total time= 36.6s\n", + " 19/103 [====>.........................] - ETA: 2s[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.001, num_1=100; total time= 35.8s\n", + "103/103 [==============================] - 4s 29ms/step\n", + "103/103 [==============================] - 5s 33ms/step\n", + " 48/103 [============>.................] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.001, num_1=80; total time= 35.8s\n", + "103/103 [==============================] - 3s 28ms/step\n", "103/103 [==============================] - 3s 26ms/step\n", - " 51/103 [=============>................] - ETA: 1s[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.01, num_1=80; total time= 34.8s\n", - "103/103 [==============================] - 3s 23ms/step\n", + "103/103 [==============================] - 3s 26ms/step\n", + "[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.001, num_1=100; total time= 30.0s\n", + "103/103 [==============================] - 4s 39ms/step\n", + "[CV] END dropout_rate=0.6, filter=24, kernel=4, lr=0.001, num_1=100; total time= 30.9s\n", + "103/103 [==============================] - 4s 39ms/step\n", + "[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.01, num_1=60; total time= 40.4s\n", + " 95/103 [==========================>...] - ETA: 0s[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.01, num_1=80; total time= 40.1s\n", + "103/103 [==============================] - 4s 39ms/step\n", + "[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.01, num_1=80; total time= 39.4s\n", + " 1/103 [..............................] - ETA: 15s[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.01, num_1=60; total time= 40.5s\n", + " 6/103 [>.............................] - ETA: 3s[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.01, num_1=60; total time= 40.5s\n", + " 46/103 [============>.................] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.01, num_1=80; total time= 40.8s\n", "103/103 [==============================] - 3s 23ms/step\n", "103/103 [==============================] - 2s 22ms/step\n", - "103/103 [==============================] - 2s 21ms/step\n", - "103/103 [==============================] - 2s 21ms/step\n", - "103/103 [==============================] - 2s 13ms/step\n", - "[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.01, num_1=100; total time= 33.5s\n", - " 5/103 [>.............................] - ETA: 1s [CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.001, num_1=60; total time= 33.1s\n", - " 11/103 [==>...........................] - ETA: 1s[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.001, num_1=60; total time= 32.9s\n", - " 1/103 [..............................] - ETA: 30s[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.01, num_1=80; total time= 33.6s\n", - " 13/103 [==>...........................] - ETA: 1s[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.001, num_1=60; total time= 33.2s\n", - " 22/103 [=====>........................] - ETA: 1s[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.01, num_1=100; total time= 33.3s\n", - "101/103 [============================>.] - ETA: 0s[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.01, num_1=80; total time= 35.0s\n", "103/103 [==============================] - 3s 23ms/step\n", - "103/103 [==============================] - 3s 22ms/step\n", + "103/103 [==============================] - 3s 23ms/step\n", + "103/103 [==============================] - 2s 19ms/step\n", + "[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.01, num_1=100; total time= 38.6s\n", + "103/103 [==============================] - 4s 41ms/step\n", + "[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.01, num_1=100; total time= 39.2s\n", + "103/103 [==============================] - 4s 38ms/step\n", + "[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.01, num_1=100; total time= 44.2s\n", + " 79/103 [======================>.......] - ETA: 0s[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.001, num_1=60; total time= 40.7s\n", + "103/103 [==============================] - 4s 37ms/step\n", + " 68/103 [==================>...........] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.001, num_1=80; total time= 40.4s\n", + " 81/103 [======================>.......] - ETA: 0s[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.001, num_1=60; total time= 42.8s\n", + "103/103 [==============================] - 4s 35ms/step\n", + " 27/103 [======>.......................] - ETA: 2s[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.001, num_1=60; total time= 43.3s\n", + " 11/103 [==>...........................] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.001, num_1=80; total time= 40.9s\n", + "103/103 [==============================] - 3s 26ms/step\n", "103/103 [==============================] - 3s 24ms/step\n", + "103/103 [==============================] - 2s 19ms/step\n", + "103/103 [==============================] - 2s 20ms/step\n", + "[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.001, num_1=80; total time= 35.6s\n", + "103/103 [==============================] - 5s 42ms/step\n", + "[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.001, num_1=100; total time= 36.9s\n", + "103/103 [==============================] - 4s 39ms/step\n", + "[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.001, num_1=100; total time= 38.5s\n", + " 27/103 [======>.......................] - ETA: 2s[CV] END dropout_rate=0.6, filter=24, kernel=5, lr=0.001, num_1=100; total time= 39.1s\n", + " 13/103 [==>...........................] - ETA: 4s[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.01, num_1=60; total time= 40.6s\n", + " 63/103 [=================>............] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.01, num_1=60; total time= 40.7s\n", + "103/103 [==============================] - 3s 31ms/step\n", + " 98/103 [===========================>..] - ETA: 0s[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.01, num_1=80; total time= 40.3s\n", + " 32/103 [========>.....................] - ETA: 2s[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.01, num_1=60; total time= 40.9s\n", + "103/103 [==============================] - 3s 31ms/step\n", + "103/103 [==============================] - 3s 30ms/step\n", "103/103 [==============================] - 3s 24ms/step\n", - "103/103 [==============================] - 3s 25ms/step\n", + "103/103 [==============================] - 2s 20ms/step\n", + "103/103 [==============================] - 2s 21ms/step\n", + "[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.01, num_1=80; total time= 40.3s\n", + "103/103 [==============================] - 5s 45ms/step\n", + "[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.01, num_1=80; total time= 38.5s\n", + "103/103 [==============================] - 4s 39ms/step\n", + "[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.001, num_1=60; total time= 39.4s\n", + " 5/103 [>.............................] - ETA: 2s [CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.001, num_1=60; total time= 39.2s\n", + " 6/103 [>.............................] - ETA: 5s[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.01, num_1=100; total time= 41.8s\n", + " 11/103 [==>...........................] - ETA: 1s[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.01, num_1=100; total time= 39.7s\n", + " 27/103 [======>.......................] - ETA: 2s[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.01, num_1=100; total time= 38.6s\n", + " 77/103 [=====================>........] - ETA: 0s[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.001, num_1=60; total time= 39.1s\n", + "103/103 [==============================] - 3s 30ms/step\n", + "103/103 [==============================] - 3s 29ms/step\n", + "103/103 [==============================] - 4s 29ms/step\n", + "103/103 [==============================] - 4s 32ms/step\n", + "103/103 [==============================] - 3s 30ms/step\n", "103/103 [==============================] - 3s 23ms/step\n", - " 29/103 [=======>......................] - ETA: 1s[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.01, num_1=100; total time= 34.5s\n", - "103/103 [==============================] - 2s 14ms/step\n", + "[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.001, num_1=80; total time= 38.3s\n", + " 47/103 [============>.................] - ETA: 0s[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.001, num_1=80; total time= 36.3s\n", + "103/103 [==============================] - 1s 9ms/step\n", "103/103 [==============================] - 1s 10ms/step\n", - "[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.001, num_1=80; total time= 34.3s\n", - " 6/103 [>.............................] - ETA: 2s [CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.001, num_1=80; total time= 34.3s\n", - " 11/103 [==>...........................] - ETA: 3s[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.001, num_1=80; total time= 34.6s\n", - " 19/103 [====>.........................] - ETA: 2s[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.001, num_1=100; total time= 33.9s\n", - " 3/103 [..............................] - ETA: 2s [CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.001, num_1=100; total time= 34.3s\n", - " 30/103 [=======>......................] - ETA: 1s[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.001, num_1=100; total time= 33.9s\n", - " 64/103 [=================>............] - ETA: 1s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.01, num_1=60; total time= 34.7s\n", - "103/103 [==============================] - 3s 28ms/step\n", - " 80/103 [======================>.......] - ETA: 0s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.01, num_1=60; total time= 34.5s\n", - "103/103 [==============================] - 3s 28ms/step\n", - "103/103 [==============================] - 3s 28ms/step\n", - "103/103 [==============================] - 3s 25ms/step\n", + "[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.01, num_1=60; total time= 41.7s\n", + " 46/103 [============>.................] - ETA: 2s[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.001, num_1=80; total time= 44.7s\n", + " 91/103 [=========================>....] - ETA: 0s[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.001, num_1=100; total time= 44.1s\n", + "103/103 [==============================] - 4s 40ms/step\n", + " 11/103 [==>...........................] - ETA: 3s[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.01, num_1=60; total time= 41.9s\n", + " 15/103 [===>..........................] - ETA: 2s[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.001, num_1=100; total time= 44.1s\n", + " 29/103 [=======>......................] - ETA: 2s[CV] END dropout_rate=0.6, filter=24, kernel=6, lr=0.001, num_1=100; total time= 44.4s\n", + "103/103 [==============================] - 4s 32ms/step\n", + " 49/103 [=============>................] - ETA: 1s[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.01, num_1=60; total time= 39.5s\n", + " 57/103 [===============>..............] - ETA: 1s[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.01, num_1=80; total time= 35.7s\n", + "103/103 [==============================] - 3s 27ms/step\n", + "103/103 [==============================] - 3s 26ms/step\n", "103/103 [==============================] - 3s 26ms/step\n", "103/103 [==============================] - 3s 22ms/step\n", + "103/103 [==============================] - 3s 18ms/step\n", "103/103 [==============================] - 2s 17ms/step\n", - "103/103 [==============================] - 2s 14ms/step\n", - "[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.01, num_1=80; total time= 37.0s\n", - " 16/103 [===>..........................] - ETA: 3s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.01, num_1=100; total time= 37.2s\n", - " 23/103 [=====>........................] - ETA: 3s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.01, num_1=60; total time= 37.0s\n", - " 44/103 [===========>..................] - ETA: 2s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.01, num_1=100; total time= 37.1s\n", - " 4/103 [>.............................] - ETA: 11s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.01, num_1=80; total time= 37.1s\n", - " 11/103 [==>...........................] - ETA: 3s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.01, num_1=80; total time= 37.9s\n", - " 19/103 [====>.........................] - ETA: 3s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.01, num_1=100; total time= 37.1s\n", - " 46/103 [============>.................] - ETA: 2s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.001, num_1=60; total time= 36.9s\n", - "103/103 [==============================] - 5s 38ms/step\n", - "103/103 [==============================] - 5s 40ms/step\n", - "103/103 [==============================] - 5s 35ms/step\n", - "103/103 [==============================] - 4s 31ms/step\n", - "103/103 [==============================] - 4s 29ms/step\n", - "103/103 [==============================] - 3s 27ms/step\n", - "103/103 [==============================] - 3s 24ms/step\n", + "[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.01, num_1=80; total time= 32.5s\n", + " 19/103 [====>.........................] - ETA: 3s[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.01, num_1=100; total time= 33.5s\n", + " 71/103 [===================>..........] - ETA: 1s[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.001, num_1=60; total time= 33.2s\n", + "103/103 [==============================] - 4s 32ms/step\n", + " 36/103 [=========>....................] - ETA: 1s[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.01, num_1=80; total time= 35.0s\n", + " 13/103 [==>...........................] - ETA: 1s[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.01, num_1=100; total time= 34.7s\n", + "103/103 [==============================] - 3s 28ms/step\n", + " 59/103 [================>.............] - ETA: 1s[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.01, num_1=100; total time= 34.3s\n", + "103/103 [==============================] - 3s 23ms/step\n", + "103/103 [==============================] - 2s 19ms/step..] - ETA: \n", "103/103 [==============================] - 2s 18ms/step\n", - "[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.001, num_1=60; total time= 40.3s\n", - " 28/103 [=======>......................] - ETA: 2s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.001, num_1=60; total time= 41.3s\n", - " 35/103 [=========>....................] - ETA: 2s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.001, num_1=80; total time= 40.6s\n", - " 54/103 [==============>...............] - ETA: 1s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.001, num_1=80; total time= 41.2s\n", - " 41/103 [==========>...................] - ETA: 1s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.001, num_1=80; total time= 41.5s\n", - " 43/103 [===========>..................] - ETA: 1s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.001, num_1=100; total time= 40.6s\n", - " 31/103 [========>.....................] - ETA: 1s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.001, num_1=100; total time= 40.9s\n", - " 36/103 [=========>....................] - ETA: 1s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.001, num_1=100; total time= 40.8s\n", + "103/103 [==============================] - 2s 18ms/step\n", + "[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.001, num_1=60; total time= 31.2s\n", + " 1/103 [..............................] - ETA: 24s[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.001, num_1=60; total time= 31.6s\n", + "103/103 [==============================] - 1s 13ms/step\n", + "103/103 [==============================] - 2s 14ms/step\n", + "[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.001, num_1=80; total time= 38.8s\n", + " 38/103 [==========>...................] - ETA: 2s[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.001, num_1=80; total time= 37.8s\n", + " 48/103 [============>.................] - ETA: 2s[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.001, num_1=80; total time= 37.6s\n", + " 53/103 [==============>...............] - ETA: 1s[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.001, num_1=100; total time= 38.0s\n", + "103/103 [==============================] - 4s 40ms/step\n", + " 25/103 [======>.......................] - ETA: 2s[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.001, num_1=100; total time= 38.0s\n", + "103/103 [==============================] - 4s 34ms/step\n", + " 24/103 [=====>........................] - ETA: 2s[CV] END dropout_rate=0.6, filter=36, kernel=4, lr=0.001, num_1=100; total time= 38.3s\n", "103/103 [==============================] - 4s 33ms/step\n", - "103/103 [==============================] - 3s 31ms/step\n", - "103/103 [==============================] - 4s 29ms/step\n", - "103/103 [==============================] - 3s 27ms/step\n", "103/103 [==============================] - 3s 25ms/step\n", - "103/103 [==============================] - 3s 24ms/step\n", - "103/103 [==============================] - 3s 24ms/step\n", - "103/103 [==============================] - 3s 24ms/step\n", - "[CV] END dropout_rate=0.6, filter=36, kernel=6, lr=0.01, num_1=60; total time= 39.2s\n", - " 7/103 [=>............................] - ETA: 2s[CV] END dropout_rate=0.6, filter=36, kernel=6, lr=0.01, num_1=60; total time= 39.0s\n", - " 12/103 [==>...........................] - ETA: 2s[CV] END dropout_rate=0.6, filter=36, kernel=6, lr=0.01, num_1=80; total time= 39.0s\n", - " 22/103 [=====>........................] - ETA: 3s[CV] END dropout_rate=0.6, filter=36, kernel=6, lr=0.01, num_1=60; total time= 39.1s\n", - " 29/103 [=======>......................] - ETA: 2s[CV] END dropout_rate=0.6, filter=36, kernel=6, lr=0.01, num_1=100; total time= 39.1s\n", - " 24/103 [=====>........................] - ETA: 3s[CV] END dropout_rate=0.6, filter=36, kernel=6, lr=0.01, num_1=80; total time= 39.3s\n", - " 50/103 [=============>................] - ETA: 2s[CV] END dropout_rate=0.6, filter=36, kernel=6, lr=0.01, num_1=80; total time= 39.2s\n", - " 38/103 [==========>...................] - ETA: 2s[CV] END dropout_rate=0.6, filter=36, kernel=6, lr=0.01, num_1=100; total time= 39.1s\n", - "103/103 [==============================] - 4s 35ms/step\n", - "103/103 [==============================] - 4s 36ms/step\n", - "103/103 [==============================] - 4s 35ms/step\n", + "103/103 [==============================] - 2s 20ms/step\n", + " 95/103 [==========================>...] - ETA: 0s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.01, num_1=60; total time= 39.6s\n", + " 1/103 [..............................] - ETA: 11s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.01, num_1=60; total time= 39.6s\n", + "103/103 [==============================] - 2s 18ms/step\n", + "103/103 [==============================] - 2s 19ms/step\n", + "103/103 [==============================] - 2s 21ms/step\n", + "[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.01, num_1=60; total time= 44.1s\n", + " 43/103 [===========>..................] - ETA: 3s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.01, num_1=80; total time= 44.9s\n", + " 47/103 [============>.................] - ETA: 2s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.01, num_1=80; total time= 44.3s\n", + " 55/103 [===============>..............] - ETA: 2s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.01, num_1=100; total time= 44.3s\n", + "103/103 [==============================] - 5s 42ms/step\n", + " 44/103 [===========>..................] - ETA: 2s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.01, num_1=80; total time= 44.7s\n", + "103/103 [==============================] - 4s 32ms/step\n", + " 49/103 [=============>................] - ETA: 1s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.01, num_1=100; total time= 44.8s\n", "103/103 [==============================] - 4s 33ms/step\n", - "103/103 [==============================] - 3s 29ms/step\n", + "103/103 [==============================] - 3s 30ms/step\n", + " 27/103 [======>.......................] - ETA: 1s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.001, num_1=60; total time= 44.7s\n", + "103/103 [==============================] - 3s 23ms/step\n", + " 52/103 [==============>...............] - ETA: 0s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.01, num_1=100; total time= 45.1s\n", + "103/103 [==============================] - 2s 19ms/step\n", + "103/103 [==============================] - 2s 17ms/step\n", + "103/103 [==============================] - 2s 20ms/step\n", + "[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.001, num_1=60; total time= 49.2s\n", + "103/103 [==============================] - 5s 45ms/step\n", + "[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.001, num_1=80; total time= 48.5s\n", + " 1/103 [..............................] - ETA: 36s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.001, num_1=80; total time= 49.2s\n", + " 5/103 [>.............................] - ETA: 3s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.001, num_1=60; total time= 49.4s\n", + " 44/103 [===========>..................] - ETA: 2s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.001, num_1=80; total time= 49.1s\n", + "103/103 [==============================] - 4s 37ms/step\n", + "103/103 [==============================] - 4s 38ms/step\n", + "103/103 [==============================] - 4s 40ms/step\n", + " 67/103 [==================>...........] - ETA: 1s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.001, num_1=100; total time= 49.5s\n", + "103/103 [==============================] - 4s 38ms/step\n", + " 92/103 [=========================>....] - ETA: 0s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.001, num_1=100; total time= 48.0s\n", "103/103 [==============================] - 3s 26ms/step\n", + " 30/103 [=======>......................] - ETA: 1s[CV] END dropout_rate=0.6, filter=36, kernel=5, lr=0.001, num_1=100; total time= 49.1s\n", + "103/103 [==============================] - 3s 23ms/step\n", "103/103 [==============================] - 3s 24ms/step\n", - "103/103 [==============================] - 3s 25ms/step\n", - "[CV] END dropout_rate=0.6, filter=36, kernel=6, lr=0.001, num_1=60; total time= 43.5s\n", - " 10/103 [=>............................] - ETA: 0s[CV] END dropout_rate=0.6, filter=36, kernel=6, lr=0.01, num_1=100; total time= 44.6s\n", - "103/103 [==============================] - 1s 8ms/step\n", - "103/103 [==============================] - 1s 8ms/step\n", - "Best score is 0.62 using {'dropout_rate': 0.4, 'filter': 24, 'kernel': 6, 'lr': 0.001, 'num_1': 100}\n" + "[CV] END dropout_rate=0.6, filter=36, kernel=6, lr=0.01, num_1=60; total time= 40.0s\n", + "103/103 [==============================] - 6s 52ms/step\n", + "[CV] END dropout_rate=0.6, filter=36, kernel=6, lr=0.01, num_1=60; total time= 42.7s\n", + " 4/103 [>.............................] - ETA: 1s [CV] END dropout_rate=0.6, filter=36, kernel=6, lr=0.01, num_1=80; total time= 42.4s\n", + " 13/103 [==>...........................] - ETA: 3s[CV] END dropout_rate=0.6, filter=36, kernel=6, lr=0.01, num_1=60; total time= 43.1s\n", + " 20/103 [====>.........................] - ETA: 2s[CV] END dropout_rate=0.6, filter=36, kernel=6, lr=0.01, num_1=80; total time= 43.3s\n", + "103/103 [==============================] - 3s 30ms/step\n", + "103/103 [==============================] - 3s 31ms/step\n", + " 99/103 [===========================>..] - ETA: 0s[CV] END dropout_rate=0.6, filter=36, kernel=6, lr=0.01, num_1=80; total time= 44.1s\n", + "103/103 [==============================] - 3s 29ms/step\n", + "103/103 [==============================] - 3s 27ms/step\n", + " 31/103 [========>.....................] - ETA: 1s[CV] END dropout_rate=0.6, filter=36, kernel=6, lr=0.01, num_1=100; total time= 45.8s\n", + " 1/103 [..............................] - ETA: 11s[CV] END dropout_rate=0.6, filter=36, kernel=6, lr=0.01, num_1=100; total time= 45.0s\n", + "103/103 [==============================] - 2s 18ms/step\n", + "103/103 [==============================] - 2s 15ms/step\n", + "103/103 [==============================] - 2s 15ms/step\n", + "[CV] END dropout_rate=0.6, filter=36, kernel=6, lr=0.01, num_1=100; total time= 49.5s\n", + "103/103 [==============================] - 1s 11ms/step\n", + "[CV] END dropout_rate=0.6, filter=36, kernel=6, lr=0.001, num_1=60; total time= 51.3s\n", + "103/103 [==============================] - 1s 5ms/step\n", + "Best score is 0.63 using {'dropout_rate': 0.5, 'filter': 36, 'kernel': 5, 'lr': 0.001, 'num_1': 80}\n" ] } ], "source": [ - "from sklearn.model_selection import GridSearchCV\n", + "# Gridsearch\n", "\n", - "def CNN_model(embedding = 200, filter = 16, kernel = 4, num_1 = 40, lr = 0.01, dropout_rate = 0.5):\n", + "def CNN_model_adj(embedding=200, filter=16, kernel=4, num_1=40, lr=0.01, dropout_rate=0.5):\n", " model = Sequential()\n", " model.add(layers.Embedding(input_dim=vocab_size, \n", " output_dim=embedding, \n", " input_length=maxlen))\n", - " model.add(Conv1D(filters = filter, kernel_size = kernel, activation='relu'))\n", + " model.add(Conv1D(filters=filter, kernel_size=kernel, activation=\"relu\"))\n", " model.add(MaxPooling1D(pool_size=2))\n", " model.add(layers.Flatten())\n", " model.add(layers.Dropout(dropout_rate))\n", - " model.add(layers.Dense(num_1, activation='relu'))\n", + " model.add(layers.Dense(num_1, activation='relu', kernel_regularizer=l2(0.001)))\n", " model.add(layers.Dense(1, activation='sigmoid'))\n", - " model.compile(optimizer= Adam(learning_rate = lr),\n", + " model.compile(optimizer=Adam(learning_rate=lr),\n", " loss='binary_crossentropy',\n", " metrics=['accuracy'])\n", " return model\n", "\n", - "model = CNN_model()\n", + "# Define early stopping callback\n", + "early_stopping = EarlyStopping(monitor='val_loss', patience=3, restore_best_weights=True)\n", "\n", "param_grid = {\n", " 'filter': [24, 36],\n", @@ -2420,10 +4467,10 @@ " 'dropout_rate': [0.4, 0.5, 0.6]\n", "}\n", "\n", - "model = KerasClassifier(build_fn=CNN_model, verbose=0)\n", + "model_adj = KerasClassifier(build_fn=CNN_model_adj, verbose=0)\n", "\n", "# Perform GridSearchCV\n", - "search = GridSearchCV(estimator=model, param_grid=param_grid, cv=3, n_jobs=-1, scoring='accuracy', verbose = 2)\n", + "search = GridSearchCV(estimator=model_adj, param_grid=param_grid, cv=3, n_jobs=-1, scoring='accuracy', verbose = 2)\n", "search_results = search.fit(X_train_2, y_train)\n", "\n", "# Get the best score and best parameters\n", @@ -2435,230 +4482,63 @@ }, { "cell_type": "code", - "execution_count": 30, - "id": "5aee8737-1e38-4da8-848e-794b81e3ba30", + "execution_count": 100, + "id": "b4ce72e6-4bfc-4d66-9dde-346282b85a6d", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Epoch 1/30\n", - "8/8 [==============================] - 3s 269ms/step - loss: 0.6876 - accuracy: 0.5537 - val_loss: 0.6832 - val_accuracy: 0.5818\n", - "Epoch 2/30\n", - "8/8 [==============================] - 2s 280ms/step - loss: 0.6798 - accuracy: 0.5714 - val_loss: 0.6781 - val_accuracy: 0.5767\n", - "Epoch 3/30\n", - "8/8 [==============================] - 2s 277ms/step - loss: 0.6687 - accuracy: 0.5978 - val_loss: 0.6699 - val_accuracy: 0.5869\n", - "Epoch 4/30\n", - "8/8 [==============================] - 2s 302ms/step - loss: 0.6410 - accuracy: 0.6515 - val_loss: 0.6607 - val_accuracy: 0.6047\n", - "Epoch 5/30\n", - "8/8 [==============================] - 2s 290ms/step - loss: 0.5844 - accuracy: 0.7276 - val_loss: 0.6434 - val_accuracy: 0.6363\n", - "Epoch 6/30\n", - "8/8 [==============================] - 2s 278ms/step - loss: 0.5024 - accuracy: 0.7731 - val_loss: 0.6409 - val_accuracy: 0.6566\n", - "Epoch 7/30\n", - "8/8 [==============================] - 2s 287ms/step - loss: 0.4178 - accuracy: 0.8177 - val_loss: 0.6900 - val_accuracy: 0.6353\n", - "Epoch 8/30\n", - "8/8 [==============================] - 2s 293ms/step - loss: 0.3461 - accuracy: 0.8493 - val_loss: 0.7038 - val_accuracy: 0.6322\n", - "Epoch 9/30\n", - "8/8 [==============================] - 2s 315ms/step - loss: 0.2732 - accuracy: 0.8917 - val_loss: 0.7492 - val_accuracy: 0.6307\n", - "Epoch 10/30\n", - "8/8 [==============================] - 2s 287ms/step - loss: 0.2264 - accuracy: 0.9131 - val_loss: 0.8101 - val_accuracy: 0.6296\n", - "Epoch 11/30\n", - "8/8 [==============================] - 2s 280ms/step - loss: 0.1875 - accuracy: 0.9301 - val_loss: 0.8767 - val_accuracy: 0.6312\n", - "Epoch 12/30\n", - "8/8 [==============================] - 2s 302ms/step - loss: 0.1601 - accuracy: 0.9390 - val_loss: 0.9371 - val_accuracy: 0.6302\n", - "Epoch 13/30\n", - "8/8 [==============================] - 3s 338ms/step - loss: 0.1320 - accuracy: 0.9502 - val_loss: 1.0074 - val_accuracy: 0.6286\n", - "Epoch 14/30\n", - "8/8 [==============================] - 2s 299ms/step - loss: 0.1110 - accuracy: 0.9587 - val_loss: 1.0674 - val_accuracy: 0.6261\n", - "Epoch 15/30\n", - "8/8 [==============================] - 3s 336ms/step - loss: 0.0994 - accuracy: 0.9633 - val_loss: 1.1482 - val_accuracy: 0.6302\n", - "Epoch 16/30\n", - "8/8 [==============================] - 3s 346ms/step - loss: 0.0908 - accuracy: 0.9648 - val_loss: 1.1953 - val_accuracy: 0.6271\n", - "Epoch 17/30\n", - "8/8 [==============================] - 3s 415ms/step - loss: 0.0784 - accuracy: 0.9715 - val_loss: 1.2377 - val_accuracy: 0.6220\n", - "Epoch 18/30\n", - "8/8 [==============================] - 3s 305ms/step - loss: 0.0726 - accuracy: 0.9711 - val_loss: 1.3077 - val_accuracy: 0.6184\n", - "Epoch 19/30\n", - "8/8 [==============================] - 3s 330ms/step - loss: 0.0657 - accuracy: 0.9745 - val_loss: 1.3778 - val_accuracy: 0.6184\n", - "Epoch 20/30\n", - "8/8 [==============================] - 2s 296ms/step - loss: 0.0600 - accuracy: 0.9754 - val_loss: 1.4141 - val_accuracy: 0.6225\n", - "Epoch 21/30\n", - "8/8 [==============================] - 2s 291ms/step - loss: 0.0575 - accuracy: 0.9778 - val_loss: 1.4734 - val_accuracy: 0.6169\n", - "Epoch 22/30\n", - "8/8 [==============================] - 2s 288ms/step - loss: 0.0518 - accuracy: 0.9809 - val_loss: 1.5115 - val_accuracy: 0.6205\n", - "Epoch 23/30\n", - "8/8 [==============================] - 2s 295ms/step - loss: 0.0505 - accuracy: 0.9795 - val_loss: 1.5748 - val_accuracy: 0.6164\n", - "Epoch 24/30\n", - "8/8 [==============================] - 2s 304ms/step - loss: 0.0448 - accuracy: 0.9833 - val_loss: 1.6327 - val_accuracy: 0.6159\n", - "Epoch 25/30\n", - "8/8 [==============================] - 3s 314ms/step - loss: 0.0463 - accuracy: 0.9819 - val_loss: 1.6520 - val_accuracy: 0.6179\n", - "Epoch 26/30\n", - "8/8 [==============================] - 3s 332ms/step - loss: 0.0434 - accuracy: 0.9834 - val_loss: 1.6744 - val_accuracy: 0.6179\n", - "Epoch 27/30\n", - "8/8 [==============================] - 3s 338ms/step - loss: 0.0413 - accuracy: 0.9837 - val_loss: 1.7296 - val_accuracy: 0.6225\n", - "Epoch 28/30\n", - "8/8 [==============================] - 3s 323ms/step - loss: 0.0383 - accuracy: 0.9843 - val_loss: 1.8094 - val_accuracy: 0.6159\n", - "Epoch 29/30\n", - "8/8 [==============================] - 3s 313ms/step - loss: 0.0391 - accuracy: 0.9837 - val_loss: 1.7556 - val_accuracy: 0.6179\n", - "Epoch 30/30\n", - "8/8 [==============================] - 3s 313ms/step - loss: 0.0383 - accuracy: 0.9838 - val_loss: 1.8367 - val_accuracy: 0.6220\n", - "WARNING:tensorflow:Model was constructed with shape (None, 200) for input KerasTensor(type_spec=TensorSpec(shape=(None, 200), dtype=tf.float32, name='embedding_3_input'), name='embedding_3_input', description=\"created by layer 'embedding_3_input'\"), but it was called on an input with incompatible shape (None, 1).\n" - ] - }, - { - "ename": "ValueError", - "evalue": "in user code:\n\n File \"/opt/anaconda3/envs/testenv/lib/python3.9/site-packages/keras/engine/training.py\", line 1820, in test_function *\n return step_function(self, iterator)\n File \"/opt/anaconda3/envs/testenv/lib/python3.9/site-packages/keras/engine/training.py\", line 1804, in step_function **\n outputs = model.distribute_strategy.run(run_step, args=(data,))\n File \"/opt/anaconda3/envs/testenv/lib/python3.9/site-packages/keras/engine/training.py\", line 1792, in run_step **\n outputs = model.test_step(data)\n File \"/opt/anaconda3/envs/testenv/lib/python3.9/site-packages/keras/engine/training.py\", line 1756, in test_step\n y_pred = self(x, training=False)\n File \"/opt/anaconda3/envs/testenv/lib/python3.9/site-packages/keras/utils/traceback_utils.py\", line 70, in error_handler\n raise e.with_traceback(filtered_tb) from None\n\n ValueError: Exception encountered when calling layer 'conv1d_3' (type Conv1D).\n \n Negative dimension size caused by subtracting 6 from 1 for '{{node sequential_3/conv1d_3/Conv1D}} = Conv2D[T=DT_FLOAT, data_format=\"NHWC\", dilations=[1, 1, 1, 1], explicit_paddings=[], padding=\"VALID\", strides=[1, 1, 1, 1], use_cudnn_on_gpu=true](sequential_3/conv1d_3/Conv1D/ExpandDims, sequential_3/conv1d_3/Conv1D/ExpandDims_1)' with input shapes: [?,1,1,200], [1,6,200,24].\n \n Call arguments received by layer 'conv1d_3' (type Conv1D):\n • inputs=tf.Tensor(shape=(None, 1, 200), dtype=float32)\n", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[30], line 6\u001b[0m\n\u001b[1;32m 3\u001b[0m best_model\u001b[38;5;241m.\u001b[39mfit(X_train_2, y_train, epochs\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m30\u001b[39m, batch_size\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m1000\u001b[39m, validation_split\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m0.2\u001b[39m)\n\u001b[1;32m 5\u001b[0m \u001b[38;5;66;03m# Evaluate the model on the test data\u001b[39;00m\n\u001b[0;32m----> 6\u001b[0m test_loss, test_accuracy \u001b[38;5;241m=\u001b[39m \u001b[43mbest_model\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mevaluate\u001b[49m\u001b[43m(\u001b[49m\u001b[43mX_test\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43my_test\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 8\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mTest Accuracy:\u001b[39m\u001b[38;5;124m\"\u001b[39m, test_accuracy)\n", - "File \u001b[0;32m/opt/anaconda3/envs/testenv/lib/python3.9/site-packages/keras/utils/traceback_utils.py:70\u001b[0m, in \u001b[0;36mfilter_traceback..error_handler\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 67\u001b[0m filtered_tb \u001b[38;5;241m=\u001b[39m _process_traceback_frames(e\u001b[38;5;241m.\u001b[39m__traceback__)\n\u001b[1;32m 68\u001b[0m \u001b[38;5;66;03m# To get the full stack trace, call:\u001b[39;00m\n\u001b[1;32m 69\u001b[0m \u001b[38;5;66;03m# `tf.debugging.disable_traceback_filtering()`\u001b[39;00m\n\u001b[0;32m---> 70\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m e\u001b[38;5;241m.\u001b[39mwith_traceback(filtered_tb) \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 71\u001b[0m \u001b[38;5;28;01mfinally\u001b[39;00m:\n\u001b[1;32m 72\u001b[0m \u001b[38;5;28;01mdel\u001b[39;00m filtered_tb\n", - "File \u001b[0;32m/var/folders/hs/br_4rpdj68nc3sfdpgv0xgn80000gn/T/__autograph_generated_fileip0kxi24.py:15\u001b[0m, in \u001b[0;36mouter_factory..inner_factory..tf__test_function\u001b[0;34m(iterator)\u001b[0m\n\u001b[1;32m 13\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m 14\u001b[0m do_return \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mTrue\u001b[39;00m\n\u001b[0;32m---> 15\u001b[0m retval_ \u001b[38;5;241m=\u001b[39m ag__\u001b[38;5;241m.\u001b[39mconverted_call(ag__\u001b[38;5;241m.\u001b[39mld(step_function), (ag__\u001b[38;5;241m.\u001b[39mld(\u001b[38;5;28mself\u001b[39m), ag__\u001b[38;5;241m.\u001b[39mld(iterator)), \u001b[38;5;28;01mNone\u001b[39;00m, fscope)\n\u001b[1;32m 16\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m:\n\u001b[1;32m 17\u001b[0m do_return \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mFalse\u001b[39;00m\n", - "\u001b[0;31mValueError\u001b[0m: in user code:\n\n File \"/opt/anaconda3/envs/testenv/lib/python3.9/site-packages/keras/engine/training.py\", line 1820, in test_function *\n return step_function(self, iterator)\n File \"/opt/anaconda3/envs/testenv/lib/python3.9/site-packages/keras/engine/training.py\", line 1804, in step_function **\n outputs = model.distribute_strategy.run(run_step, args=(data,))\n File \"/opt/anaconda3/envs/testenv/lib/python3.9/site-packages/keras/engine/training.py\", line 1792, in run_step **\n outputs = model.test_step(data)\n File \"/opt/anaconda3/envs/testenv/lib/python3.9/site-packages/keras/engine/training.py\", line 1756, in test_step\n y_pred = self(x, training=False)\n File \"/opt/anaconda3/envs/testenv/lib/python3.9/site-packages/keras/utils/traceback_utils.py\", line 70, in error_handler\n raise e.with_traceback(filtered_tb) from None\n\n ValueError: Exception encountered when calling layer 'conv1d_3' (type Conv1D).\n \n Negative dimension size caused by subtracting 6 from 1 for '{{node sequential_3/conv1d_3/Conv1D}} = Conv2D[T=DT_FLOAT, data_format=\"NHWC\", dilations=[1, 1, 1, 1], explicit_paddings=[], padding=\"VALID\", strides=[1, 1, 1, 1], use_cudnn_on_gpu=true](sequential_3/conv1d_3/Conv1D/ExpandDims, sequential_3/conv1d_3/Conv1D/ExpandDims_1)' with input shapes: [?,1,1,200], [1,6,200,24].\n \n Call arguments received by layer 'conv1d_3' (type Conv1D):\n • inputs=tf.Tensor(shape=(None, 1, 200), dtype=float32)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[CV] END dropout_rate=0.6, filter=36, kernel=6, lr=0.001, num_1=60; total time= 43.6s\n", - "[CV] END dropout_rate=0.6, filter=36, kernel=6, lr=0.001, num_1=60; total time= 44.2s\n", - "[CV] END dropout_rate=0.6, filter=36, kernel=6, lr=0.001, num_1=80; total time= 43.6s\n", - "[CV] END dropout_rate=0.6, filter=36, kernel=6, lr=0.001, num_1=80; total time= 43.7s\n", - "[CV] END dropout_rate=0.6, filter=36, kernel=6, lr=0.001, num_1=100; total time= 43.7s\n", - "[CV] END dropout_rate=0.6, filter=36, kernel=6, lr=0.001, num_1=80; total time= 43.8s\n" + "Training Accuracy: 0.9886\n", + "Testing Accuracy: 0.6002\n" ] } ], "source": [ - "best_model = CNN_model(num_1=best_params['num_1'], lr=best_params['lr'],\n", - " kernel = best_params[\"kernel\"], filter = best_params[\"filter\"], dropout_rate = best_params[\"dropout_rate\"])\n", - "best_model.fit(X_train_2, y_train, epochs=30, batch_size=1000, validation_split=0.2)\n", - "\n", - "# Evaluate the model on the test data\n", - "test_loss, test_accuracy = best_model.evaluate(X_test, y_test)\n", - "\n", - "print(\"Test Accuracy:\", test_accuracy)" - ] - }, - { - "cell_type": "markdown", - "id": "cf7d13b4", - "metadata": {}, - "source": [ - "### Bert Model" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7fce4dce", - "metadata": {}, - "outputs": [], - "source": [ - "from transformers import BertTokenizer, TFBertForSequenceClassification\n", - "from tensorflow.keras.layers import Input" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "450229d7-5cc1-4988-920b-7d2322fa82f6", - "metadata": {}, - "outputs": [], - "source": [ - "# Import the model\n", - "\n", - "model_name = 'bert-base-uncased'\n", - "tokenizer = BertTokenizer.from_pretrained(model_name)\n", - "model = TFBertForSequenceClassification.from_pretrained(model_name)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "408a87e0-2bd3-4e25-b6d2-b58a0628d4ae", - "metadata": {}, - "outputs": [], - "source": [ - "# Tokenize the Data\n", + "# Why is accuracy lower?\n", "\n", - "def tokenize_text(text):\n", - " return tokenizer(text, padding='max_length', truncation=True, max_length=200, return_tensors='tf')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c28d246c-e7dd-421b-b364-f619732eb050", - "metadata": {}, - "outputs": [], - "source": [ - "X = df['Comment'].tolist()\n", - "y = df['Result_Bin'].values" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "68c65162-951c-4255-b3e5-ca3ea3601791", - "metadata": {}, - "outputs": [], - "source": [ - "X_train, X_val, y_train, y_val = train_test_split(X, y, test_size=0.2, random_state=42)\n", + "best_model_adj = CNN_model_adj(num_1 = 80, lr = 0.001,\n", + " kernel = 5, filter = 36, dropout_rate = 0.5)\n", "\n", - "X_train_tokens = tokenizer(X_train, padding=True, truncation=True, max_length=200, return_tensors='tf')\n", - "X_val_tokens = tokenizer(X_val, padding=True, truncation=True, max_length=200, return_tensors='tf')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "fc86009f-9a80-46db-aa58-7a1dbde20977", - "metadata": {}, - "outputs": [], - "source": [ - "input_ids = Input(shape=(200,), dtype='int32')\n", - "attention_mask = Input(shape=(200,), dtype='int32')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5581727c-1fde-4555-9a0f-2bf055cf2d1d", - "metadata": {}, - "outputs": [], - "source": [ - "bert_output = model(input_ids, attention_mask=attention_mask)[0]\n", - "pooled_output = GlobalMaxPooling1D()(bert_output)\n", - "pooled_output = Dropout(0.1)(pooled_output)\n", - "output = Dense(1, activation='sigmoid')(pooled_output)\n", + "history = best_model_adj.fit(X_train_2, y_train,\n", + " epochs=30,\n", + " verbose=False,\n", + " validation_data=(X_test_2, y_test),\n", + " batch_size=1000)\n", "\n", - "model = Model(inputs=[input_ids, attention_mask], outputs=output)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5d98cbc0-58f1-48df-982e-23d2ad405cb4", - "metadata": {}, - "outputs": [], - "source": [ - "model.compile(optimizer=Adam(learning_rate=2e-5), loss='binary_crossentropy', metrics=['accuracy'])" + "# Evaluate the model on the test data\n", + "loss, accuracy = best_model_adj.evaluate(X_train_2, y_train, verbose=False)\n", + "print(\"Training Accuracy: {:.4f}\".format(accuracy))\n", + "loss, accuracy = best_model_adj.evaluate(X_test_2, y_test, verbose=False)\n", + "print(\"Testing Accuracy: {:.4f}\".format(accuracy))" ] }, { "cell_type": "code", - "execution_count": null, - "id": "d3a943b2-8a12-4489-bf9b-cb0d406ada8b", + "execution_count": 101, + "id": "4dfadce6-864f-4661-b362-2c60075737f9", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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aa2JkNxDDz2k5cuX69SpU4qOjtbhw4f1+eefZ1+AYFnSlSv23NL4GV6rePHiibfg4GA5HI7Ex1FRUSpQoIDmzZun5s2bK2/evPrss8907tw5PfjggypVqpT8/f1VrVo1ffnllynO27x5cw0ZMiTxcbly5fTmm2+qf//+CgwMVJkyZTRlypTE1w8ePCiHw6Hff/9dkrRq1So5HA6tXLlSdevWlb+/vxo1apQi4JCk119/XUWLFlVgYKAGDhyoF198MUPTIaZPn6727dvriSee0Ny5c3XlypUUr1+8eFGPPvqoihUrprx58+qOO+7Q4sWLE19fv369mjVrJn9/f4WEhKh169a6cOFC4me9dhpHzZo1U/yZdTgc+uijj9SxY0cFBATo9ddfV1xcnAYMGKDy5csrX758qlSpkt59991UtU+bNk1Vq1aVn5+fSpQoocGDB0uS+vfvr/bt26c4NjY2VsWLF9e0adPS/ZkAAAAAyFk8OkTIlSIipPz57blFRLjsY7zwwgv6v//7P+3atUutW7dWVFSU6tSpo8WLF+uPP/7Qo48+qocffli//PLLDc8zYcIE1a1bV9u2bdOTTz6pJ554Qrt3777he1566SVNmDBBW7ZskY+Pj/r375/42ueff6433nhDb7/9trZu3aoyZcpo8uTJ6X4ey7I0ffp09e7dW7fffrsqVqyoefPmJb4eHx+vNm3aaMOGDfrss8/0119/acyYMfL29pYk/f7772rZsqWqVq2qjRs3at26derQoUOqRTzT89prr6ljx47auXOn+vfvr/j4eJUqVUrz5s3TX3/9pVdffVUjR45MUdvkyZP11FNP6dFHH9XOnTu1aNEihYaGSpIGDhyoH374IcXokqVLl+ry5cvq3r17pmoDAAAA4PmYzgBbDBkyRJ07d07xXMIuGJL09NNP64cfftBXX32lBg0apHmetm3b6sknn5RkgomJEydq1apVuv3229N8zxtvvKFmzZpJkl588UW1a9dOUVFRyps3r95//30NGDBAjzzyiCTp1Vdf1fLly3X58uUbfp4VK1YoIiJCrVu3liT17t1bU6dOTTzPihUr9Ouvv2rXrl2qWLGiJKlChQqJ7x87dqzq1q2rDz/8MPG5qlWr3rDP63nooYdShCKSNHr06MR2+fLltWHDBs2bNy8xBHj99dc1bNgwPfPMM4nH1atXT5LUqFEjVapUSbNnz9bw4cMlmREX3bp1U/78+TNdHwAAAADPxkgET+PvL12+bM/N399lH6Nu3bopHsfFxemNN95Q9erVVahQIeXPn1/Lly9P3PUiLdWrV09sJ0ybOH36dIbfU6JECUlKfM+ePXtUv379FMdf+/h6pk6dqh49esjHx+RyDz74oH755ZfEqRK///67SpUqlRggXCthJIKzrv25StJHH32kunXrqkiRIsqfP78++eSTxJ/r6dOndfz48Rv2PXDgQE2fPj3x+CVLlqQKKgAAAADkDoxE8DQOhxQQYHcVTgu45jNMmDBBEydO1KRJk1StWjUFBARoyJAhiomJueF5rl040OFwKD4+PsPvSdhJIvl7rt1dIq31NBKcP39e33zzja5evZpi6kNcXJymTZumt99+O9ViktdK73UvL69UdVy9ejXVcdf+XOfNm6dnn31WEyZMUMOGDRUYGKhx48YlThNJr19J6tOnj1588UVt3LhRGzduVLly5dSkSZN03wcAAAAg52EkAtzC2rVr1bFjR/Xu3Vs1atRQhQoV9M8//2R7HZUqVdKvv/6a4rktW7bc8D2ff/65SpUqpe3bt+v3339PvE2aNEkzZ85UbGysqlevrqNHj+rvv/++7jmqV6+ulStXptlHkSJFUqxLEB4ergMHDqT7edauXatGjRrpySefVK1atRQaGqp9+/Ylvh4YGKhy5crdsO9ChQqpU6dOmj59uqZPn544RQMAAABA7sNIBLiF0NBQzZ8/Xxs2bFBISIjeeecdnTx5UpUrV87WOp5++mkNGjRIdevWVaNGjTR37lzt2LEjxfoF15o6daq6du2qO+64I8XzZcuW1QsvvKAlS5aoY8eOatq0qbp06aJ33nlHoaGh2r17txwOh+677z6NGDFC1apV05NPPqnHH39cvr6++vnnn9WtWzcVLlxYd999t2bMmKEOHTooJCREr7zySuKijDcSGhqqWbNmadmyZSpfvrxmz56tzZs3q3z58onHjBo1So8//riKFi2qNm3a6NKlS1q/fr2efvrpxGMGDhyo9u3bKy4uTn379r2JnywAAACAnICRCHALr7zyimrXrq3WrVurefPmKl68uDp16pTtdfTq1UsjRozQc889p9q1a+vAgQPq16+f8ubNe93jt27dqu3bt6tLly6pXgsMDNS9996rqVOnSpLmz5+vevXq6cEHH1SVKlU0fPjwxN0XKlasqOXLl2v79u2qX7++GjZsqG+//TZxjYURI0aoadOmat++vdq2batOnTrp1ltvTffzPP744+rcubN69OihBg0a6Ny5c4kLUSbo27evJk2apA8//FBVq1ZV+/btU40CadWqlUqUKKHWrVurZMmS6f8gAQAAAORIDiu9Cd/IUuHh4QoODlZYWJiCgoJSvBYVFaUDBw6ofPnyaV7EIuvdc889Kl68uGbPnm13KbaJiIhQyZIlNW3atFS7argCf9YBAACA7HOj69D0MJ0BSCYiIkIfffSRWrduLW9vb3355ZdasWKFfvzxR7tLs0V8fLxOnjypCRMmKDg4WPfff7/dJQEAAACwESECkIzD4dDSpUv1+uuvKzo6WpUqVdL8+fPVqlUru0uzxeHDh1W+fHmVKlVKM2bMSJxeAQAAALgdy5LCw6WzZ6Vz58z91atS3rxSvnzmPq1bnjxmJzykiysCIJl8+fJpxYoVdpfhNsqVK5fuFpcAAACAy8XHSxcvJoUBGbk/d06Kjb25/hyOG4cM17vdKJjo3FkqVMilPxJ3QYgAAAAAAEhiWUm3+PiUj515Pjw846HA+fPmPTfD318qXNhcxPv6SlFR179FR6f8zJGR5uYKDRsSIgAAAAAA3FhMjHT6tHTyZMrbiRMpH58+bY693sW/uwkMNBfjCaFAeveFCpkRAhkRH29+DmmFDM7cQkKy9udiI0IEAAAAAHBXlmW+lU8vGDh50nyL744cDnPLTCBQuLBUsKDk55d1dXl5JU0/QIYRIgAAAADIfWJjpaNHpQMHzG3/funUKXOx6+MjeXubW0L72vsbvZaZ90vSmTNpBwOnTpnFATPKx0cqVkwqXtzcSpRIaifcihUzF+cJF/cJNy+v1M9l5LX0XkeOQogAAAAAIOexLDO3fv/+lEFBQvvw4ZtfhM8OBQumDgOuFxAULGgu6IEsQogAAAAA5AaWZRaSi4kx92ndrve6l5cUFJR0CwxMagcE2Pdt85Ur1w8IEtpXrtz4/b6+UtmyUvny5nbLLeazxMZKcXFp39/otYwck7wdHy8VKZI6DEgeEhQtmrXD+oFMIESA22revLlq1qypSZMmSTLbDQ4ZMkRDhgxJ8z0Oh0MLFy5Up06dnOrbVecBAABwmmVJR45Iv/wibd5sFsXLTACQcMvMkPjM8PIyoULyYOHaoCGjz/n6pjz31avms18vKDhwwPws0nPLLUkhQfnyUoUKSe2SJc20AgAZRogAl+vQoYMiIyO1YsWKVK9t3LhRjRo10tatW1W7du1MnXfz5s0KCAhwVZmSpFGjRumbb77R77//nuL5EydOKCSbVlSNjIxUyZIl5XA4dOzYMeXL6GqyAAAgZ7p0SdqyxYQGmzaZ+5MnXd+Pj4/5dvtGN19fcx8XZ+oKD0+6Dw8336LHx0thYebmLD+/pFAhPt4ECHFxN35PgQIpg4HkQUHZsiyaB7gYIQJcbsCAAercubMOHTqksmXLpnht2rRpqlmzZqYDBEkqUqSIq0pMV/HixbOtr/nz5+uOO+6QZVlasGCBevXqlW19X8uyLMXFxcnHh38aAADIFnFx0p9/mqAg4fbnn6m32vP2lqpXlxo0kMqVy9iFf3rHODtv3rKkiIiUoULC7drn0nscEWHOmTBq4uzZpH78/MxnTisoKFDAuc8BIHMs2CosLMySZIWFhaV6LTIy0vrrr7+syMjIxOfi4y3r8mV7bvHxGftMV69etYoVK2aNGjUqxfNXrlyxAgMDrffff986e/as1bNnT+uWW26x8uXLZ91xxx3WF198keL4Zs2aWc8880zi47Jly1oTJ05MfPz3339bTZo0sfz8/KzKlStby5cvtyRZCxcuTDxm+PDh1m233Wbly5fPKl++vPXyyy9bMTExlmVZ1vTp0y1JKW7Tp0+3LMtKdZ4dO3ZYLVq0sPLmzWsVLFjQGjRokHXp0qXE1/v27Wt17NjRGjdunFW8eHGrYMGC1pNPPpnY1400b97c+uijj6zJkydbLVq0SPX6H3/8YbVt29YKDAy08ufPb911113W3r17E1+fOnWqVaVKFcvX19cqXry49dRTT1mWZVkHDhywJFnbtm1LPPbChQuWJOvnn3+2LMuyfv75Z0uS9cMPP1h16tSx8uTJY/3000/W3r17rfvvv98qWrSoFRAQYNWtW9f68ccfU9QVFRVlPf/881apUqUsX19fKzQ01Pr000+t+Ph469Zbb7XGjRuX4vidO3daDocjRe0JrvdnHQCAHOnYMctasMCyhg+3rGbNLCsgwLLM5XjKW5kyltWtm2WNH29Za9da1pUrdleeta5etawLFyzr0CHL2rnTstavt6x168zPKy7O7uqAHOdG16Hp4etGDxMRIeXPb0/fly+bdXPS4+Pjoz59+mjGjBl69dVX5fh3oZ2vvvpKMTEx6tWrlyIiIlSnTh298MILCgoK0pIlS/Twww+rQoUKatCgQbp9xMfHq3PnzipcuLA2bdqk8PDw666VEBgYqBkzZqhkyZLauXOnBg0apMDAQA0fPlw9evTQH3/8oR9++CFx6kVwcHCqc0REROi+++7TnXfeqc2bN+v06dMaOHCgBg8erBkzZiQe9/PPP6tEiRL6+eeftXfvXvXo0UM1a9bUoEGD0vwc+/bt08aNG7VgwQJZlqUhQ4Zo//79qlChgiTp2LFjatq0qZo3b66ffvpJQUFBWr9+vWL/XUl48uTJGjp0qMaMGaM2bdooLCxM69evT/fnd63hw4dr/PjxqlChggoUKKCjR4+qbdu2ev3115U3b17NnDlTHTp00J49e1SmTBlJUp8+fbRx40a99957qlGjhg4cOKCzZ8/K4XCof//+mj59up577rnEPqZNm6YmTZro1ltvzXR9AAB4pCtXpK1bU44yOHo09XH580v16plRBgm3EiWyv147+fiYEQWMKgDcn+szDWRGZkciXL58/bA6O26XL2f8c+3atcuSZP3000+JzzVt2tR68MEH03xP27ZtrWHDhiU+vtFIhGXLllne3t7WkSNHEl///vvvU40guNbYsWOtOnXqJD5+7bXXrBo1aqQ6Lvl5pkyZYoWEhFiXk/0AlixZYnl5eVknT560LMuMRChbtqwVGxubeEy3bt2sHj16pFmLZVnWyJEjrU6dOiU+7tixo/XSSy8lPh4xYoRVvnz5NEc0lCxZMsXxyWVmJMI333xzwzoty7KqVKlivf/++5ZlWdaePXssSalGJyQ4fvy45e3tbf3yyy+WZVlWTEyMVaRIEWvGjBnXPZ6RCAAAjxcXZ1l//mlZU6da1qOPWlaNGpbl7Z36FyovL8uqXt2yBg2yrE8/Nd+6J/v9AQCyAyMRchF/fzMiwK6+M+r2229Xo0aNNG3aNLVo0UL79u3T2rVrtXz5cklSXFycxowZo7lz5+rYsWOKjo5WdHR0hhdO3LVrl8qUKaNSpUolPtewYcNUx3399deaNGmS9u7dq8uXLys2NlZBQUEZ/yD/9lWjRo0UtTVu3Fjx8fHas2ePihUrJkmqWrWqvJOt7luiRAnt3LkzzfPGxcVp5syZevfddxOf6927t5599lmNHj1a3t7e+v3339WkSRPlyZMn1ftPnz6t48ePq2XLlpn6PNdTt27dFI+vXLmi0aNHa/HixTp+/LhiY2MVGRmpw4cPS5J+//13eXt7q1mzZtc9X4kSJdSuXTtNmzZN9evX1+LFixUVFaVu3bo5XSsAANkuPt6MKrh2Tv+FC9LvvyftmhAenvq9JUsmjS64806pTh37hpUCgAsQIngYhyNjUwrcwYABAzR48GB98MEHmj59usqWLZt4wTthwgRNnDhRkyZNUrVq1RQQEKAhQ4YoJiYmQ+e2rl1sSEqcNpFg06ZN6tmzp0aPHq3WrVsrODhYc+bM0YQJEzL1OSzLSnXu6/V57YW+w+FQfHx8muddtmyZjh07ph49eqR4Pi4uTsuXL1ebNm1uuFNDers4eP27WFLyn9XVNLZ2uja8ef7557Vs2TKNHz9eoaGhypcvn7p27Zr43ycjO0gMHDhQDz/8sCZOnKjp06erR48e8s9MEgUAgLOio2+8mF9GFvwLDzff4Fznd49U/P2lunVTTktI9oUHAOQEhAjIMt27d9czzzyjL774QjNnztSgQYMSL7rXrl2rjh07qnfv3pLMGgf//POPKleunKFzV6lSRYcPH9bx48dVsmRJSWb7yOTWr1+vsmXL6qWXXkp87tChQymO8fX1VVw62wZVqVJFM2fO1JUrVxIvttevXy8vLy9VrFgxQ/Vez9SpU9WzZ88U9UnSmDFjNHXqVLVp00bVq1fXzJkzdfXq1VQhRWBgoMqVK6eVK1eqRYsWqc6fsJvFiRMnVKtWLUlKtZVlWtauXat+/frpgQcekCRdvnxZBw8eTHy9WrVqio+P1+rVq9WqVavrnqNt27YKCAjQ5MmT9f3332vNmjUZ6hsAgFSioqQzZ8zt7Nm029eGARn8ciLDvL3N1oNBQUnbEFaqZEYYNGggVa1q5vYDQA7Gv3LIMvnz51ePHj00cuRIhYWFqV+/fomvhYaGav78+dqwYYNCQkL0zjvv6OTJkxkOEVq1aqVKlSqpT58+mjBhgsLDw1NdjIeGhurw4cOaM2eO6tWrpyVLlmjhwoUpjilXrpwOHDig33//XaVKlVJgYKD8/PxSHNOrVy+99tpr6tu3r0aNGqUzZ87o6aef1sMPP5w4lSGzzpw5o++++06LFi3SHXfckeK1vn37ql27djpz5owGDx6s999/Xz179tSIESMUHBysTZs2qX79+qpUqZJGjRqlxx9/XEWLFlWbNm106dIlrV+/Xk8//bTy5cunO++8U2PGjFG5cuV09uxZvfzyyxmqLzQ0VAsWLFCHDh3kcDj0yiuvpBhVUa5cOfXt21f9+/dPXFjx0KFDOn36tLp37y5J8vb2Vr9+/TRixAiFhoZed7oJACAXsiwpLCx1CHCjgODKFef6DAhIuvi/NgTIzON8+cywUADIxQgRkKUGDBigqVOn6t57701c1V+SXnnlFR04cECtW7eWv7+/Hn30UXXq1ElhYWEZOq+Xl5cWLlyoAQMGqH79+ipXrpzee+893XfffYnHdOzYUc8++6wGDx6s6OhotWvXTq+88opGjRqVeEyXLl20YMECtWjRQhcvXtT06dNThB2S5O/vr2XLlumZZ55RvXr15O/vry5duuidd9656Z/LrFmzFBAQcN31DFq0aKHAwEDNnj1bQ4cO1U8//aTnn39ezZo1k7e3t2rWrKnGjRtLMoFDVFSUJk6cqOeee06FCxdW165dE881bdo09e/fX3Xr1lWlSpU0duxY3XvvvenWN3HiRPXv31+NGjVS4cKF9cILLyj8mnmekydP1siRI/Xkk0/q3LlzKlOmjEaOHJnimAEDBujNN99U//79b+bHBABwd7Gx0sWLZm2A8+fNfUL7RiMG/t1lKFPy5JEKF5aKFDG3hHby+wIFUgcA+fObEQQAAJdwWNebXI5sEx4eruDgYIWFhaVa8C8qKkoHDhxQ+fLllTdvXpsqBG7e+vXr1bx5cx09evSGozb4sw4ANoqLMyMDkgcACe20nkt4fOnSzfcbGHj9UCCtdlAQowAAwEVudB2aHkYiAHC56OhoHTlyRK+88oq6d+9+09M+AACZFBdnvu0/eVI6ccLcnz594zAgPDxjiwbeSFCQFBJibgULmvvrjRZIaBcuLBEaA4BHIkQA4HJffvmlBgwYoJo1a2r27Nl2lwMAns2yzIX+yZMpw4Hr3c6cMdsR3oz8+ZOCgORhwI2eK1hQCg5mMUEAyEX4Fx+Ay/Xr1y/V2hIAgGtER0unTmUsHIiKyvh5vbykokWl4sXNrWhRqVChGwcCBQpIvr5Z9lEBADkHIQIAAEBWOnxYWr9eWrdO2rUrKRi4cCFz5wkOTgoGEm4lSqR+rnBhFhIEAGQZQgQPwNqXyOn4Mw4gx4iLk/74wwQGCcHBkSNpH+/rmzoEuF5AUKyY2V4QAACbESK4sTx58kiSIiIilI9fHJCDRURESEr6Mw8AHiMiQvr1VxMWrFsnbdxo1i9Izttbql1buusuc1+yZFJIUKAAOw4AADwKIYIb8/b2VoECBXT69GlJkr+/vxz8ooEcxLIsRURE6PTp0ypQoIC8GX4LwN2dOmVGGCSMMvjtNyk2NuUxgYFSw4YmNLjrLql+fSkgwJ56AQBwMUIEN1e8eHFJSgwSgJyoQIECiX/WAcBtWJb0998ppyb880/q4265JSkwuOsuqVo11iQAAORYhAhuzuFwqESJEipatKiuXr1qdzmAy+XJk4cRCADcQ0yMGVmQMDVh/Xrp7NmUxzgc0h13SI0bJ4UGZcowJQEAkGsQIngIb29vLrQAAHClixelDRuSRhn8+mvqrRT9/KQGDZJCg4YNzZaIAADkUoQIAAAg57Mss9Vi8lEGf/xhnk+uUKGkEQaNG5uFEP387KkZAAA3RIgAAABynrg4aefOpNBg3Trp2LHUx4WGpgwNKlViagIAADdAiAAAADzflSvSL78kTU3YuFG6dCnlMT4+Uq1aSaFBo0Zmq0UAAJBhhAgAAMDznDyZeqvFuLiUxwQGmqAgYT0DtloEAMBphAgAAMC9WZa0Z0/K9Qz27k19XKlSKacmsNUiAAAuR4gAAADcS3R06q0Wz51LeYzDYUKCa7daBAAAWYoQAQAAZL34eDPdIDY29X1MTMpFEH/91QQJyeXNm3qrxQIFbPkoAADkZoQIAADALEz4zTfSt99KFy+mvNBP6+I/M8dkVuHCqbda9PV19acGAACZRIgAAEBuFRsrrVghffaZtHChFBFhTx3e3lKFCkmhwV13SbfdxlaLAAC4IUIEAAByE8uStm41wcGXX0qnTye9FhoqPfSQuffxMRf3ad3f6LXMHOvlRVgAAIAHIUQAACA32L9f+uILEx7s2ZP0fOHCUs+eUu/eZgtELugBAMANECIAAJBTnTsnzZtngoMNG5Kez5dP6tRJ6tVLuvdeKU8e20oEAACehRABAICcJDJSWrzYBAdLlyYtaujlJbVsaUYcPPCAFBhob50AAMAjESIAAODp4uKk1atNcDB/vhQenvRarVomOOjZUypZ0r4aAQBAjkCIAACAp9qxwwQHX3whHTuW9HyZMiY46NVLqlLFvvoAAECOQ4gAAIAnOXLE7Krw2WfSzp1JzxcoIHXvbsKDxo3N9AUAAAAXI0QAAMDdXbxopil89pmZtmBZ5nlfX6l9exMctG0r+fnZWiYAAMj5CBEAAHBHcXFJCyR+950UHZ30WrNmJjjo0kUKCbGvRgAAkOsQIgAA4G6OHjUhwerVSc9VqSI9/LD00ENmzQMAAAAbECIAAOBOvv1W6t9fOn9eCgiQHnvMhAc1akgOh93VAQCAXI4QAQAAdxAZKT3/vPTBB+ZxnTpmAcXbbrO3LgAAgGRYuhkAALv99ZfUoEFSgPDcc9KGDQQIAADA7TASAQAAu1iW9Mkn0pAhZiRC0aLSrFlS69Z2VwYAAHBdhAgAANjhwgVp0CCzdaNkgoOZM6VixeytCwAA4AaYzgAAQHZbt84slDh/vpQnjzR+vLR0KQECAABwe4QIAABkl7g46T//kZo1k44ckUJDzdoHw4ZJXvwvGQAAuD+mMwAAkB2OHJF695bWrDGP+/SR/vc/KTDQ3roAAAAyga89AADIagsXmukLa9ZI+fNLs2eb9Q8IEAAAgIchRAAAIKtERkpPPil17mwWUqxXT9q2zYxIAAAA8ECECAAAZIU//jChweTJ5vHw4WZBxdBQe+sCAABwAmsiAADgSpYlffSRNHSoFBVldlyYNUu69167KwMAAHAaIQIAAK5y/rw0cKBZA0GS7rvPrH1QtKi9dQEAALgI0xkAAHCFNWvM4okLF0p58kjvvCMtWUKAAAAAchRGIgAA4IzYWOm//5Vef12Kj5duu02aM0eqXdvuygAAAFyOEAEAgJt1+LDUq5dZMFGS+vWT3n/fbOMIAACQAzGdAQCAmzF/vpm+sG6dFBgoff65NH06AQIAAMjRGIkAAEBmRERIzz4rTZliHtevL335pVShgr11AQAAZANGIgAAkFE7d0r16pkAweGQXnzRjEQgQAAAALkEIxEAAEiPZUkffigNGyZFR0vFi0uzZ0utWtldGQAAQLZiJAIAAGmJizNrHzRsKA0ebAKEtm2lHTsIEAAAQK7ESAQAAK4VGSnNnClNmCDt3Wue8/OT3n5b+r//M1MZAAAAciFCBAAAEpw9a6Yt/O9/0pkz5rmQEOnJJ6Wnn5aKFbO3PgAAAJsRIgAAsH+/9M470rRpZhSCJJUrZ3Zh6N+fbRsBAAD+RYgAAMi9Nm+Wxo0z6x7Ex5vnateWnn9e6tpV8uF/kwAAAMnx2xEAIHeJj5e+/96EB6tXJz1/330mPGjRgjUPAAAA0kCIAADIHWJipC++kMaPl/780zzn4yM99JD03HNStWr21gcAAOABCBEAADlbWJj08cfSu+9Kx4+b5wIDpUcflZ55Ripd2t76AAAAPAghAgAgZzp6VJo0SZoyRbp0yTxXsqQJDh57TAoOtrU8AAAAT0SIAADIWXbuNOsdfPmlFBtrnqta1UxZeOghydfX3voAAAA8GCECAMDzWZb0888mPPjhh6Tnmzc3iyW2acNiiQAAAC5AiAAA8FyxsdLXX5vw4LffzHNeXmZ7xuefl+rWtbc+AACAHIYQAQDgea5ckaZOlSZOlA4eNM/lyyf17y8NHSpVqGBreQAAADkVIQIAwHPEx5vFEl9/XbpwwTxXpIg0eLD05JNS4cK2lgcAAJDTESIAADzD6dNSnz7SsmXmcWioNGyY1LevGYUAAACALEeIAABwfz//LPXqJZ04YQKDSZOkAQMkb2+7KwMAAMhVvOwuAACANMXFSa+9JrVsaQKEKlWkX3+VHn2UAAEAAMAGjEQAALinY8fM6IPVq83jAQOk996T/P3trQsAACAXI0QAALifpUvNWgdnz0r580sffyw99JDdVQEAAOR6TGcAALiPmBjp+eeldu1MgFCrlvTbbwQIAAAAboKRCAAA93DggNSzp1nzQJKefloaN07y87O3LgAAACQiRAAA2G/+fLPmQViYVKCANH261KmT3VUBAADgGkxnAADYJypKevJJqWtXEyA0bCj9/jsBAgAAgJsiRAAA2GPPHunOO6XJk83jF180OzGULWtvXQAAAEgT0xkAANlv9mzpiSekK1ekIkXM49at7a4KAAAA6WAkAgAg+1y+LPXrJ/XpYwKEu++Wtm8nQAAAAPAQhAgAgOyxY4dUr540c6bk5SX95z/S8uVSiRJ2VwYAAIAMYjoDACBrWZb08cfSkCFSdLRUsqT05ZdS06Z2VwYAAIBMyhEjEQ4fPqznnntOlStXVkBAgAoWLKj69etr/PjxioiIcEkfO3bs0KOPPqqKFSsqICBAQUFBqlq1qoYPH67Dhw+7pA8AyHHCwqQePcz6B9HRUrt2ZvoCAQIAAIBHcliWZdldhDOWLFmiXr16KSws7LqvV6pUSUuXLlWFChVuuo/XXntN//3vf5XWjyooKEgzZszQAw88kOlzh4eHKzg4WGFhYQoKCrrpGgHA7WzeLPXsKe3fL/n4SG+/bUYjeOWI/BoAAMBjOXMd6tG/yW3fvl3du3dXWFiY8ufPrzfeeEMbNmzQypUrNWjQIEnSnj171K5dO12+fPmm+hgzZoz+85//yLIslShRQu+88442bdqkTZs26Z133lHx4sUVHh6uBx98UBs2bHDlxwMAz2RZ0sSJUuPGJkAoX15av14aOpQAAQAAwMN59EiEFi1aaNWqVfLx8dGaNWvUsGHDFK+PGzdOw4cPlySNHj1ar776aqbOf+zYMd16662Kjo5WyZIltXnzZpUsWTLVMfXr19fx48dVo0YN/fbbb/LKxC/JjEQAkKOcO2d2X1i82Dzu2lX65BOpQAE7qwIAAEAyuXIkwubNm7Vq1SpJ0oABA1IFCJI0bNgwVa5cWZI0adIkXb16NVN9zJkzR9HR0ZJMCHFtgCBJt9xyi0aPHi3JjIz4/vvvM9UHAOQYa9dKNWuaAMHPT5o8WZo3jwABAAAgB/HYEOGbb75JbD/yyCPXPcbLy0t9+vSRJF24cCExdMiozZs3J7bbtGmT5nH33XdfYvvrr7/OVB8A4PHi4qTXX5eaN5eOHpUqVZJ++UV6/HHJ4bC7OgAAALiQx4YIa9eulSQFBASoTp06aR7XrFmzxPa6desy1cf58+cT28WKFUvzuOSvrV69OlN9AIBHO3lSat1aeuUVKT5e6tNH2rJFqlHD7soAAACQBTw2RNi1a5ckKTQ0VD4+Pmked/vtt6d6T0YFBAQkttPa/eHa1w4ePOiybSUBwK3t3i3VqSOtXCn5+0szZkgzZ0r589tdGQAAALKIR4YIUVFROnv2rCSpVKlSNzw2JCQkMQw4cuRIpvpJWE9BuvEIgzVr1iS2LcvS0aNHM9UPAHicnTulZs2k48elypWlrVulvn3trgoAAABZzCNDhEuXLiW282fgG6+EECGz2zx27Ngxsf2f//xHUVFRqY6JiorSf/7znzTru1Z0dLTCw8NT3ADAo2zdatY/OH1aqlVLWrNGSjbqCwAAADmXR4YIyS/mfX190z3ez89PkhQZGZmpfho0aKD7779fktl5oVmzZlq5cqUiIiIUERGhlStXqlmzZtq+fXuKOm7Uz1tvvaXg4ODEW+nSpTNVEwDYauNG6e67pfPnpQYNpJ9+kgoXtrsqAAAAZBOPDBHy5s2b2I6JiUn3+IRtGvPly5fpvmbOnKk777xTkvTrr7+qVatWCggIUEBAgFq1aqVff/1V9erVU69evRLfExgYmOb5RowYobCwsMRbZqdYAIBtVq2S7rlHCg+XmjaVfvyR7RsBAAByGY8MEZJfpGdkisKVK1ckZWzqw7UKFCig1atXa+LEiapSpUqK14oXL65XXnlFa9euTTEtISQkJM3z+fn5KSgoKMUNANze8uVSmzbSlStSq1bS999LNwhMAQAAkDOlva2BG8ubN68KFy6ss2fPpruI4YULFxJDhJudOuDr66shQ4ZoyJAhCgsL0+nTp5U/f34VL15cjn/3QN+xY4ckE3Ckt9gjAHiU776TunaVYmKkdu2kr7+Wko0IAwAAQO7hkSMRpKSdE/bu3avY2Ng0j9u9e3eq9zgjODhYt912m0qUKJEYIJw6dUp79+6VJNWrV09eXh77YwWAlL76Surc2QQIXbpICxYQIAAAAORiHnu1e9ddd0kyUxW2bt2a5nHJt2Zs3LhxltTy5ZdfyrIsSVL37t2zpA8AyHaffSb17CnFxkoPPSTNmSNlYDFbAAAA5FweGyJ06tQpsT19+vTrHhMfH69Zs2ZJMmsbtGjRwuV1hIeH6+23307s46GHHnJ5HwCQ7T75ROrTR4qPlwYMkGbNknw8cgYcAAAAXMhjQ4T69eurSZMmkqSpU6dq48aNqY6ZMGGCdu3aJUl65plnlCdPnhSvz5gxQw6HQw6HQ6NGjbpuPydOnNDVq1ev+9qlS5fUpUsXnTx5UpI0fvz4G+7MAAAe4f33pUcflSxLeuopacoUydvb7qoAAADgBjz6a6V3331XjRs3VmRkpO69916NHDlSLVq0UGRkpObMmaMpU6ZIkipWrKhhw4bdVB+ff/65xo8fr759+6pZs2YqUaKEwsPDtWnTJn344Yc6fPiwJOmRRx7RgAEDXPbZAMAWY8dKL7xg2s89Zx7/u/4LAAAA4NEhQq1atTR37lz17t1b4eHhGjlyZKpjKlasqCVLljg1QuDUqVMaO3asxo4dm+o1Hx8fDRs2TG+++eZNnx8AbGdZ0n/+IyWMynrlFWn0aAIEAAAApODRIYIkdejQQTt27NC7776rJUuW6OjRo/L19VVoaKi6deumwYMHy9/f/6bP37lzZ0VFRemnn37Svn37dPr0afn5+alUqVK69957NWDAAFWtWtWFnwgAspllSSNGSP+u76I33zSPAQAAgGs4rIRtBWCL8PBwBQcHKywsTEFBQXaXAyC3sSxpyBDpvffM44kTzWMAAADkWM5ch3r8SAQAwE2Kj5eeeMIsnChJkydLjz9ub00AAABwa4QIAJAbxcZK/ftLs2dLXl7StGlS3752VwUAAAA3R4gAALnN1atSr17SV1+ZrRs//1zq0cPuqgAAAOABCBEAIDeJjpa6d5cWLZLy5JHmzZM6dbK7KgAAAHgIQgQAyC0iIqTOnaVly6S8eaUFC6Q2beyuCgAAAB6EEAEAcoPLl6UOHaRVqyR/f+m776S777a7KgAAAHgYQgQAyOnCwsyIg40bpcBAaelS6a677K4KAAAAHogQAQBysnPnpNatpa1bpQIFzFSG+vXtrgoAAAAeihABAHKq06elVq2knTulwoWlH3+Uata0uyoAAAB4MEIEAMiJjh+XWraUdu+WiheXVq6UqlSxuyoAAAB4OC+7CwAAuNihQ1LTpiZAKF1aWrOGAAEAAAAuwUgEAMhJ9u0zuy4cPiyVLy/99JNUrpzdVQEAACCHYCQCAOQUu3dLTZqYAKFiRTMCgQABAAAALsRIBADICU6elJo3l06dkqpWlVasMGshAAAAAC5EiAAAns6ypCefTAoQVq0yuzEAAAAALsZ0BgDwdPPmSQsXSj4+0uefEyAAAAAgyxAiAIAnO3NGGjzYtF96SapRw956AAAAkKMRIgCAJxs8WDp7VqpeXRo50u5qAAAAkMMRIgCAp1qwwExl8PaWpk+XfH3trggAAAA5HCECAHiic+fMYoqS9MILUu3a9tYDAACAXIEQAQA80ZAhZjeGKlWkV1+1uxoAAADkEoQIAOBpFi+WPvtM8vKSpk2T/PzsrggAAAC5BCECAHiSixelxx4z7aFDpQYNbC0HAAAAuQshAgB4kqFDpePHpYoVpf/8x+5qAAAAkMsQIgCAp/jhB7MLg8NhpjHky2d3RQAAAMhlCBEAwBOEh0uDBpn2//2f1LixvfUAAAAgVyJEAABPMHy4dPSoVKGC9MYbdlcDAACAXIoQAQDc3U8/SR9/bNpTp0oBAfbWAwAAgFyLEAEA3Nnly9KAAab95JNS8+a2lgMAAIDcjRABANzZiBHSwYNS2bLSmDF2VwMAAIBcjhABANzVmjXS//5n2p98IgUG2lsPAAAAcj1CBABwRxERUv/+pj1woHTPPfbWAwAAAIgQAQDc08svS/v2SaVKSePH210NAAAAIIkQAQDcz4YN0qRJpj1lihQcbGs5AAAAQAJCBABwJ1FRZhqDZUl9+0pt2thdEQAAAJCIEAEA3MmoUdKePVKJEtLEiXZXAwAAAKRAiAAA7mLzZmncONP+6CMpJMTeegAAAIBrECIAgDuIjpYeeUSKj5ceeki6/367KwIAAABSIUQAAHfw+uvSn39KRYtK771ndzUAAADAdREiAIDdtm2T3nrLtD/4QCpUyN56AAAAgDQQIgCAnWJizDSGuDipa1dzAwAAANwUIQIA2GnMGGn7djP64IMP7K4GAAAAuCFCBACwy86dZi0ESXr/fbMeAgAAAODGCBEAwA6xsWYaw9WrUseOUs+edlcEAAAApIsQAQDsMH68tHWrFBIiTZ4sORx2VwQAAACkixABALLbrl3Sa6+Z9qRJUokStpYDAAAAZBQhAgBkp7g4qX9/sytD27bSww/bXREAAACQYYQIAJCdJk2SNm2SgoKkjz9mGgMAAAA8CiECAGSXv/+WXn7ZtCdMkEqVsrceAAAAIJMIEQAgO8THSwMGSFFR0j33mDYAAADgYQgRACA7fPCBtG6dlD+/9MknTGMAAACARyJEAICstn+/9OKLpj12rFS2rL31AAAAADeJEAEAslJ8vDRwoBQRITVvLj32mN0VAQAAADeNEAEAstKUKdLPP0v+/tLUqZIX/+wCAADAc/HbLABklUOHpOefN+233pIqVLC3HgAAAMBJhAgAkBUsSxo0SLp8WWrcWBo82O6KAAAAAKcRIgBAVpg2TfrxRylvXtNmGgMAAAByAH6rBQBXO35cGjrUtP/7X6liRXvrAQAAAFyEEAEAXG3YMCk8XKpfX3r2WburAQAAAFyGEAEAXGnlSmnOHDN94eOPJW9vuysCAAAAXIYQAQBcJSYmaQHFp56Sata0tRwAAADA1QgRAMBVJk2Sdu+WihaV/vMfu6sBAAAAXI4QAQBc4cgRafRo0x43TipQwNZyAAAAgKxAiAAArjB0qBQRId11l/Tww3ZXAwAAAGQJQgQAcNby5dLXX5tFFD/4QHI47K4IAAAAyBKECADgjOho6emnTfvpp6Xq1e2tBwAAAMhChAgA4IwJE6S//5aKF5dGjbK7GgAAACBLESIAwM06dEh6/XXTHj9eCg62tx4AAAAgixEiAMDNevZZKTJSatZMeughu6sBAAAAshwhAgDcjO+/lxYuZDFFAAAA5CqECACQWVFRSYspDhkiVa1qazkAAABAdiFEAIDMGjdO2rdPKllSeu01u6sBAAAAsg0hAgBkxoED0ptvmvY770iBgfbWAwAAAGQjQgQAyIxnnjHTGe6+W+re3e5qAAAAgGxFiAAAGfXdd+aWJ4/0v/+xmCIAAAByHUIEAMiIyEgzCkGShg6VKle2tx4AAADABoQIAJARY8aY9RBKlZJeftnuagAAAABbECIAQHr27pXeftu0J06U8ue3tx4AAADAJoQIAHAjliX93/9J0dHSPfdIXbrYXREAAABgG0IEALiRRYuk779nMUUAAABAhAgAkLaIiKTFFJ9/XqpY0d56AAAAAJsRIgBAWt58Uzp0SCpTRho50u5qAAAAANsRIgDA9fz9tzRunGlPmiQFBNhaDgAAAOAOCBEA4FqWJT39tBQTI7VpI3XqZHdFAAAAgFsgRACAay1YIC1fLvn6Su+9x2KKAAAAwL8IEQAguStXpCFDTPuFF6TQUFvLAQAAANwJIQIAJPf669LRo1K5ctKIEXZXAwAAALgVQgQASLB7tzRhgmm/956UL5+99QAAAABuhhABACSzmOLgwdLVq1L79lKHDnZXBAAAALgdQgQAkKSvvpJWrpTy5pXefdfuagAAAAC3RIgAAJcuSc8+a9ojRkgVKthbDwAAAOCmCBEA4D//kY4fN+HB8OF2VwMAAAC4LUIEALnbn39KkyaZ9nvvmekMAAAAAK6LEAFA7pWwmGJsrNSxo9Sund0VAQAAAG6NEAFA7vXll9KqVWYrx4TRCAAAAADSRIgAIHcKD5eGDTPtl16SypWztRwAAADAExAiAMidRo2STp6UbrtNeu45u6sBAAAAPAIhAoDcZ+dOs4iiJL3/vuTnZ289AAAAgIcgRACQu1iW9OSTUlyc1KWL1Lq13RUBAAAAHoMQAUDu8tln0rp1kr+/9M47dlcDAAAAeBRCBAC5x8WLSesfvPKKVKaMreUAAAAAnoYQAUDu8eqr0unTUqVK0tChdlcDAAAAeBxCBAC5w++/Sx98YNr/+5/k62trOQAAAIAncipEqFy5ssaNG6dTp065qh4AcL34eOmpp8x99+5Sq1Z2VwQAAAB4JKdChD179ujFF19U6dKl1alTJy1atEhxcXGuqg0AXGPmTGnDBikgQJowwe5qAAAAAI/lVIhQq1YtWZal2NhYfffdd3rggQd0yy23aPjw4dq1a5eragSAm3fhgjR8uGmPGiWVKmVrOQAAAIAncypE2Lp1q7Zv365nnnlGhQsXlmVZOn36tCZMmKA77rhDjRo10tSpU3X58mVX1QsAmTNmjHT2rFSlivTMM3ZXAwAAAHg0pxdWrFatmiZOnKhjx45p/vz5at++vby9vWVZln755Rc9+uijKlGihPr376+1a9e6ouZUDh8+rOeee06VK1dWQECAChYsqPr162v8+PGKiIhwSR9//fWXnn76aVWrVk1BQUHy9fVVkSJF1KJFC02cOFGXLl1yST8AXOjMGbOIoiS9/baUJ4+99QAAAAAezmFZluXqk546dUozZ87UzJkzE6c1OBwOSdKtt96qAQMGqE+fPipRooTTfS1ZskS9evVSWFjYdV+vVKmSli5dqgoVKtx0HxMmTNCLL76o2NjYNI8pW7asFi1apOrVq2fq3OHh4QoODlZYWJiCgoJuukYA1/HiiyY8qFNH2rxZ+vffIQAAACA3c+Y6NEtChOR++eUXTZ06VfPmzVN4eLjp1OGQt7e3WrdurQEDBqhDhw7y9vbO9Lm3b9+uRo0aKSIiQvnz59eIESPUokULRUZGas6cOfrkk08kSbfffrs2b96s/PnzZ7qPefPmqUePHpIkX19fPfXUU2rVqpUKFy6sffv26cMPP9S6deskSSVKlNCuXbsUHByc4fMTIgBZ5OxZqVw56coVadEiqUMHuysCAAAA3IJbhwgJlixZokGDBiVuB2lZVuLohBIlSui5557T4MGD5ePjk+FztmjRQqtWrZKPj4/WrFmjhg0bpnh93LhxGv7vgmqjR4/Wq6++mum6q1Wrpj/++EOStHjxYrVr1y7VMV26dNGCBQskmVELQ4cOzfD5CRGALDJihFkPoXZtacsWRiEAAAAA/3LbEOHQoUOaOXOmZsyYoUOHDkky4YGPj4/uuece/fnnnzp8+LApxOFQrVq19OOPPyokJCTdc2/evFn169eXJD322GP66KOPUh0THx+vO+64Q7t27VJISIhOnTqlPJmYE53wg5Wk2rVra+vWrdc9bseOHapR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/cQRBjcSHh6u//3vf3I4HC672O7QoYN27NihZ599VhUrVpS/v78KFCigunXr6u2339a2bdsUGhp60+f38/PTnDlz9NNPP6lPnz6qWLGiAgIC5OPjo4IFC6phw4Z65ZVXtHv3bj300EMu+UwA0hEWJk2caNqMQgAAAACyjcOyLOtm3/znn3+qRo0asixLjRo10ldffaXixYtf99iTJ0+qW7duWr9+vby8vLRlyxbVrFnzZrvOMcLDwxUcHKywsDAFBQXZXQ7gGf77XxMeVK4s7dwpeXvbXREAAADgMZy5DnVqOkPVqlX1f//3f5o0aZI2bNig2267Td27d1fTpk1VokQJORwOHT9+XGvWrNG8efMUEREhh8Ohp556igABwM0JD085CoEAAQAAAMg2To1EkMw2ioMGDUrcZjGtBRMTuhk4cKA+/vhjlyysmBMwEgHIpDfekF5+Wbr9dumPPwgRAAAAgExy5jrU6YnEXl5emjp1qhYuXKg777xTkgkMkt8kqXHjxlq0aJGmTJlCgADg5oSHSxMmmDajEAAAAIBs59R0huQ6duyojh076vz58/r999919uxZSVLhwoVVq1YthYSEuKorALnV//4nXbhgRiF07253NQAAAECu47IQIUHBggV19913u/q0AHK7S5eSRiG8/DKjEAAAAAAbsC8aAM/wv/9J589LFStKPXvaXQ0AAACQKxEiAHB/yUchvPIKoxAAAAAAm7hsOsOlS5e0YsUKbd++XWfPnlVkZKRutPGDw+HQ1KlTXdU9gJzsgw+kc+cYhQAAAADYzOkQIT4+Xv/97381YcIEXblyJUPvsSyLEAFAxly+LI0fb9ovvyz5uHwpFwAAAAAZ5PRv4/369dPnn38uy7Lk7e2tQoUK6fTp03I4HCpVqpQuXLigy5cvSzKjDwoXLix/f3+nCweQSySMQggNlR580O5qAAAAgFzNqTURli1bps8++0ySCRNOnz6tFStWJL5+6NAhhYeHa/fu3XrmmWfk5eWlkJAQff/99zpw4IBzlQPI+ZKPQnjlFUYhAAAAADZzKkSYPn26JKlq1aqaNm2aQkJC5HA4Uh1XsWJFTZw4UQsXLtS+ffvUtm1bhYWFOdM1gNzgww+ls2fNKISHHrK7GgAAACDXcypE2LRpkxwOh5566qkMHd++fXv17dtXhw4d0nvvvedM1wByuitX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1KJFC2e6B+BOLl+WJk0y7REjGIUAAAAA5EBOTWeYN2+eJKlbt27Kly9fusf7+/urR48esixLc+fOdaZrAO7mk0+k8+el0FCpWze7qwEAAACQBZwKEbZu3SqHw6G77747w+9JGH3w66+/OtM1AHcSHS2NH2/aL7wgeXvbWw8AAACALOFUiHD06FFJUvny5TP8nnLlykmSjh075kzXANzJ7NnS8ePSLbdIDz9sdzUAAAAAsohTIUJERIQkybKsDL8n4djw8HBnugbgLmJjpTFjTHvYMMnPz956AAAAAGQZp0KEIkWKSJJ2796d4fckHFuoUCFnugbgLr7+Wtq3TypUSBo0yO5qAAAAAGQhp0KEevXqybIszZo1K8PvmTFjhhwOh2rXru1M1wDcgWVJb71l2s88I+XPb289AAAAALKUUyFC165dJUkrV67UhAkT0j1+woQJ+umnnySZHR0AeLilS6UdO0x4MHiw3dUAAAAAyGJOhQg9evRQjRo1ZFmWhg8fri5dumjt2rW6evVq4jGxsbFau3atOnfurOHDh8vhcOiOO+5Q7969nS4egI0sS3rjDdN+4gkpJMTeegAAAABkOYeVmVURr+PgwYNq3LixTpw4IYfDIUnKkyePChYsKIfDoXPnziWGCpZlqWTJklq3bl3iLg25XXh4uIKDgxUWFqagoCC7ywEybvVqqXlzs5DigQNSiRJ2VwQAAAAgA5y5DnVqJIJktmzctm2bOnbsKMkEBTExMTp58qROnDihmJiYxB0ZOnfurN9++40AAcgJEtZC6N+fAAEAAADIJZweiZDcnj17tHTpUm3btk1nz56VJBUuXFi1a9dWu3btdNttt7mqqxyDkQjwSFu3SnXrSt7e0j//SOXL210RAAAAgAxy5jrUx5WFVKpUSZUqVXLlKQG4o4RRCA8+SIAAAAAA5CJOT2cAkMvs3i0tWGDaL75oby0AAAAAshUhAoDMefttszNDx45S1ap2VwMAAAAgGzkVImzbtk3e3t7Kly+fjh07lu7xx44dU968eeXj46O//vrLma4B2OHQIemzz0x7xAh7awEAAACQ7ZwKEebOnSvLstS+fXvdcsst6R5/yy236P7771d8fLzmzJnjTNcA7DB+vBQbK7VsKTVoYHc1AAAAALKZUyHCqlWr5HA41KZNmwy/p127dpKkFStWONM1gOx2+rT0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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ - "history = model.fit([X_train_tokens['input_ids'], X_train_tokens['attention_mask']], y_train,\n", - " validation_data=([X_val_tokens['input_ids'], X_val_tokens['attention_mask']], y_val),\n", - " epochs=3, batch_size=32)" + "fig, ax = plt.subplots(1, 1, figsize=(12,8))\n", + "ax.plot(history.history['accuracy'], 'r', label='Training Accuracy')\n", + "ax.plot(history.history['val_accuracy'], 'b' ,label='Validation Accuracy')\n", + "ax.set_xlabel(r'Epoch', fontsize=20)\n", + "ax.set_ylabel(r'Accuracy', fontsize=20)\n", + "ax.legend()\n", + "ax.tick_params(labelsize=20)" ] } ],