Skip to content

Instantly share code, notes, and snippets.

@bikcrum
Created May 13, 2020 15:54
Show Gist options
  • Save bikcrum/8e2d22fc502d892b8a404a1eba894d2e to your computer and use it in GitHub Desktop.
Save bikcrum/8e2d22fc502d892b8a404a1eba894d2e to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 38,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"%matplotlib inline\n",
"import matplotlib as mpl\n",
"import matplotlib.pyplot as plt\n",
"import tensorflow as tf\n",
"from tensorflow import keras\n",
"from tensorflow.keras.datasets.fashion_mnist import load_data\n",
"from tensorflow.keras.models import Sequential\n",
"from tensorflow.keras.layers import *"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {},
"outputs": [],
"source": [
"np.random.seed(42)\n",
"tf.random.set_seed(42)"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {},
"outputs": [],
"source": [
"class_names = ['T-shirt/top', 'Trouser', 'Pullover', 'Dress', 'Coat',\n",
" 'Sandal', 'Shirt', 'Sneaker', 'Bag', 'Ankle boot']"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {},
"outputs": [],
"source": [
"(X_train_full, y_train_full), (X_test, y_test) = load_data()"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {},
"outputs": [],
"source": [
"X_train_n, X_test_n = X_train_full / 255.0, X_test / 255.0"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {},
"outputs": [],
"source": [
"X_valid, X_train = X_train_n[:5000], X_train_n[5000:]\n",
"y_valid, y_train = y_train_full[:5000], y_train_full[5000:]\n",
"X_test = X_test_n"
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {},
"outputs": [],
"source": [
"model = Sequential([\n",
" Flatten(input_shape=[28,28]),\n",
" Dense(30, activation='relu'),\n",
" Dense(30, activation='relu'),\n",
" Dense(10, activation='softmax')\n",
"])"
]
},
{
"cell_type": "code",
"execution_count": 49,
"metadata": {},
"outputs": [],
"source": [
"# in my case 'mse' produces much higher error but 'sparse_categorical_crossentropy' does well\n",
"model.compile(loss='mse',\n",
" optimizer=keras.optimizers.SGD(lr=1e-3),\n",
" metrics=['accuracy'])"
]
},
{
"cell_type": "code",
"execution_count": 50,
"metadata": {},
"outputs": [],
"source": [
"# checkpoint_cb = keras.callbacks.ModelCheckpoint('Model-{epoch:02d}.h5')\n",
"checkpoint_cb = keras.callbacks.ModelCheckpoint('Model-best.h5', save_best_only=True)"
]
},
{
"cell_type": "code",
"execution_count": 51,
"metadata": {},
"outputs": [],
"source": [
"early_stopping_cb = keras.callbacks.EarlyStopping(patience=10,restore_best_weights=True)"
]
},
{
"cell_type": "code",
"execution_count": 52,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Epoch 1/20\n",
"1719/1719 [==============================] - 3s 2ms/step - loss: 27.6201 - accuracy: 0.6078 - val_loss: 27.5970 - val_accuracy: 0.6146\n",
"Epoch 2/20\n",
"1719/1719 [==============================] - 4s 2ms/step - loss: 27.6192 - accuracy: 0.6143 - val_loss: 27.5963 - val_accuracy: 0.6224\n",
"Epoch 3/20\n",
"1719/1719 [==============================] - 4s 2ms/step - loss: 27.6187 - accuracy: 0.6155 - val_loss: 27.5958 - val_accuracy: 0.6226\n",
"Epoch 4/20\n",
"1719/1719 [==============================] - 3s 2ms/step - loss: 27.6182 - accuracy: 0.6171 - val_loss: 27.5953 - val_accuracy: 0.6222\n",
"Epoch 5/20\n",
"1719/1719 [==============================] - 3s 2ms/step - loss: 27.6177 - accuracy: 0.6185 - val_loss: 27.5949 - val_accuracy: 0.62287.6742 \n",
"Epoch 6/20\n",
"1719/1719 [==============================] - 3s 2ms/step - loss: 27.6173 - accuracy: 0.6186 - val_loss: 27.5944 - val_accuracy: 0.6222\n",
"Epoch 7/20\n",
"1719/1719 [==============================] - 4s 3ms/step - loss: 27.6169 - accuracy: 0.6181 - val_loss: 27.5940 - val_accuracy: 0.6206\n",
"Epoch 8/20\n",
"1719/1719 [==============================] - 4s 2ms/step - loss: 27.6164 - accuracy: 0.6166 - val_loss: 27.5936 - val_accuracy: 0.6172TA: 0s - loss: 27.5921 - accu\n",
"Epoch 9/20\n",
"1719/1719 [==============================] - 4s 2ms/step - loss: 27.6161 - accuracy: 0.6131 - val_loss: 27.5932 - val_accuracy: 0.6132\n",
"Epoch 10/20\n",
"1719/1719 [==============================] - 3s 2ms/step - loss: 27.6156 - accuracy: 0.6084 - val_loss: 27.5928 - val_accuracy: 0.6066\n",
"Epoch 11/20\n",
"1719/1719 [==============================] - 3s 2ms/step - loss: 27.6153 - accuracy: 0.6029 - val_loss: 27.5924 - val_accuracy: 0.6012\n",
"Epoch 12/20\n",
"1719/1719 [==============================] - 3s 2ms/step - loss: 27.6149 - accuracy: 0.5967 - val_loss: 27.5921 - val_accuracy: 0.5978\n",
"Epoch 13/20\n",
"1719/1719 [==============================] - 3s 2ms/step - loss: 27.6146 - accuracy: 0.5922 - val_loss: 27.5918 - val_accuracy: 0.5972\n",
"Epoch 14/20\n",
"1719/1719 [==============================] - 3s 2ms/step - loss: 27.6143 - accuracy: 0.5903 - val_loss: 27.5916 - val_accuracy: 0.5944\n",
"Epoch 15/20\n",
"1719/1719 [==============================] - 3s 2ms/step - loss: 27.6142 - accuracy: 0.5900 - val_loss: 27.5914 - val_accuracy: 0.5976\n",
"Epoch 16/20\n",
"1719/1719 [==============================] - 4s 2ms/step - loss: 27.6140 - accuracy: 0.5899 - val_loss: 27.5912 - val_accuracy: 0.5960\n",
"Epoch 17/20\n",
"1719/1719 [==============================] - 3s 2ms/step - loss: 27.6138 - accuracy: 0.5909 - val_loss: 27.5911 - val_accuracy: 0.5936\n",
"Epoch 18/20\n",
"1719/1719 [==============================] - 4s 2ms/step - loss: 27.6137 - accuracy: 0.5899 - val_loss: 27.5910 - val_accuracy: 0.5954\n",
"Epoch 19/20\n",
"1719/1719 [==============================] - 4s 2ms/step - loss: 27.6136 - accuracy: 0.5910 - val_loss: 27.5908 - val_accuracy: 0.5980\n",
"Epoch 20/20\n",
"1719/1719 [==============================] - 3s 2ms/step - loss: 27.6135 - accuracy: 0.5906 - val_loss: 27.5907 - val_accuracy: 0.5966\n"
]
}
],
"source": [
"model_history = model.fit(X_train, y_train,\n",
" epochs=20,\n",
" validation_data=(X_valid, y_valid),\n",
" callbacks=[checkpoint_cb, early_stopping_cb])"
]
},
{
"cell_type": "code",
"execution_count": 54,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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L4s92H1d8AjFXbt2UVpaSv/+/Xnrrbd44YUXqKurY8WKFfztb39rOkxdVlbGueeey4IFC/jJT34CBIepS0tLGTZsGG+++SZjxoxhyZIlbbZx165djBw5EoCHH364qfzcc8/l/vvvZ8qUKU2HqePxOIcddhiHHXYY8+bNY9myZTntd67oBC4RETlkF1xwAclkkuOOO445c+Zw2mmnUV5ezsKFC/nCF77AhAkTmDFjBgC33XYb1dXVjBs3jgkTJrB8+XIAfvjDH/LZz36WM844gxEjRrT5Xt/+9rf57ne/y6RJk/Y7u/rqq6/miCOOYPz48UyYMIHHH3+8ad5ll13G4YcfznHHHddFn8Ch0Z6xiIgcssLCQn7/+9+3Ou/CCy/cb7q4uJhHHnnkgHqXXnopl1566QHlmXu/AKeffjrr1q1rmp43bx4AsViMe+65h3vuuadpXk1NDQArV67kmmuuya4zHiiMRUQkr02ePJkBAwZw9913+25KmxTGIiKS11555RXfTeiQvjMWERHxTGEsIiLimcJYRETEM4WxiIiIZwpjERERzxTGIiLS7TKf0NTSu+++y7hx47qxNf4pjEVERDxTGIuIyCGbM2cOCxYsaJqeO3cu8+bNY+rUqZx44olUVFTwm9/8ptPrraura3r28aRJk5punfnGG29wyimnMHHiRMaPH88777zDnj17+MxnPsOECRMYN24cTz75ZM7619V00w8RkTxy51/u5K0d7T8pKZVKNT2OMBtjy8bynVO+026dGTNm8I1vfIOvfe1rACxevJhnnnmGG2+8kUGDBrFt2zZOO+00Lr744v2eztSRBQsWYGasWbOGt956i/POO49169Zx33338fWvf53LLruMhoYGUqkUS5cu5bDDDuN3v/sdEDxQorfQnrGIiByySZMmsWXLFj788ENeffVVSktLGT58OLfccgvjx4/n05/+NJs2bWLz5s2dWu/KlSu5/PLLARg7dixHHnkk69at4/TTT+eOO+7gzjvv5L333qNfv35UVFTw7LPP8p3vfIfnnnuOkpKSruhql9CesYhIHuloDxaChyfk+hGKANOnT+epp57i448/ZsaMGTz22GNs3bqVV155hXg8zlFHHXXAc4oP1le+8hVOPfVUfve733HRRRdx//33c84557Bq1SqWLl3KbbfdxtSpU7npppty8n5dTWEsIiI5MWPGDK655hq2bdvGn/70JxYvXswnPvEJ4vE4y5cv57333uv0Os8880wee+wxzjnnHNatW8f777/PmDFj2LBhA0cffTQ33ngj77//Pq+99hpjx46lrKyMyy+/nMGDB/PAAw90QS+7hsJYRERy4oQTTqCmpoaRI0cyYsQILrvsMj73uc9RUVHBSSedxNixYzu9zq9+9av84z/+IxUVFcRiMR5++GEKCwtZvHgxjz76KPF4vOlw+EsvvcS3vvUtIpEI8Xice++9twt62TUUxiIikjNr1qxpGh86dCjPP/98q/Vqa2vbXMdRRx3F66+/DkBRUREPPfTQAXXmzJnDnDlz9is7//zzOf/88/cra3yecU+nE7hEREQ8056xiIh4sWbNGq644or9ygoLC3nxxRc9tcifrMLYzC4AfgpEgQeccz9sMf8I4BFgcFhnjnNuaY7bKiIieaSiooLVq1f7bkaP0OFhajOLAguAC4HjgZlmdnyLarcBi51zk4AvA/871w0VERHJV9l8Z3wKsN45t8E51wA8AUxrUccBg8LxEuDD3DVRREQkv5lzrv0KZpcCFzjnrg6nrwBOdc5dn1FnBPBfQCkwAPi0c+6VVtZ1LXAtQHl5+eTFixfnqh89Wm1tbbtPKMknfaWvfaWfoL72BiUlJXzyk5/Mun5nb4fZm/nq6/r16w+4HeeUKVNecc6d1Fr9XJ3ANRN42Dl3t5mdDjxqZuOcc+nMSs65hcBCgDFjxrjKysocvX3PVlVVhfqaX/pKP0F97Q3efPPNTt1Rq6vuwNUT+eprUVERkyZNyrp+NoepNwGHZ0yPCssy/QOwGMA59zxQBAzNuhUiItKn9MYjEF0pmzB+CTjGzEabWQHBCVpPt6jzPjAVwMyOIwjjrblsqIiISK4lk0nfTQCyOEztnEua2fXAMwSXLT3onHvDzL4PvOycexr4n8AvzOwmgpO5rnQdfRktIiI59/Edd1D/ZvuPUEymUuzoxPeohceNZfgtt7RbZ86cORx++OFNj1CcO3cusViM5cuXU11dTSKRYN68eUyb1vL83wPV1tYybdq0VpdbtGgRP/rRjzAzxo8fz6OPPsrmzZu57rrr2LBhAwD33nsvhx12GJ/97Geb7gD2ox/9iNraWubOnUtlZSUTJ05k5cqVzJw5k2OPPZZ58+bR0NDAkCFDeOyxxxg2bBi1tbXccMMNvPzyy5gZ3/ve99i1axevvfYaP/nJTwD4xS9+wdq1a/nxj3+c9efZmqy+Mw6vGV7aouz2jPG1wKcOqSUiItJr5fJ5xkVFRSxZsuSA5dauXcu8efP485//zNChQ9mxYwcAN954I2effTZLliwhlUpRW1tLdXV1u+/R0NDAyy+/DEB1dTUvvPACZsYDDzzAXXfdxd13380PfvADSkpKmm7xWV1dTTwe51/+5V+YP38+8Xichx56iPvvv/9QPz7dgUtEJJ90tAcLXXNSU+bzjLdu3dr0POObbrqJFStWEIlEmp5nPHz48HbX5ZzjlltuOWC5P/7xj0yfPp2hQ4NTksrKygD44x//yKJFiwCIRqOUlJR0GMYzZsxoGt+4cSMzZszgo48+oqGhgdGjRwOwbNkynnjiiaZ6paWlAJxzzjn89re/5bjjjiORSFBRUdHJT+tACmMREcmJXD3POBfPQY7FYqTTzRf0tFx+wIABTeM33HADN998MxdffDFVVVXMnTu33XVfffXV3HHHHYwdO5bZs2d3ql1t0YMiREQkJ2bMmMETTzzBU089xfTp09m1a9dBPc+4reXOOeccfvnLX7J9+3aApsPUU6dObXpcYiqVYteuXQwbNowtW7awfft26uvr+e1vf9vu+40cORKARx55pKn83HPPZcGCBU3TjXvbp556Kh988AGPP/44M2fOzPbjaZfCWEREcqK15xm//PLLVFRUsGjRoqyfZ9zWcieccAK33norZ599NhMmTODmm28G4Kc//SnLly+noqKCyZMns3btWuLxOLfffjtTpkzh3HPPbfe9586dy/Tp05k8eXLTIXCA2267jerqasaNG8eECRNYvnx507wvfelLfOpTn2o6dH2odJhaRERyJhfPM25vuVmzZjFr1qz9yoYNG8ZvfvObA+reeOONzJ49+4Dvx6uqqvabnjZtWqtneRcXF++3p5xp5cqV3HTTTW32obO0ZywiIpKlnTt3cuyxx9KvXz+mTp2as/Vqz1hERLzojc8zHjx4MOvWrcv5ehXGIiLihZ5n3EyHqUVE8oBuethzHMy2UBiLiPRyRUVFbN++XYHcAzjn2L59O0VFRZ1aToepRUR6uVGjRrFx40a2bs3u+Tx1dXWdDoveykdfi4qKGDVqVKeWURiLiPRy8Xi86RaO2aiqqurUs3Z7s97SVx2m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\n",
"text/plain": [
"<Figure size 576x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"pd.DataFrame(model_history.history).plot(figsize=(8,5))\n",
"plt.grid(True)\n",
"plt.gca().set_ylim(0,1)\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment