Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Keras example on structural MRI data - taken from the mumbai_workshop (https://github.com/miykael/workshop_mumbai)
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# `Keras`\n",
"\n",
"[Keras](https://keras.io/) is a high-level neural networks API, written in Python and capable of running on top of [TensorFlow](https://www.tensorflow.org/), [CNTK](https://docs.microsoft.com/de-de/cognitive-toolkit/), or [Theano](http://www.deeplearning.net/software/theano/). It was developed with a focus on enabling fast experimentation. *Being able to go from idea to result with the least possible delay is key to doing good research.*\n",
"\n",
"**Note 1:** This is not an introduction to deep neural networks as this would explode the scope of this notebook. But we want to show you how you can implement a convoluted neural network to classify neuroimages, in our case fMRI images. \n",
"**Note 2:** We want to thank [Anisha Keshavan](https://github.com/akeshavan) as a lot of the content in this notebook is coming from here [introduction notebook](http://nbviewer.jupyter.org/github/brainhack101/IntroDL/blob/master/IntroToKeras.ipynb) about Keras."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Setup"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"from nilearn import plotting\n",
"%matplotlib inline\n",
"import numpy as np\n",
"import nibabel as nb\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"sns.set(style=\"darkgrid\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Load machine learning dataset\n",
"\n",
"Let's again load the dataset we prepared in the machine learning preparation notebook, plus the anatomical template image (we will need this for visualization)."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"anat = nb.load('/templates/MNI152_T1_1mm.nii.gz')\n",
"func = nb.load('/home/neuro/notebooks/data/dataset_ML.nii.gz')"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"from nilearn.image import mean_img\n",
"from nilearn.plotting import plot_anat"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA+sAAADNCAYAAADAHeH/AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzsnXmYXVWV9tedp7o1VyWpSgghYQwkjMEwIzQ4gKCgggLNINoiIKIgBJBmcEAIqKDILEo3CrYtIPh9bYPdKIjQCAg2Y2LIPNRcdefhfH/wcfda7829lYQMN+H9PU89z9m1z7DPPnvvs0/Vevfr6+np8YQQQgghhBBCCCENg39LF4AQQgghhBBCCCEWfqwTQgghhBBCCCENBj/WCSGEEEIIIYSQBoMf64QQQgghhBBCSIPBj3VCCCGEEEIIIaTB4Mc6IYQQQgghhBDSYPBjnRBCCCGEEEIIaTD4sU4IIYQQQgghhDQY/FgnhBBCCCGEEEIajOCWLsDm5IUXXpDu7u4tXQxCCNkkrF69Wvbaa68tXQxCCCGEELIReF/9Z50f6oSQbRmOcYQQQggh2w7vq491QgghhBBCCCFka2CbDYNfvnz5li4CIYRsdjj2EUIIIYQ0Hj09Pet9DP+zTgghhBBCCCGENBjv+4/1+fPnS29vrxx44IFrzT/wwAOlt7dX5s+fv5lLtnm44IIL5MMf/vCWLkYVN910k+yzzz4yefJkueCCC7Z0cdbKL37xC+nt7ZVUKlV3vxNPPFHOPvvszVQqkf3331+uvvrqzXa9deXpp5+W3t5eee2117ZoOa6++mrZf//91+uYvr4+mT9/vixZsmQTlWp8fvSjH8nTTz+9xa5PCCGEEEI2L9tsGPz6EI1GZcmSJfLSSy/J7NmzK79/8cUXZenSpRKNRrdg6d5/vPTSS3LDDTfIJZdcInPnzpXOzs4tXaT3xLe+9S0JBtnV9thjD3n44Ydl6tSpW7oo601fX5/ceOONMnfuXJkyZcoWKcOPfvQjOeOMM+SAAw7YItcnhBBCCCGbF35BiEgsFpM5c+bIQw89ZD7WH3roITnwwAPlr3/96xYs3fuPt956S0RETj/9dEkmk1u4NO+dnXbaaUsXYZORyWQkFout077JZFL22WefTVwiQgghhBBCtg3e92Hw73LcccfJI488Ip7niYiI53nyyCOPyHHHHbfW/Z999lk54YQTZPr06TJz5ky56KKLZGxsrJK/atUqufDCC2Xu3Lkyffp0Oeigg+S6666TfD5f2WfJkiXS29srDz/8sFx88cWyyy67yD777CM33HCDlMvlmmW94YYbZM8996za53e/+5309vbK3//+dxERefDBB+X444+XmTNnym677SYnnniivPTSS3XrYf78+bL77rtX/b63t1fuuece87t//dd/lcMPP1ymTZsmc+bMkR/96Ed1zy0iUiqVZP78+bLffvvJtGnT5PDDD5d///d/r+RfcMEFcv7554uIyC677CK9vb01Q3/fLetf/vIX+fCHPyzTp0+X448/XhYvXix9fX1y5plnyo477iiHHnqo/PGPfzTHrmvdPPPMM3LiiSfKjjvuKLvssouceOKJ8sorr5h9Fi9eLCeddJLMmDFDDjnkEHnsscdMPobBv1vuV155RY455hiZPn26HHXUUfLnP/+56vobUsdrY2O211/96ldy/vnny6677iqnn366iLjQ+9tvv1322Wcf2W233eSLX/yiDA8PV45fWxh8b2+v3HnnnfLtb39b9thjD5k1a5bMmzdPcrmcKf/TTz8tRx55pOywww7ykY98RF544QXZfffdx5WnDA8Py5e+9CWZMWOG7LXXXvL973+/ap/x7n3JkiVyxBFHiIjIJz/5Sent7ZXe3l4REUmn03LZZZfJwQcfLNOnT5cPfOADMm/ePBkdHTXXuP/+++Xwww+X6dOny+677y4nnHCCvP7665X8bDYr1157rey7774ybdo0OfLII+Xxxx+v5O+///4yODgoN954Y+X6DIknhBBCCNm24cf6/+fDH/6w9PX1ybPPPisiIn/+859lYGBAPvShD1Xt+9xzz8mnP/1p6erqkttvv12uuuoqeeKJJ+QrX/lKZZ+BgQFpbW2VK6+8Uu677z754he/KA888IBcfvnlVef75je/KYlEQm6//XY54YQT5KabbpLf/OY3Nct63HHHyZo1a+RPf/qT+f0jjzwis2bNkmnTpomIyNKlS+XEE0+UH//4x3LLLbfIpEmT5BOf+IS8/fbbG1RHmltvvVUuvfRSOfroo+Xee++V0047Ta6//vqqD3rk+uuvlx/84Afy2c9+Vu655x7Zb7/95Nxzz5Vf//rXIvLOx/qXv/xlERF54IEH5OGHH5Y99tij5vkymYxcfPHFcvbZZ8sPf/hDWbZsmZx//vlyzjnnyJw5c+TOO++UiRMnyhe+8AXJZDKV49albp5++mn59Kc/LaFQSL73ve/JrbfeKnPmzJEVK1aYMpx77rly1FFHyV133SXTpk2Tc845Z9wVuTOZjFxwwQVy6qmnyh133CHhcFjOOussU8YNrWNkY7fXa665RpqamuS2226T8847r/L7Rx55RP74xz/Kd7/7XZk3b57853/+p3znO98Zt3y33XabrFq1Sm6++Wb54he/KPfdd5/cddddlfwVK1bIqaeeKh0dHXLbbbfJKaecIueee65ks9lxz33hhRfK73//e7nqqqvkuuuukyeffFIeeughs894997d3S233HKLiLzTVx9++GF5+OGHReSd51gqleTrX/+63HfffXLRRRfJU089JV/4whcq53/mmWfkkksukU984hPys5/9TG688UbZd999ZWRkpLLP5z//eXnggQfkvPPOk5/85Cey5557yhlnnFH5w9Bdd90lzc3NcvLJJ1euX69fEEIIIYSQbYCenh5vW/wRkaqftXHDDTd4M2fO9DzP804//XTv0ksv9TzP8y655BLvjDPO8DzP82bOnOndcMMNlWOOP/5474QTTjDn+cMf/uD19PR4r7766lqvUygUvF/96lfetGnTvFwu53me5y1evNjr6enxzjvvPLPvkUce6f3TP/3TWs/zLkcccYR38cUXV9LZbNbbeeedvVtvvXWt+5dKJa9QKHgHH3ywd+ONN1Z+/+Uvf9n70Ic+tNb60PT09Hh3332353meNzIy4s2YMcObP3++2ee73/2uN3v2bK9YLK61DAMDA9706dOrjjvllFO8gw46qJL++c9/7vX09HhjY2O1br9S1p6eHu/pp5+u/O6ee+7xenp6zD2+/vrrXk9Pj/f444+v9Ty16uaYY47xPvShD3nlcnmtx71bzvvvv7/yu/7+fm/KlCnevffeW/ndCSec4H3uc5+rKvcf/vCHyu9efvllr6enx3viiSc8z9vwOvY8z5szZ4531VVXVdIbu72eeeaZa73m3LlzvUKhUPndFVdc4c2ePbuSfuqpp6qu2dPT43384x835zrjjDO8j370o5X01Vdf7c2cOdNLp9OV3z300ENeT0+P6ZfIa6+95vX09Hi//vWvK78bGxvzdtttN2/OnDk1j1vbvb/66qteT0+P99RTT9U87t1jn332Wa+np8dbunSp53med+utt3pHH310zWOefPLJqnbseZ738Y9/3Dv77LMraRyHarG2sY8//OEPf/jDH/7whz9b9mdDvmm34f+sB9byU5/jjjtOHn30UcnlcvLoo4+uNQQ+k8nI888/L8cee6wUi8XKz5w5cyQUClX07Z7nyR133CGHHXaYTJ8+XaZOnSrnnnuu5HI5WbZsmTnnoYceatI77bRT1X9vkY997GPy2GOPSbFYFBGR3//+9zI2NibHHntsZZ8333xTzjrrLJk9e7ZMmTJFpk6dKgsWLJCFCxeOWxf1eP755yWdTssxxxxj6uDAAw+UNWvW1Cz766+/LplMRo455hjz+2OPPVYWLlwofX19612WcDhsVvZ+N6pAr+6//fbbi4jIypUrK78br27S6bS88MIL8slPflJ8Pl/dMhxyyCGV7fb2duns7Bz3+YVCIbNQ2Lu69neP29A6RjZFe303JBw54IADzEJ6O+20k/T19ZlQ+rWh609EZMcddzT399JLL8khhxxitPFHHXXUuPf+4osvVu2bSCTk4IMPNvutz72vjV/+8pdy1FFHyY477ihTp06V448/XkREFixYICIiu+22m7zyyity5ZVXyjPPPFNVH3/84x+lu7tb9ttvP/OMDjrooA1cL2NtYx9/+MMf/vCHP/zhD3+25M/y5atkfeECc4qjjjpKvva1r8l1110n6XRa/uEf/qFqn6GhISmVSjJv3jyZN29eVf674c933HGHXHPNNfKlL31J5s6dKy0tLfLiiy/KZZddVqXHbW5uNulQKFS1D3LcccfJddddJ0899ZQceuih8vDDD8s+++xT0dKOjY3JySefLF1dXXLllVfK5MmTJRKJyNe+9rV1Ch+ux8DAgIiIHH744WvNX758uUyePLnq96tWvdNAcXX3rq4uEXmnbtd35fdEIiF+v/ubUygUEhFbp+FwWESkUqfrUjdDQ0PieZ50d3ePW4aWlhaTXpfn19TUZMqNZdzQOkY2RXut9YzW1o49z5NCoVC5v7WB9RcOh801V69eLbvuuqvZJxqNSiKRqHlOEZE1a9ZIU1NT1QJ4WP71uXfkt7/9rXz5y1+W0047TS655BJpbW2V1atXy1lnnVU59pBDDpEbb7xR7r77brnrrrskkUjIJz7xCbniiiskHo/LwMCArF69eq2r5AcCgbrXJ4QQQggh2y78WFfE43E58sgj5Y477pBjjjlG4vF41T4tLS3i8/nkq1/9qnzwgx+syp8wYYKIiPzmN7+RY445Ri655JJK3htvvLHRyjp16lSZPXu2PPzwwzJnzhz53e9+Z671/PPPy4oVK+TnP/+5zJgxo/J7XPgKiUQiUigUzO+GhoZMurW1VURE7r333sqHtmb69OlrPfe7ddPf3y/t7e2V369Zs0ZERNra2uqWbWOxLnXT2toqfr9fVq9evVnKhGxoHSObor2OF2mwsenu7pb+/n7zu2w2O66/fVdXl4yNjVWtWI8RHO+lr/7mN7+RvfbaS7797W9XfodrSYiIfOpTn5JPfepT0t/fL4899pj88z//sySTSZk3b560trbKxIkT5e67716naxJCCCGEkPcH/FgHTjvtNMnn83LqqaeuNT8ej8vee+8tCxYsMAt0Idlstuq/iXrV843Bxz72Mbn55pvlwAMPlGw2a8LL3/0PsS7Dc889J0uWLKm7MNWkSZNkbGxMVqxYIZMmTRIRkf/+7/82++yzzz4SjUZl1apVcuSRR65zeXfeeWeJxWLym9/8xtTdI488IjvssIN0dHSs87neC+tSN/F4XPbaay/55S9/KWecccZm/0Dd0DpGGqm9biizZ8+WX/ziF+aj+z/+4z/GPW7PPfes7PuupCWVSskf/vAHaWpqquy3Lvf+bsQG/qc9m81KJBKpe6ymo6NDTj31VPntb39b+YPAQQcdJLfddpskEgnzxyMEIw4IIYQQQsi2DT/WgQMOOMBoidfG5ZdfLp/+9KfF5/PJMcccI4lEQpYtWyaPP/64fP3rX5fp06fLIYccInfffbfstddesv3228uvfvUrWbRo0UYt67HHHivXXnutXHvttbL//vtX/ksqIrL33ntLIpGQiy66SM455xxZsWKFzJ8/XyZOnFj3nIcffrhEo1H56le/Kl/4whdk8eLF8rOf/czs09LSIl/96lflG9/4hixdulQ+8IEPSLlcloULF8rTTz9tVvLWtLW1yec+9zn5/ve/L4FAQGbPni2PPfaYPPHEExtsSbYhrGvdzJs3T0466SQ55ZRT5LOf/azE43F5/vnnZdasWWuVSGxMNrSO10ajtNcN5XOf+5z85Cc/kdNPP13OPvtsWbNmjdxyyy0Si8WM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\n",
"text/plain": [
"<Figure size 936x165.6 with 6 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_anat(mean_img(func), cmap='magma', colorbar=False, display_mode='x', vmax=2, annotate=False,\n",
" cut_coords=range(0, 49, 12), title='Mean value of machine learning dataset');"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As a reminder, the shape of our machine learning dataset is as follows:"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(40, 51, 41, 384)"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"func.shape"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Specifying labels and chunks\n",
"\n",
"As in the `nilearn` and `PyMVPA` notebook, we need some chunks and label variables to train the neural network. The labels are important, so that we can predict what we want to classify. And the chunks are just an eady way to make sure that the training and test dataset are split in an equal/balanced way.\n",
"\n",
"So, as before, we specify again which volumes of the dataset were recorded during eyes **closed** resting state and which ones were recorded during eyes **open** resting state recording.\n",
"\n",
"From the [Machine Learning Preparation](machine_learning_preparation.ipynb) notebook, we know that we have a total of 384 volumes in our `dataset_ML.nii.gz` file and that it's always 4 volumes of the condition `eyes closed`, followed by 4 volumes of the condition `eyes open`, etc. Therefore our labels should be as follows:"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array(['closed', 'closed', 'closed', 'closed', 'open', 'open', 'open',\n",
" 'open', 'closed', 'closed', 'closed', 'closed', 'open', 'open',\n",
" 'open', 'open', 'closed', 'closed', 'closed', 'closed'],\n",
" dtype='<U6')"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"labels = np.ravel([[['closed'] * 4, ['open'] * 4] for i in range(48)])\n",
"labels[:20]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"***Second***, the `chunks` variable should not switch between subjects. So, as before, we can again specify 6 chunks of 64 volumes (8 subjects), each:"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
" 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
" 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2,\n",
" 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2])"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"chunks = np.ravel([[i] * 64 for i in range(6)])\n",
"chunks[:150]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Keras - 2D Example\n",
"\n",
"Convoluted neural networks are very powerful (as you will see), but the computation power to train the models can be incredibly demanding. For this reason, it's sometimes recommended to try to reduce the input space if possible.\n",
"\n",
"In our case, we could try to not train the neural network only on one very thin slab (a few slices) of the brain. So, instead of taking the data matrix of the whole brain, we just take 3 slices in the region that we think is most likely to be predictive for the question at hand.\n",
"\n",
"We know (or suspect) that the regions with the most predictive power are probably somewhere around the eyes and in the visual cortex. So let's try to specify a few slices that cover those regions.\n",
"\n",
"So, let's try to just take a few slices around the eyes:"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA+sAAADNCAYAAADAHeH/AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzt3Xl8VNXd+PHvTJLJvicsE0iUsCOriiLIo3VFrWJFQcS1CoXHFrBSfZBStSqKYOuCdWmLVutSW6lb+9iKrRX1qRbRuldRBELYspB1JpOZ+/vDH3PP+SYTEtarfN6vV16vubl37pw5c+6de+ae7/n6gsGgIwAAAAAAwDP8B7oAAAAAAADARmcdAAAAAACPobMOAAAAAIDH0FkHAAAAAMBj6KwDAAAAAOAxdNYBAAAAAPAYOusAAAAAAHgMnXUAAAAAADyGzjoAAAAAAB6TfKALsD+tWbNGunXrdqCLAQCesXXrVhk5cuSBLgYAAACUg+rOOh11ALBxXgQAAPCmg6qzDgAAAADA18E3dhj8pk2bDnQRAOBrgfMlAADAvhUMBrv8HO6sAwAAAADgMXTWReTJJ5+UU089Vfr37y+DBw+Wk08+Wa6//vr4+g0bNkhJSYn89a9/7dJ+58yZIxMmTNjLpXVt2bJFLrzwQhk4cKCUlJTI66+/3u529957b7vrSkpKZPny5fusfAfS66+/LiUlJfLxxx93uN2+/oy0SZMmyRVXXLHfXq+zdreNH6yefPJJKSkpkcbGxgNdFAAAAHxDfWOHwXfW3XffLbfffrvMnDlT5s+fL6FQSN577z15+umnrQ67F911113y4YcfyrJlyyQvL0/69+/f7nb33nuvXHrppXLMMcfs5xJ635w5cyQUCh3oYhxw3bp1k2effVb69u17oIvytXDiiSfKs88+K+np6Qe6KAAAAPiGOug76w899JBMmzZN/ud//if+v5NPPlmuuuqqA1iqzvnss89k5MiRcsIJJxzoonxtHXLIIQe6CPtMc3NzpzuTqampcvjhh+/jEn1zFBYWSmFh4YEuBgAAAL7BDvph8Dt27JDi4uI2//f5fB0+76mnnpKJEyfKkCFDZPDgwTJp0iR599132932f//3f2X8+PHSp08fmThxovznP//ZZbnWr18vl112mQwYMED69+8vF198sXzxxRfx9SUlJbJq1Sr585//LCUlJXLUUUe1u5+jjjpKampq5I477pCSkpI2w+Wj0agsWrRIhg4dKsOGDZP58+dLOBy29lFRUSEzZ86UIUOGSHl5uUydOlU+++yzDsu/c5jwe++9J5MmTZLy8nI56aST5L333pOmpiaZO3euDBw4UMaMGSN//OMfree+9NJLMmXKFBk2bJgMGDBAzjjjDHnllVfavMaHH34oF198sQwaNEj69esnp59+uvzjH/+wtqmurpbp06dLv379ZMyYMfLQQw9Z6/Uw+J3l/uijj2TKlCnSt29fGT9+vPzpT39q8/ovvviiTJgwQfr06SMjRoyQm266SSKRSIf10p6PP/5YLrzwQunfv7/0799fpk+fLlu3bo2vb2pqkuuuu06OPfZYKS8vl6OPPlrmz58v9fX11n5KSkrk/vvvl4ULF8rQoUPlxBNPFBF36P2KFStk7NixMmDAAJk2bZo1qVh7w+CPOuooufHGG+WBBx6Qww8/XAYPHiwzZ86UHTt2WK/74Ycfyplnnil9+vSR448/XlauXCkTJkyQOXPmdPi+d+7/nnvukZEjR8rAgQPlhhtuEMdxZOXKlXL88cdL//795bLLLpPa2lrruTU1NfKjH/1Ihg8fLn369JEzzzxT3n77bWub++67T0477TQZOHCgDB8+vM0x1Nm6aY8eBr+z/p555hmZO3euDBgwQA4//HD5wx/+ICJfjW4ZNWqUDB06VG6++WaJxWLxfX322Wcyc+ZMOeKII6S8vFyOP/54efDBB61tulLPb775ppxzzjlSXl4uQ4YMkXnz5klDQ0OH7wcAAADec9DfWR86dKgsX75cSkpK5MQTT5SCgoJOPW/jxo0yadIkKSsrk0gkIitWrJDvfOc78vLLL0tZWZm13Q033CDz5s2TtLQ0Wbp0qUydOlVWrVolaWlp7e47HA7L5MmTJTk5WRYvXizJycmydOlSmTRpkrz00kuSn58vzz77rMyfP19ycnLk2muvldTU1Hb39atf/UrOPfdcOf300+X8888XEbGGy99///0yduxYufvuu+Wjjz6SRYsWSa9evWTWrFki8lWnaOLEiZKfny+LFi2S9PR0WbZsmUyZMkVeffXVXd65nTNnjlxyySUya9YsueWWW2T69OkyYsQIKSsrkwceeECeeOIJmT17towePTo+Q+KGDRvkpJNOku9973vi9/vl5ZdflmnTpsnTTz8tRx55pIh81cGZOHGilJeXy6233ir5+fny7rvvtulkzZs3T84991yZNm2a/PGPf5TrrrtOhg8fLiNHjuyw3FdeeaVccMEFMnPmTPn1r38ts2bNktdffz1exmeffVb++7//W6ZNmybXXnutrFu3Tm699VaJxWKycOHCDvdt+uKLL2TixIkybNgwueuuuyQajcrtt98ul1xyibzwwgvi8/mkublZotGoXHPNNVJYWCibNm2Su+66S2bMmCGPPfaYtb/77rtPjjrqKLnrrruszt6aNWtky5YtsnDhQgmFQrJw4UK55ppr5JFHHumwfM8995wMGjRIFi9eLJWVlXLDDTfIrbfeKosWLRKRr+7eX3DBBVJcXCzLli2TcDgs119/vezYsUMGDBiwy/f/zDPPyMiRI+WOO+6Qf//737J48WKJxWLyz3/+U+bNmyehUEgWLFggixYtkttuu01Evjo+pkyZInV1dbJgwQIpKiqS3/zmNzJlyhRZtWpVPG94ZWWlXHLJJdKrVy9paGiQRx55RCZOnCivvvqq5OTk7HHdtOfmm2+Ws88+Wx588EF54oknZM6cOfL+++/Lxo0bZenSpfH3eNhhh8lZZ50VL2d5ebmcffbZkpWVJR988IEsXbpUQqGQfP/73+9SPb/11lsyefJkOeWUU+SBBx6QmpoaWbRokdTW1sqDDz7Y5fcDAACAAygYDDrfxD8RafPXng8++MA5+uijnWAw6JSUlDjHHXecs3jxYqeuri6+zfr1651gMOj85S9/aXcf0WjUiUQizrHHHuvccccd8f/Pnj3bCQaDzptvvhn/34YNG5zevXs7Dz/8cLv7chzHefjhh53evXs769ati/+voqLCKSsrc+666674/8455xzn8ssvT7ifnYYMGeIsWbKkzf+DwaBz9tlnW/+79NJLndNPPz2+fNtttzmDBw92qqur4/+rqalxBgwY4Cxfvjzhaz7xxBNOMBh0nnzyyfj/XnrpJScYDDpz586N/2/Hjh1OaWmp89BDD7W7n511e/7551vPmzlzpjNq1Cinqamp3ee99tprTjAYdBYvXhz/X0tLi3PYYYc5N998c/x/s2fPdk499dQ25X788cfj/6uqqrI+s1gs5hx55JHOnDlzrNd8/PHHnT59+jhVVVUJ60V/ZldeeaUzbtw4JxwOx/+3du1ap1evXs5f//rXdvcRiUScN9980wkGg87GjRvj/w8Gg85JJ53U7msOGDDAqampif/vgQcecILBYLz+2mvjo0ePdsaMGeNEIpH4/3784x87w4cPjy8vX77cKSsrczZt2hT/39tvv+0Eg0Fn9uzZCeth5/6POeYYp7W1Nf6/0047zendu7fz5Zdfxv/305/+1Bk2bFh8+bHHHnPKysqctWvXWnUyZswY58Ybb2z3tVpbW52mpianX79+zu9+97su1U17draThoYGx3Hc+jPbRF1dnVNaWtrue5wxY0a7+43FYk4kEnHuvPNO5+ijj47/v7P1PHHiROecc86x9vnqq686wWDQ+eijjxK+n/bOl/zxxx9//PHHH3/87b2/3enTHvTD4AcPHix///vfZfny5XLxxReL4zjy85//XCZMmNDhTM+ffvqpfPe735Xhw4dL7969paysTNauXSuff/65tV1RUVH8brCISK9evWTYsGHyzjvvJNz3O++8I0OHDrXu0AeDQTniiCPkzTff3IN329b48eOt5X79+kllZWV8+dVXX5Xx48dLdna2tLa2Smtrq2RlZcnQoUMTDvs3jRs3Lv54Z3z42LFj4//LycmRwsJC2bx5c/x/mzZtktmzZ8vhhx8upaWlUlZWJq+88opVt6+99pqceeaZu7yz/1//9V/xxykpKXLooYda7y8Rs14KCgqkqKgo/ry1a9dKRUWFfPvb347XSWtrq4wdO1ZCoZB88sknu9z/TqtWrZIJEyaI3++P76e0tFR69+4t//73v+Pb/f73v5eTTz5Z+vXrJ2VlZTJx4sR4WUyJ5i8YPny45OXlxZd3jq4w6709xxxzjCQnuwNw+vfvL9u3b5eWlhYRcdtqz54949uMHDmy3dCS9owZM0aSkpLiy4cccoj07t1bSktLrf9VVVXFX/PVV1+VoUOHSmlpabzORESOPvpoq02uXr1apkyZIkOGDJHS0lLp27evNDY2tjlGd7du2mO29+zsbCksLGz3PZr7DoVCsmTJEhk7dqwceuihUlZWJrfddpusX78+/t46U8/Nzc2yevXqNu1y9OjRkpKSYrUnAAAAeN9BPwxe5KvJtU4++WQ5+eSTRUTk8ccfl6uvvloef/xxufzyy9ts39DQIOeff74UFxfLT37yE+nVq5ekpqbK1Vdf3WZm8aKi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\n",
"text/plain": [
"<Figure size 936x165.6 with 6 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_anat(mean_img(func).slicer[...,5:-25], cmap='magma', colorbar=False,\n",
" display_mode='x', vmax=2, annotate=False, cut_coords=range(0, 49, 12),\n",
" title='Slab of the machine learning mean image');"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Hmm.. That doesn't seem to work. We want to cover the eyes and the visual cortex. Like this we're too for down in the back of the head (at the Cerebellum). One solution to this is to rotate the volume.\n",
"\n",
"So let's do that:"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"# Rotation parameters\n",
"phi = 0.35\n",
"cos = np.cos(phi)\n",
"sin = np.sin(phi)\n",
"\n",
"# Compute rotation matrix around x-axis\n",
"rotation_affine = np.array([[1, 0, 0, 0],\n",
" [0, cos, -sin, 0],\n",
" [0, sin, cos, 0],\n",
" [0, 0, 0, 1]])\n",
"new_affine = rotation_affine.dot(func.affine)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"# Pad functional image with zeros to prevent clipping during rotation\n",
"pad_size = 5\n",
"data_pad = np.pad(func.get_fdata(), pad_size,\n",
" 'constant')[..., pad_size:-pad_size]"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"# Rotate and resample image to new orientation\n",
"from nilearn.image import resample_img\n",
"new_img = nb.Nifti1Image(data_pad, new_affine)\n",
"img_rot = resample_img(new_img, func.affine, interpolation='continuous')"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"# Delete zero-only rows and columns\n",
"from nilearn.image import crop_img\n",
"img_crop = crop_img(img_rot)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's check if the rotation worked."
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA+sAAADNCAYAAADAHeH/AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzsnXmYFdW19teZT5/T80A33cw0yCwIURHEEUXEKfqJimBMIkbFgFPMDcYkaryGKxhnYxyiwUQTr2PUGCVxNjEqXhVEReZu6Hk4febp+6Oq9nqLU0U3ceAA6/c8/bCoU7VrV9Xau4b97rUctbW1WRIEQRAEQRAEQRAEIW9w7ukKCIIgCIIgCIIgCIJgRl7WBUEQBEEQBEEQBCHPkJd1QRAEQRAEQRAEQcgz5GVdEARBEARBEARBEPIMeVkXBEEQBEEQBEEQhDxDXtYFQRAEQRAEQRAEIc+Ql3VBEARBEARBEARByDPkZV0QBEEQBEEQBEEQ8gx5WRcEQRAEQRAEQRCEPMO9pyvwTbJ69Wrq16/fnq6GIAh5THNzM02aNGlPV0MQBEEQBEHYz9mvRtblRV0QhN6QfkIQBEEQBEHIB/arl3VBEARBEARBEARB2BvYZ2XwjY2Ne7oKgiDspUj/IQiCIAiCIHyV1NbW7vY2MrIuCIIgCIIgCIIgCHnGfv+yvnz5cqqrq1N/EydOpAULFtDatWt3u6xEIkHLly+njz/++D+qy1133UVvvfXWf7StFS+99BLV1dXR1q1bv7Iyv2reeustqquro3Xr1u1yvSVLltAJJ5zwDdWK6IwzzqALLrjgG9tfX9m6dSvV1dXRSy+9tEfr8eCDD1JdXd1ubfNl28dXwcqVK+mvf/3rHtu/IAiCIAiCIPSV/f5lnYiouLiYnnnmGXrmmWfoF7/4BW3YsIHOPvts6ujo2K1ykskkrVixgtasWfMf1eOuu+6it99++z/adl9nyZIldMstt+zpauxx+vXrR8888wwdfPDBe7oqu82XbR9fBY888oi8rAuCIAiCIAh7BfvsnPXdweVy0eTJk4mIaPLkyTRgwAA6+eST6ZVXXqHTTjttD9dOICIaMmTInq7C10Y0GqWCgoI+revz+ZSvCoIgCIIgCIKw77IPj6y7LP76xpgxY4goN8jUli1b6Lvf/S4dcMABNHLkSDrvvPNo48aN6veRI0cSEdHll1+uZPWGBP3GG2+kY445hkaMGEGTJ0+mRYsWUXNzs9r2kEMOoY6ODlqxYoXa1pDEZzIZuuOOO2jatGk0dOhQmj59Ov3pT38y1S2bzdLy5ctpwoQJNHLkSPrhD39IPT09vR7rY489RnV1dfTRRx/RGWecQcOHD6eZM2fSRx99RJFIhC677DIaNWoUTZ06lZ566inTti+//DKdddZZNGHCBDrggANozpw59Oqrr+bsY+3atXTeeefR6NGjacSIEXTiiSfSa6+9Zlqnvb2dFi5cSCNGjKCpU6fS7373O9PvO8vgjXp/8skndNZZZ1F9fT3NmDGDnn/++Zz9v/jii3TCCSfQsGHDaOLEiXTDDTdQMpns9dzszLp162j+/Pk0cuRIGjlyJC1cuNB0DSORCC1dupQOP/xwGj58OB166KH0k5/8hEKhkKmcuro6+s1vfkPXXnstjR8/no499lgiYun9k08+SdOmTaMDDjiAzj33XJMfWsngDznkELruuuvo3nvvpcmTJ9OYMWPooosuoq6uLtN+165dSyeffDINGzaMjjrqKFq1ahWdcMIJtGTJkl0edzwep6VLl9Lo0aNp7Nix9LOf/Szn/PXl2L9M+yAi+tvf/kazZs2i+vp6GjNmDM2ZM8ekROmtnZxxxhn04Ycf0p///Ge1/8cee8zmqK36D/mTP/mTP/mTP/mTP/mTv//sr7GxiXaXffhl/T+noaGBiIgGDhyolsXjcZo7dy59/vnntGzZMrrlllto69atdMYZZyi5vPFisHjxYiWrN3I2t7a20qWXXkoPP/ww/eIXv6DNmzfTmWeeSel0moiI7r//fiouLqazzz5bbTt+/HgiIrrmmmvo1ltvpXnz5tFDDz1EJ5xwAl1xxRWmF7b777+fbrnlFpo3bx7de++95Pf76YYbbujzMS9ZsoROOeUU+u1vf0vZbJYWLlxIV1xxBVVXV9O9995LkyZNosWLF+e8OM6cOZNuu+02+u1vf0tTpkyhc889l/7973+rddavX0+nnnoqNTc300033UT3338/zZo1K+dDyFVXXUVjxoyh+++/n6ZOnUpLly6l1atX91rvRYsW0XHHHUf3338/DR06lC6++GJT2c888wx9//vfp4kTJ9KDDz5Il112GT3yyCP03//9330+N0REGzdupFNPPZXi8TjddtttdMstt9Bnn31G3/nOdyibzRKRNkKeTqfp6quvppUrV9JVV11Fb775Jl144YU55d1zzz3U3NxMt912G1133XVq+erVq+nBBx+ka6+9lpYtW0YfffQRXX311b3W79lnn6U33niDli1bRj/5yU/o5Zdfpptuukn9Ho1Gad68eRSLxejOO++kxYsX089//nPl67vixhtvpD/+8Y+0ePFiuv3226mhoYF+85vfmNbpy7F/mfaxadMmWrhwIU2bNo1+97vf0e23307HHHMMdXZ2qvJ7ayc33ngj1dfX09FHH632b3woEQRBEARBEIR8Q2TwOqlUioiItm3bRtdccw2NHTuWjj/+ePX7Y489Rg0NDfT666/T4MGDiYho0qRJdNhhh9HKlSvp0ksvpYkTJxIR0eDBg3OkyitWrFB2Op2myZMn05QpU+jf//43HXrooTRu3DhyuVzUv39/07YbN26khx9+mFasWEFnnnkmERHNmDGDmpqa6JZbbqGZM2dSOp2mu+66i84991z1YnfkkUfSWWedRTt27OjT8V944YWq/Gw2SwsWLKCpU6fSj3/8YyIimjhxIj333HP00ksv0XnnnUdEROeff77aPpPJ0GGHHUafffYZ/fGPf6Rvfetb6riLioroiSeeUFLvGTNm5Oz/1FNPVSO8U6dOpZdeeoleeOEFmjRp0i7rfcEFF9BZZ51FRETjx4+niRMn0ssvv0wLFiygbDZLN9xwA51xxhnq5fyII44gn89HS5cupUWLFlF5eXmfzs+KFSuoqqqKVq5cSV6vl4iIRo8eTUcccQStWrWKjj32WKqoqDC9IKdSKRo0aBCdeuqp1NDQYArIVlVVRffcc0/Ofnp6eujhhx+m0tJSIiJqbm6mn//8571K5T0eDz3wwAPkdmtN+rPPPqNnnnlGHfdjjz1GHR0d9Pzzz1P//v2JSPPTOXPm7PK429vbaeXKlXTFFVfQD37wAyLSfOvII480rdeXY/8y7ePjjz+mYDBIP/3pT9V6xxxzjLL70k5GjhxJgUCAKioqZCqBIAiCIAiCkPfIyDoRdXR00ODBg2nw4ME0bdo0+vjjj+m+++4jn8+n1vnggw9o/Pjx6kWdSMuVN2XKFHrnnXd63cff//53Ovnkk2nUqFE0aNAgmjJlChERbdiwYZfbvfHGG+R0OumEE06gVCql/qZPn05r1qyhdDpNjY2N1NTUZPq4QES7FT19+vTpyjbmh0+bNk0tKy4upoqKCtPLf2NjIy1evJgmT55MgwYNosGDB9Orr75qOqY333yTTj755F7nZB9xxBHK9ng8NHToUNq+fXuv9cYX//LycqqsrFTbffHFF9TQ0EAnnXSS6dxNmzaNYrEYffrpp72Wb/DGG2/QCSecQE6nU5UzaNAgGjhwIH344Ydqvccff5yOO+44GjFiBA0ePJhOPfVUVRcEXzSRAw88UL2oE7F0vLePLocddph6UTe2a21tpUQiQUTsv8aLOpH2samqqmqX5a5bt45isZjJt5xOZ46vEfX92K3orX2MGjWKQqEQLV68mF599VWKRCKm7fvSTgRBEARBEARhb0JG1kl7EX300UcpnU7T2rVr6frrr6dLLrmEnn76aXI6te8Zzc3NVFlZmbNtVVUVbdu2bZflf/DBB3T++efTrFmzaNGiRVRRUUEOh4NOOukkisfju9y2vb2d0uk0jRo1yvL3pqYmNbd35/pZ1deOkpISZRsjx8XFxaZ1PB6Pqm8mk6Hzzz+fenp66Morr6QhQ4ZQIBCgm2++mVpbW9U2HR0dVF1d3ev+d96X1+ulWCy2W/XeuY7G9IT58+dbbruzFH9XtLe305133kl33nmnbTkvvPACLV68mBYsWEA//vGPqbS0lJqbm+l73/teznW2e0m2OudE1KufWG2XzWYpmUyS1+ullpYWqqioyNnOahnS0tJiud7O/9+dY9+ZvrSP+vp6euCBB+jOO++k+fPnk8fjoVmzZtF1111HFRUVfWontbW1u6yHIAiCIAiCIOQT8rJORC6Xiw488EAiIjrooIPI7/fT4sWL6dlnn6VTTjmFiLSUWZ999lnOti0tLaaRUCteeOEFqqiooHvuuYccDgcRUa8v+AalpaXkdrvpqaeeUh8OkMrKSjVqiC/JVv//Ktm4cSN9/PHHtHLlSjrqqKPU8mg0alqvrKyMmpp2P5jCV4FxXZYtW0bjxo3L+R1jEvSlrFmzZtE555yT85shpf/LX/5CkyZNMs2Ht0vFZ/jBN0VVVZXlCHdbW1uv2xnrlZWV2W63O8e+M31tH8ceeywde+yx1N3dTatWraKf/exndM0119Ddd9/dp3YiCIIgCIIgCHsT8rJuwemnn0533XUX3XXXXeplfdKkSfT444/Tli1baNCgQUREtH37dnrvvffo8ssvJyL7UdBYLEZut9v0gvbEE0/k7Nfr9eZsO23aNEqn0xQKhSznehNpcvx+/frRiy++aHpxfuGFF3b30PuMMeptjMITaS9Y7777Lo0ePVotmz59Oj377LN09dVXk9/v/9rqY8Xw4cOppqaGtm7dSvPmzftSZU2fPp0+/fRTmjBhgu2LdiwWM02dICJ68sknv9R+vyomTpxITz75JG3fvl1J4VevXq1Gzu0YNWoU+f1+evHFF6m+vp6INFXFiy++aFqvL8f+ZduHQXFxMZ122mn09ttv0/vvv09EfWsnRh16G+kXBEEQBEEQhHxAXtYtcDgcdOmll9KiRYvo9ddfp8MPP5zOPPNMFcTtyiuvJJfLRStWrKDy8nI699xziUh7cR00aBA9++yzNGrUKPL5fDR69GiaMWMG3XfffXTttdfSzJkz6d1337V8GRk+fDitWrWKjjzySAoGgzR8+HCqr6+n+fPn00UXXUQXX3wxTZgwgeLxOH322We0YcMGuvnmm8nlctFFF11E119/PZWXl9MhhxxCzz33HH3++edf2zmqr6+n/v3703XXXUdXXXUVhcNhuvnmm6mmpsa03mWXXUYnnnginX766bRw4UIqKyujNWvWUFlZmQoM93XhdDrp2muvpcWLF1NPTw8dddRR5PF4aMuWLfTiiy/Svffe2+f85pdffjnNmTOHFixYQHPnzqXy8nLasWMHvfbaa3TmmWfSYYcdRocffjgtXbqUbr31Vpo0aRL9/e9/pzfeeONrPca+MnfuXLr11lvpvPPOo8svv5xisRjdfPPNVFFRYTkSbVBeXk7z5s2j5cuXk8vlogMOOID+8Ic/UDgcNq3Xl2P/Mu3j97//Pb333nt01FFHUXV1NW3cuJGee+45Ov3004mI+tROjPVeffVVeuWVV6isrIwGDhzY5yCDgiAIgiAIgvBNIgHmbDj55JNp6NChdPfddxMRkc/no0cffZTq6+vpyiuvpCVLllBdXR39+c9/NsmDb7rpJuro6KCzzjqLZs+eTU1NTXTMMcfQ0qVL6fnnn6fzzz+f/vnPf9JDDz2Us8+f/vSnVFBQQAsWLKDZs2erwGU33ngjLVmyhB5//HFasGABXXbZZbRq1So65JBD1LYXXHABXXrppfT73/+eLrjgAopEInTNNdd8befH5/PRfffdR263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xOCnieLKrBr/Kq0u395s1eLXXz3ft695uMm3n+7/jtxfWO196hFmYHKlccm4CsOpVI1sj159IKzgvrLhb/y2Xw1/37fHxg++pr0Fjl4h2piS1Qti+vGshjf49vlll/v244O2codOCwGSKG7MjtteVpaWtt2GKUkAphti8AAAAAAAnOS4sn6KqKyY5dvj2a4j+tuwwF2+6Gr6tOw2OOlokZbwt8fo1IcWanQpKdqYH5dbkRjBiRZXeCjqNvp7e07ajM9IqlTM1riCWlF9nXEawMmLK+sAAAAAAJzkOFkHAAAAACBhKia/CaaD4uh7dMxSC7zkciNyC9Z4RFJp3DcqGml9vagf5+nTSKrSNXfjb0McGCeb6Cka8d8z6OsATm1cWQcAAAAAIGE4WQcAAAAAIGGIwZ+SomNoudzwcd4P4FijKjZOZvRfAABOZVxZBwAAAAAgYThZBwAAAAAgYaZxDJ7KoQAAAACAE6+9vf2I/4Yr6wAAAAAAJAwn6wAAAAAAJAwn6wAAAAAAJAwn6wAAAAAAJMy0LTB3NBP4AQAAAABIAq6sAwAAAACQMJysAwAAAACQMJysAwAAAACQMJysAwAAAACQMJysAwAAAACQMJysAwAAAACQMJysAwAAAACQMJysAwAAAACQMJysAwAAAACQMJysAwAAAACQMJysAwAAAACQMJysAwAAAACQMJysAwAAAACQMJysAwAAAACQMJysAwAAAACQMJysAwAAAACQMJysAwAAAACQMJysAwAAAACQMJysAwAAAACQMJysAwAAAACQMJysAwAAAACQMJysAwAAAACQMJysAwAAAACQMJysAwAAAACQMJysAwAAAACQMJysAwAAAACQMP8fDTRwmExRXPEAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 936x165.6 with 6 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_anat(mean_img(img_crop), cmap='magma', colorbar=False, display_mode='x', vmax=2, annotate=False,\n",
" cut_coords=range(-20, 30, 12), title='Rotated machine learning dataset');"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Perfect! And which slab should we take? Let's try the slices 20 to 22."
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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1qyxvn372le+8hVr27atLVy40KZNm2ZVVVU2efJkGzJkiN1xxx1211132dNPP21dunRxdaysrLQJEyZYQUGB3XvvvZafn2+PP/64nX/++fbqq69afn6+JZNJmzRpkm3cuNEeeughy8vLs2nTptmmTZusd+/eGe/PW2+9ZZWVlXbXXXdZeXm5ff/737f8/Hx766237Oqrr7bWrVvbHXfcYd/97nft+eefd79bv369TZ482bp27WobNmywJ5980s477zybNWuWNWvWzMzMHn30UXvooYfskksusdtvv9127txps2bNsu3bt1v79u3N7MBL1l133WWTJ0+2/Px8+8EPfmDf/va37eWXXz7oh6C3337b1q5da1OnTrWqqiqbOnWq3XzzzfbLX/7S7XPllVfa/Pnz7cYbb7RevXrZH//4R7vsssvsL3/5S1ax3z/96U/tvvvus6uuusqOP/54W7BggT344IOWn59vl112mTuPkSNH2sUXX2x5eXn25ptv2g033GC5ubk2YcKEtPK+853v2De+8Q27/vrrrUOHDm77PffcY2eeeab9/Oc/t9mzZ9sjjzxiZWVldvbZZx+0flOmTLGvfvWrdtFFF9kf/vAHu+2222zo0KF27LHHmpnZzJkz7fbbb7dLLrnETj/9dJs7d67ddNNNGc97586d9vWvf90KCgrsscces6qqKrvzzjtt+/btNmDAALdfpnOvTfswM3vsscfshRdesFtvvdV69Ohh69ats5dfftn27dtnZpnbSZcuXeyxxx6za665xu65557DEgYjhBBCCCHqkUQikWyMf8ysxh8fCxcuTI4ZMyaZSCSSxcXFyVNOOSX5wAMPJLds2eL2WbFiRTKRSCT/9re/ecvYt29fcs+ePcnPf/7zyYcffthtv/baa5OJRCI5d+5ct23lypXJ0tLS5HPPPectK5lMJp977rlkaWlpcvny5W5beXl5smfPnskf//jHbtu5556b/OY3v0nLiRg1alRy2LBhyZ07d6ZtP+uss5Lnnntu2rbHH388WVJSkiwvL08mk8nkL37xi2QikTho+fv370/u2bMn+aMf/Sg5ZswYt/1vf/tbMpFIJFesWJG2//33358cNGhQcuPGjW5bZWVlcsCAAcnp06cnk8lk8qWXXkomEonkvHnz3D7Rtate5+qce+65yYEDByY3b97stl155ZXJRCKRfOONN9y26dOnJxOJRHLHjh3ecvbu3ZtcvXp12u82bdqU7NOnT/LOO++kx7/22muTpaWlyaVLl7ptM2fOTCYSieSHH37otiUSieQvfvGLtHoPGDAgWVlZ6bb9/Oc/T6vjK6+8kkwkEsnXX3897Zhf+cpXkldccQWtU3Uf3rJlS7Jfv37JadOmpe33wAMPJIcOHZrcu3dvjTKi+zxlypTkxIkT3fbf/OY3yUQikXzqqae8x5w8eXLa9nHjxiW//e1vu38/9NBDycGDB7t/v/baa8lEIpF84IEH3Lbdu3cnjz766OQ999zjto0fPz550UUXpZV9yy23JBOJRPK1116j12L69OnJHj16OB9PJpPJuXPnJhOJRPLaa6/1/oade23ax8UXX5z83ve+R38X0k4WLVqU8XwjfH2i/uiP/uiP/uiP/uiP/hy5P9m+0zZ5GfygQYPsn//8p02fPt0uueQSSyaT9uijj9r48eNt+/bt9HcffvihXX755TZ06FArLS21nj172tKlS23ZsmVp+3Xu3NlGjhzp/l1SUmLHHHOMzZ8/n5Y9f/58GzJkSNoMfSKRsBEjRtjcuXMP6TxPPPHEtJn8ffv22XvvvVcjwdnZZ59t+/fvt3nz5h20vKqqKnvooYfshBNOsN69e1vPnj3t/vvvtxUrVriZe8arr75qJ510krVr18727t1re/futbZt29qQIUNcKMH8+fOtqKjIjjvuOPe76NqFcMwxx7hZbjOzXr16WcuWLW3UqFFuWzRD/+mnn7ptL7/8sp199tk2cOBA69Gjh40YMcLMzN3XefPmWVVVlX3ta1876PFLS0utT58+7t/9+/c3s8zyl6FDh1rHjh3dv8vKytLqOHv2bOvSpYuNHDnSXbu9e/faiSeeaAsWLDho2ci8efNsx44d9qUvfSmtnBNOOMEqKipszZo1Zma2adMmu+OOO2zUqFHWs2dP69mzpz3//PM1/NzMaO6Ek08+Oe3fZWVlrvyDgb9r0aKF9e7d2/1u3759tnDhQjvttNPSflP93z6i9oVx8iNHjrTOnTun7ZfNuVcnpH0MHjzY/uu//sueeOIJe//99+3A+3SKkHYihBBCCCEaL01eBm9mlpeXZ6eddpob6P/617+2m266yX7961/bN7/5zRr7b9u2zS644AIrKiqyO++800pKSiwvL89uuukmq6qqStu3+guAmVlhYaE3Djpi3bp13t8VFRXZqlWrsj09bz02btxoe/bsqRGvH+23adOmg5b3wx/+0H71q1/ZDTfcYEcffbR16NDBXnzxRfvRj35ku3btsubNuWtt3LjR3nrrLScdRk488UQz49egsLDwoB9RIvBF3cysZcuW1qZNG8vNTX2fatGihZkdCDswO/ASd9lll9kZZ5xh11xzjRUWFlpOTo59+ctfdvtUVlaamVnXrl2zPj4eK/R31eu4ceNGW7duXdqHnIhIph/Cxo0bzczsC1/4gvf/V69ebSUlJXb99dfbW2+9Zdddd53179/f2rVrZ//xH/9hL774Yo3f+HI/sHPKdB18v2vZsqVrXxs2bLC9e/daYWFh2j7V/+2joqLC61vVt2Vz7tUJaR/XXnut5ebm2nPPPWf33HOPdevWza666irX54S0EyGEEEII0XjRy7qHCy64wO6+++4aCc8i5s2bZ2vWrLHf/OY31q9fP7d969atNfZdv359jW0bNmxwM6Y+unTp4k1CV1FRkTbrmg3V46Q7depkLVq0qFG/6N+ZjvOnP/3JJk2aZFdffbXbFprkrKCgwMrKyrxrWrdp08bMDlwDdu1Cs4xny8yZM62wsNB+9rOfuetV/eNIQUGBmR1Y4z40v0Fd0rFjR+vWrZv94he/qHU5ZmbPPfec9yW7b9++VlVVZbNmzbK7777bvvGNb7j/wyRpSKakjHVJYWGhNW/e3DZs2JC2vfq/fRQVFXnbNvpbtudenZD20apVK5syZYpNmTLFli1bZr/85S/tzjvvdAnpQtqJEEIIIYRovDR5GTx7Idy6dSudKYxm96LZUjOzN99807vW8fr16+3NN990/y4vL7d3333Xhg0bRut07LHH2oIFC2zFihVu25o1a2zevHlpMu7a0KxZMxsyZIj96U9/Stv+xz/+0XJzc92yYtHMbnXFQFVVVdr579u3z/7nf/4nbR82m3zCCSfYkiVLrKyszIYOHZr2J/r4MXToUKuoqLC33nrL/S66doeLqqoqa968edpLZ/XM58OHD7dWrVrZ7373u8NWj4Nx4oknWkVFhbVp06bGtRs6dGhwOdF5rF271ltO27Ztbffu3bZv37605IXbtm3zZk4/0jRr1swGDx5coy4hdRs2bJi9++67aSEJb775ZlpfEHrutWkfSJ8+fWzq1KmWl5fnPtSFtJPqygshhBBCCNF4aPIz62PHjrXTTz/dTjrpJOvcubOtWrXKfvazn1l+fr599atf9f7muOOOszZt2tiUKVPs6quvtjVr1ti0adOsW7duNfbt1KmTXXvttS4b/EMPPWSdO3e28847j9bpvPPOsyeeeMIuuugiu+mmm6xZs2b28MMPW6dOneyiiy6qs3O/6aab7MILL7Trr7/ezjnnHFu8eLE9+OCDduGFF7p43uil4JlnnrETTjjB2rZta/369bPPf/7z9uyzz1qvXr2sY8eO9txzz6UtOWV2YHbWzOyXv/ylnXPOOZafn29HHXWUfetb37Lf//73dt5559mkSZOsW7duVlFRYXPmzLFRo0bZhAkTbOzYsTZo0CD71re+Zbfddpvl5eW5a3e4OOmkk+zpp5+2qVOn2he/+EX717/+VeNlvUOHDnbdddfZ/fffb3v27LFTTz3Vdu/ebbNmzbLrr7/eunfvftjqF9Xx5JNPtvPPP9++853vWFlZmW3bts0WLlxou3btsltvvTWonA4dOtiNN95oU6dOtVWrVtmYMWNs//79tmzZMnv99dftmWeesfbt29uwYcPskUcesbZt21pubq49/vjj1r59e6+K5EgzefJk++Y3v2m33XabnXbaafbmm2+62WsMd6jO1772NfvRj35k3/jGN+zGG2+0qqoqe/DBB9OUEqHnXpv2cfnll9uQIUPs6KOPtlatWtmf//xn27t3r40ZM8bMLKidFBcXu49H7dq1sxYtWmT10UYIIYQQQsSXJj+zfv3119vKlStt6tSpduGFF9qDDz5oAwYMsD//+c/Wo0cP72+KiorsySeftIqKCps0aZI9/fTTdt9993mXFCspKbHbb7/dpk2bZldffbW1bdvWnn/++YNKufPy8pzE/qabbrLrrrvOiouL7Xe/+52TYdcFJ598sj3xxBO2YMECu/TSS+2pp56yK6+80u655x63z+jRo+2qq66yZ555xr70pS/ZLbfcYmZmd999t40ePdpuu+02u/HGG23AgAF2zTXX1Dj3O+64w2bOnGkTJkxw66536tTJ/vjHP1q/fv3se9/7nl144YV2zz332NatW+2oo44yswOS6meffdbKysrsxhtvtDvvvNOteX24GDt2rN122232l7/8xS677DKbM2eOPffcczX2mzx5st1777326quv2qRJk+zm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\n",
"text/plain": [
"<Figure size 936x165.6 with 6 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from nilearn.plotting import plot_stat_map\n",
"img_slab = img_crop.slicer[..., 20:23, :]\n",
"plot_stat_map(mean_img(img_slab), cmap='magma', bg_img=mean_img(img_crop), colorbar=False,\n",
" display_mode='x', vmax=2, annotate=False, cut_coords=range(-20, 30, 12),\n",
" title='Slab of rotated machine learning dataset');"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Perfect, the slab seems to contain exactly what we want. Now that the data is ready we can continue with the actual machine learning part."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Split data into a training and testing set\n",
"\n",
"First things first, we need to define a training and testing set. This is *really* important, because we need to make sure that our model can generalize to new, unseen data. Here, we randomly shuffle our data, and reserve 80% of it for our training data, and the remaining 20% for testing.\n",
"\n",
"So let's first get the data in the right structure for keras. For this, we need to swap some of the dimensions of our data matrix."
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(384, 40, 66, 3)"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data = np.rollaxis(img_slab.get_fdata(), 3, 0)\n",
"data.shape"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As you can see, the goal is to have in the first dimension, the different volumes, and than the volume itself. Keep in mind, that the last dimension (here of size 3), are considered as `channels` in the keras model that we will be using below."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Note:** To make this notebook reproducible, i.e. always leading to the \"same\" results. Let's set a seed point for the random split of the dataset. This should only be done for teaching purposes, but not for real research as randomness and chance are a crucial part of machine learning."
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [],
"source": [
"from numpy.random import seed\n",
"seed(0)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As a next step, let's create a index list that we can use to split the data and labels into training and test sets:"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(307, 40, 66, 3) (77, 40, 66, 3)\n"
]
}
],
"source": [
"# Create list of indices and shuffle them\n",
"N = data.shape[0]\n",
"indices = np.arange(N)\n",
"np.random.shuffle(indices)\n",
"\n",
"# Cut the dataset at 80% to create the training and test set\n",
"N_80p = int(0.8 * N)\n",
"indices_train = indices[:N_80p]\n",
"indices_test = indices[N_80p:]\n",
"\n",
"# Split the data into training and test sets\n",
"X_train = data[indices_train, ...]\n",
"X_test = data[indices_test, ...]\n",
"\n",
"print(X_train.shape, X_test.shape)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Create outcome variable\n",
"\n",
"We need to define a variable that holds the outcome variable (1 or 0) that indicates whether or not the resting-state images were recorded with eyes opened or closed. Luckily we have this information already stored in the `labels` variable above. So let's split these labels in training and test set:"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [],
"source": [
"y_train = labels[indices_train] == 'open'\n",
"y_test = labels[indices_test] == 'open'"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We need to reformat the shape of our outcome variables, `y_train` and `y_test`, because Keras needs the labels as a 2D array. Keras provides a function to do this:"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Using TensorFlow backend.\n"
]
}
],
"source": [
"from keras.utils import to_categorical\n",
"y_train = to_categorical(y_train)\n",
"y_test = to_categorical(y_test)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"And now we're good to go."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Creating a Sequential Model\n",
"\n",
"Now comes the fun and tricky part. We need to specify the structure of our convoluted neural network. As a quick reminder, a convoluted neural network consists of some covolution layers, pooling layers, some flattening layers and some full connect layers:\n",
"\n",
"<img src=\"data/deep_neural_networks.png\"/>\n",
"\n",
"Taken from: https://www.mathworks.com/videos/introduction-to-deep-learning-what-are-convolutional-neural-networks--1489512765771.html"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"So as a first step, let's import all modules that we need to create the keras model:"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [],
"source": [
"import tensorflow as tf\n",
"from keras.models import Sequential\n",
"\n",
"from keras.layers import Dense, Flatten, Dropout\n",
"from keras.layers import Conv2D, MaxPooling2D, BatchNormalization\n",
"\n",
"from keras.optimizers import Adam, SGD\n",
"\n",
"from keras import backend as K"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As a next step, we should specify some of the model parameters that we want to be identical throughout the model:"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [],
"source": [
"# Get shape of input data\n",
"data_shape = tuple(X_train.shape[1:])\n",
"\n",
"# Specify shape of convolution kernel\n",
"kernel_size = (3, 3)\n",
"\n",
"# Specify number of output categories\n",
"n_classes = 2\n",
"\n",
"# Specify number of filters per layer\n",
"filters = 16"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now comes the big part... the model, i.e. the structure of the neural network! We want to make clear that we're no experts in deep neural networks and therefore, the model below might not necessarily be a good model. But we chose it as it can be rather quickly estimated and has rather few parameters to estimate."
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"_________________________________________________________________\n",
"Layer (type) Output Shape Param # \n",
"=================================================================\n",
"conv2d_1 (Conv2D) (None, 38, 64, 16) 448 \n",
"_________________________________________________________________\n",
"batch_normalization_1 (Batch (None, 38, 64, 16) 64 \n",
"_________________________________________________________________\n",
"max_pooling2d_1 (MaxPooling2 (None, 19, 32, 16) 0 \n",
"_________________________________________________________________\n",
"conv2d_2 (Conv2D) (None, 17, 30, 32) 4640 \n",
"_________________________________________________________________\n",
"batch_normalization_2 (Batch (None, 17, 30, 32) 128 \n",
"_________________________________________________________________\n",
"max_pooling2d_2 (MaxPooling2 (None, 8, 15, 32) 0 \n",
"_________________________________________________________________\n",
"conv2d_3 (Conv2D) (None, 6, 13, 64) 18496 \n",
"_________________________________________________________________\n",
"batch_normalization_3 (Batch (None, 6, 13, 64) 256 \n",
"_________________________________________________________________\n",
"max_pooling2d_3 (MaxPooling2 (None, 3, 6, 64) 0 \n",
"_________________________________________________________________\n",
"flatten_1 (Flatten) (None, 1152) 0 \n",
"_________________________________________________________________\n",
"dense_1 (Dense) (None, 256) 295168 \n",
"_________________________________________________________________\n",
"dropout_1 (Dropout) (None, 256) 0 \n",
"_________________________________________________________________\n",
"dense_2 (Dense) (None, 512) 131584 \n",
"_________________________________________________________________\n",
"dropout_2 (Dropout) (None, 512) 0 \n",
"_________________________________________________________________\n",
"dense_3 (Dense) (None, 2) 1026 \n",
"=================================================================\n",
"Total params: 451,810\n",
"Trainable params: 451,586\n",
"Non-trainable params: 224\n",
"_________________________________________________________________\n"
]
}
],
"source": [
"K.clear_session()\n",
"model = Sequential()\n",
"\n",
"model.add(Conv2D(filters, kernel_size, activation='relu', input_shape=data_shape))\n",
"model.add(BatchNormalization())\n",
"model.add(MaxPooling2D())\n",
"\n",
"model.add(Conv2D(filters * 2, kernel_size, activation='relu'))\n",
"model.add(BatchNormalization())\n",
"model.add(MaxPooling2D())\n",
"\n",
"model.add(Conv2D(filters * 4, kernel_size, activation='relu'))\n",
"model.add(BatchNormalization())\n",
"model.add(MaxPooling2D())\n",
"\n",
"model.add(Flatten())\n",
"\n",
"model.add(Dense(256, activation='relu'))\n",
"model.add(Dropout(0.5))\n",
"\n",
"model.add(Dense(512, activation='relu'))\n",
"model.add(Dropout(0.5))\n",
"\n",
"model.add(Dense(n_classes, activation='softmax'))\n",
"\n",
"# optimizer\n",
"learning_rate = 1e-5\n",
"adam = Adam(lr=learning_rate)\n",
"sgd = SGD(lr=learning_rate)\n",
"\n",
"model.compile(loss='categorical_crossentropy',\n",
" optimizer=adam, # swap out for sgd \n",
" metrics=['accuracy'])\n",
"\n",
"model.summary()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"That's what our model looks like! Cool!"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Fitting the Model\n",
"\n",
"The next step is now of course to fit our model to the training data. In our case we have two parameters that we can work with:\n",
"\n",
"*First*: How many iterations of the model fitting should be computed"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [],
"source": [
"nEpochs = 100 # Increase this value for better results (i.e., more training)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"*Second*: How many elements (volumes) should be considered at once for the updating of the weights?"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [],
"source": [
"batch_size = 16 # Increasing this value might speed up fitting"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"So let's test the model:"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Epoch 1/100\n",
"307/307 [==============================] - 2s 6ms/step - loss: 1.5855 - acc: 0.5277\n",
"Epoch 2/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 1.2631 - acc: 0.5440\n",
"Epoch 3/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 1.3211 - acc: 0.4658\n",
"Epoch 4/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 1.2774 - acc: 0.4821\n",
"Epoch 5/100\n",
"307/307 [==============================] - 1s 4ms/step - loss: 1.1471 - acc: 0.5375\n",
"Epoch 6/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 1.1495 - acc: 0.5277\n",
"Epoch 7/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.9952 - acc: 0.5375\n",
"Epoch 8/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 1.1032 - acc: 0.5277\n",
"Epoch 9/100\n",
"307/307 [==============================] - 1s 4ms/step - loss: 1.1566 - acc: 0.5179\n",
"Epoch 10/100\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.9652 - acc: 0.5733\n",
"Epoch 11/100\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.9852 - acc: 0.5733\n",
"Epoch 12/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.9697 - acc: 0.5537\n",
"Epoch 13/100\n",
"307/307 [==============================] - 1s 4ms/step - loss: 1.0750 - acc: 0.5081\n",
"Epoch 14/100\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.9065 - acc: 0.5570\n",
"Epoch 15/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.9705 - acc: 0.5537\n",
"Epoch 16/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.9293 - acc: 0.5570\n",
"Epoch 17/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.8637 - acc: 0.5831\n",
"Epoch 18/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.9176 - acc: 0.5765\n",
"Epoch 19/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.8152 - acc: 0.5928\n",
"Epoch 20/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.9264 - acc: 0.5668\n",
"Epoch 21/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.9017 - acc: 0.5375\n",
"Epoch 22/100\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.8655 - acc: 0.5733\n",
"Epoch 23/100\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.8249 - acc: 0.6156\n",
"Epoch 24/100\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.8465 - acc: 0.5733\n",
"Epoch 25/100\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.7942 - acc: 0.6124\n",
"Epoch 26/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.8721 - acc: 0.5831\n",
"Epoch 27/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.7804 - acc: 0.5831\n",
"Epoch 28/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.8317 - acc: 0.5831\n",
"Epoch 29/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.6949 - acc: 0.6319\n",
"Epoch 30/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.7449 - acc: 0.6091\n",
"Epoch 31/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.8721 - acc: 0.5668\n",
"Epoch 32/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.7584 - acc: 0.6124\n",
"Epoch 33/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.7581 - acc: 0.6156\n",
"Epoch 34/100\n",
"307/307 [==============================] - 2s 5ms/step - loss: 0.6306 - acc: 0.6808\n",
"Epoch 35/100\n",
"307/307 [==============================] - 1s 5ms/step - loss: 0.7132 - acc: 0.6352\n",
"Epoch 36/100\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.7306 - acc: 0.6156\n",
"Epoch 37/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.6984 - acc: 0.6482\n",
"Epoch 38/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.7559 - acc: 0.5831\n",
"Epoch 39/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.7113 - acc: 0.6221\n",
"Epoch 40/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.6821 - acc: 0.6580\n",
"Epoch 41/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.6592 - acc: 0.6482\n",
"Epoch 42/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.6733 - acc: 0.6547\n",
"Epoch 43/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.6591 - acc: 0.6515\n",
"Epoch 44/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.6474 - acc: 0.6450\n",
"Epoch 45/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.7658 - acc: 0.5896\n",
"Epoch 46/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.6349 - acc: 0.6515\n",
"Epoch 47/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.6301 - acc: 0.7068\n",
"Epoch 48/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.6054 - acc: 0.7036\n",
"Epoch 49/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.5874 - acc: 0.7166\n",
"Epoch 50/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.6096 - acc: 0.6743\n",
"Epoch 51/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.5743 - acc: 0.7199\n",
"Epoch 52/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.5991 - acc: 0.7068\n",
"Epoch 53/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.6064 - acc: 0.6873\n",
"Epoch 54/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.5796 - acc: 0.6775\n",
"Epoch 55/100\n",
"307/307 [==============================] - 1s 5ms/step - loss: 0.5483 - acc: 0.7231\n",
"Epoch 56/100\n",
"307/307 [==============================] - 2s 5ms/step - loss: 0.5790 - acc: 0.7199\n",
"Epoch 57/100\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.5256 - acc: 0.7557\n",
"Epoch 58/100\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.5708 - acc: 0.7003\n",
"Epoch 59/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.5541 - acc: 0.7199\n",
"Epoch 60/100\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.5487 - acc: 0.7068\n",
"Epoch 61/100\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.5345 - acc: 0.7264\n",
"Epoch 62/100\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.6045 - acc: 0.6906\n",
"Epoch 63/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.5603 - acc: 0.6873\n",
"Epoch 64/100\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.5410 - acc: 0.7134\n",
"Epoch 65/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.5036 - acc: 0.7231\n",
"Epoch 66/100\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.5377 - acc: 0.7296\n",
"Epoch 67/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.4841 - acc: 0.7948\n",
"Epoch 68/100\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.5512 - acc: 0.7036\n",
"Epoch 69/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.5174 - acc: 0.7655\n",
"Epoch 70/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.4969 - acc: 0.7557\n",
"Epoch 71/100\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.5047 - acc: 0.7362\n",
"Epoch 72/100\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.4877 - acc: 0.7752\n",
"Epoch 73/100\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.5179 - acc: 0.7492\n",
"Epoch 74/100\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.5029 - acc: 0.7459\n",
"Epoch 75/100\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.5195 - acc: 0.7427\n",
"Epoch 76/100\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.4805 - acc: 0.7948\n",
"Epoch 77/100\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.5074 - acc: 0.7622\n",
"Epoch 78/100\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.4639 - acc: 0.7883\n",
"Epoch 79/100\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.4623 - acc: 0.7818\n",
"Epoch 80/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.5066 - acc: 0.7068\n",
"Epoch 81/100\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.4498 - acc: 0.7883\n",
"Epoch 82/100\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.4581 - acc: 0.7818\n",
"Epoch 83/100\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.4742 - acc: 0.7883\n",
"Epoch 84/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.4515 - acc: 0.7818\n",
"Epoch 85/100\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"307/307 [==============================] - 1s 3ms/step - loss: 0.4244 - acc: 0.8306\n",
"Epoch 86/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.4853 - acc: 0.7883\n",
"Epoch 87/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.4548 - acc: 0.7850\n",
"Epoch 88/100\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.4148 - acc: 0.8046\n",
"Epoch 89/100\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.4434 - acc: 0.7785\n",
"Epoch 90/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.4176 - acc: 0.8143\n",
"Epoch 91/100\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.4696 - acc: 0.7948\n",
"Epoch 92/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.3912 - acc: 0.8208\n",
"Epoch 93/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.3748 - acc: 0.8339\n",
"Epoch 94/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.4474 - acc: 0.8046\n",
"Epoch 95/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.4125 - acc: 0.7980\n",
"Epoch 96/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.4065 - acc: 0.8111\n",
"Epoch 97/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.3909 - acc: 0.8371\n",
"Epoch 98/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.3758 - acc: 0.8371\n",
"Epoch 99/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.3849 - acc: 0.8241\n",
"Epoch 100/100\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.3933 - acc: 0.8371\n",
"CPU times: user 6min 45s, sys: 47.8 s, total: 7min 33s\n",
"Wall time: 1min 50s\n"
]
}
],
"source": [
"%time fit = model.fit(X_train, y_train, epochs=nEpochs, batch_size=batch_size)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Performance during model fitting\n",
"\n",
"Let's take a look at the loss and accuracy values during the different epochs:"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 720x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(figsize=(10, 4))\n",
"epoch = np.arange(nEpochs) + 1\n",
"fontsize = 16\n",
"plt.plot(epoch, fit.history['acc'], marker=\"o\", linewidth=2,\n",
" color=\"steelblue\", label=\"accuracy\")\n",
"plt.plot(epoch, fit.history['loss'], marker=\"o\", linewidth=2,\n",
" color=\"orange\", label=\"loss\")\n",
"plt.xlabel('epoch', fontsize=fontsize)\n",
"plt.xticks(fontsize=fontsize)\n",
"plt.yticks(fontsize=fontsize)\n",
"plt.legend(frameon=False, fontsize=16);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Great, it seems that accuracy is constantly increasing and the loss is continuing to drop. But how well is our model doing on the test data?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Evaluating the model"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"77/77 [==============================] - 0s 2ms/step\n",
"Loss in Test set: 0.45\n",
"Accuracy in Test set: 79.22\n"
]
}
],
"source": [
"evaluation = model.evaluate(X_test, y_test)\n",
"print('Loss in Test set: %.02f' % (evaluation[0]))\n",
"print('Accuracy in Test set: %.02f' % (evaluation[1] * 100))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Run more model iterations"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Not bad for just a few iterations. But let's see what we reach if we iterate a few hundred times more?"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [],
"source": [
"nEpochs = 200"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Epoch 1/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.3716 - acc: 0.8339\n",
"Epoch 2/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.3503 - acc: 0.8534\n",
"Epoch 3/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.3671 - acc: 0.8436\n",
"Epoch 4/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.4289 - acc: 0.7883\n",
"Epoch 5/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.4037 - acc: 0.8176\n",
"Epoch 6/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.3380 - acc: 0.8697\n",
"Epoch 7/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.3713 - acc: 0.8502\n",
"Epoch 8/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.3594 - acc: 0.8339\n",
"Epoch 9/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.3413 - acc: 0.8567\n",
"Epoch 10/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.3504 - acc: 0.8274\n",
"Epoch 11/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.3146 - acc: 0.8762\n",
"Epoch 12/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.3528 - acc: 0.8404\n",
"Epoch 13/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.3434 - acc: 0.8632\n",
"Epoch 14/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.3373 - acc: 0.8632\n",
"Epoch 15/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.3298 - acc: 0.8795\n",
"Epoch 16/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.3361 - acc: 0.8534\n",
"Epoch 17/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.3062 - acc: 0.8925\n",
"Epoch 18/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.3287 - acc: 0.8502\n",
"Epoch 19/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.2904 - acc: 0.8893\n",
"Epoch 20/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.3349 - acc: 0.8730\n",
"Epoch 21/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.3390 - acc: 0.8534\n",
"Epoch 22/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.2682 - acc: 0.9055\n",
"Epoch 23/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.3077 - acc: 0.8827\n",
"Epoch 24/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.3004 - acc: 0.8664\n",
"Epoch 25/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.2678 - acc: 0.9023\n",
"Epoch 26/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.2856 - acc: 0.9023\n",
"Epoch 27/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.3172 - acc: 0.8632\n",
"Epoch 28/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.3399 - acc: 0.8599\n",
"Epoch 29/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.2580 - acc: 0.8958\n",
"Epoch 30/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.3317 - acc: 0.8567\n",
"Epoch 31/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.3184 - acc: 0.8664\n",
"Epoch 32/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.2741 - acc: 0.8925\n",
"Epoch 33/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.2966 - acc: 0.8632\n",
"Epoch 34/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.2955 - acc: 0.8893\n",
"Epoch 35/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.2520 - acc: 0.9186\n",
"Epoch 36/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.2619 - acc: 0.9121\n",
"Epoch 37/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.2450 - acc: 0.9153\n",
"Epoch 38/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.2580 - acc: 0.9121\n",
"Epoch 39/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.2490 - acc: 0.9055\n",
"Epoch 40/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.2476 - acc: 0.9283\n",
"Epoch 41/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.2290 - acc: 0.9121\n",
"Epoch 42/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.2518 - acc: 0.9088\n",
"Epoch 43/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.2307 - acc: 0.9349\n",
"Epoch 44/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.2257 - acc: 0.9218\n",
"Epoch 45/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.2375 - acc: 0.9186\n",
"Epoch 46/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.2403 - acc: 0.9186\n",
"Epoch 47/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.2389 - acc: 0.9251\n",
"Epoch 48/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.2235 - acc: 0.9283\n",
"Epoch 49/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.2016 - acc: 0.9218\n",
"Epoch 50/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.2189 - acc: 0.9316\n",
"Epoch 51/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.2368 - acc: 0.8990\n",
"Epoch 52/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.1799 - acc: 0.9349\n",
"Epoch 53/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.2064 - acc: 0.9349\n",
"Epoch 54/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.2146 - acc: 0.9251\n",
"Epoch 55/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.2100 - acc: 0.9283\n",
"Epoch 56/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.2177 - acc: 0.9251\n",
"Epoch 57/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.1924 - acc: 0.9381\n",
"Epoch 58/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.1778 - acc: 0.9446\n",
"Epoch 59/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.1885 - acc: 0.9414\n",
"Epoch 60/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.1898 - acc: 0.9414\n",
"Epoch 61/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.2256 - acc: 0.9023\n",
"Epoch 62/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.1907 - acc: 0.9218\n",
"Epoch 63/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.1598 - acc: 0.9479\n",
"Epoch 64/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.1917 - acc: 0.9316\n",
"Epoch 65/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.1957 - acc: 0.9283\n",
"Epoch 66/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.1919 - acc: 0.9414\n",
"Epoch 67/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.1570 - acc: 0.9642\n",
"Epoch 68/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.1706 - acc: 0.9381\n",
"Epoch 69/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.1840 - acc: 0.9349\n",
"Epoch 70/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.1592 - acc: 0.9577\n",
"Epoch 71/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.1636 - acc: 0.9479\n",
"Epoch 72/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.1608 - acc: 0.9544\n",
"Epoch 73/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.1859 - acc: 0.9218\n",
"Epoch 74/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.1600 - acc: 0.9544\n",
"Epoch 75/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.1646 - acc: 0.9446\n",
"Epoch 76/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.1607 - acc: 0.9511\n",
"Epoch 77/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.1695 - acc: 0.9544\n",
"Epoch 78/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.1462 - acc: 0.9544\n",
"Epoch 79/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.1562 - acc: 0.9511\n",
"Epoch 80/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.1590 - acc: 0.9446\n",
"Epoch 81/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.1287 - acc: 0.9642\n",
"Epoch 82/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.1498 - acc: 0.9544\n",
"Epoch 83/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.1506 - acc: 0.9479\n",
"Epoch 84/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.1485 - acc: 0.9479\n",
"Epoch 85/200\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"307/307 [==============================] - 1s 3ms/step - loss: 0.1516 - acc: 0.9511\n",
"Epoch 86/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.1222 - acc: 0.9739\n",
"Epoch 87/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.1368 - acc: 0.9511\n",
"Epoch 88/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.1429 - acc: 0.9544\n",
"Epoch 89/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.1240 - acc: 0.9674\n",
"Epoch 90/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.1469 - acc: 0.9577\n",
"Epoch 91/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.1452 - acc: 0.9544\n",
"Epoch 92/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.1249 - acc: 0.9674\n",
"Epoch 93/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.1154 - acc: 0.9674\n",
"Epoch 94/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.1541 - acc: 0.9446\n",
"Epoch 95/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.1260 - acc: 0.9707\n",
"Epoch 96/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.1301 - acc: 0.9577\n",
"Epoch 97/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.1256 - acc: 0.9642\n",
"Epoch 98/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.1138 - acc: 0.9707\n",
"Epoch 99/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0991 - acc: 0.9772\n",
"Epoch 100/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.1075 - acc: 0.9707\n",
"Epoch 101/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.1226 - acc: 0.9642\n",
"Epoch 102/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.1237 - acc: 0.9544\n",
"Epoch 103/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.1306 - acc: 0.9674\n",
"Epoch 104/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0999 - acc: 0.9805\n",
"Epoch 105/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.1031 - acc: 0.9837\n",
"Epoch 106/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.1025 - acc: 0.9707\n",
"Epoch 107/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.1042 - acc: 0.9772\n",
"Epoch 108/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.1201 - acc: 0.9609\n",
"Epoch 109/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0872 - acc: 0.9805\n",
"Epoch 110/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.1061 - acc: 0.9739\n",
"Epoch 111/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.1106 - acc: 0.9739\n",
"Epoch 112/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.1164 - acc: 0.9577\n",
"Epoch 113/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.1061 - acc: 0.9707\n",
"Epoch 114/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0939 - acc: 0.9837\n",
"Epoch 115/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0726 - acc: 0.9902\n",
"Epoch 116/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.1033 - acc: 0.9772\n",
"Epoch 117/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.1154 - acc: 0.9577\n",
"Epoch 118/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.1011 - acc: 0.9739\n",
"Epoch 119/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0963 - acc: 0.9772\n",
"Epoch 120/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.1252 - acc: 0.9511\n",
"Epoch 121/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0952 - acc: 0.9739\n",
"Epoch 122/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0797 - acc: 0.9837\n",
"Epoch 123/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0730 - acc: 0.9837\n",
"Epoch 124/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.1100 - acc: 0.9642\n",
"Epoch 125/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0785 - acc: 0.9837\n",
"Epoch 126/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0751 - acc: 0.9902\n",
"Epoch 127/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0829 - acc: 0.9772\n",
"Epoch 128/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0736 - acc: 0.9935\n",
"Epoch 129/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0784 - acc: 0.9837\n",
"Epoch 130/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0978 - acc: 0.9739\n",
"Epoch 131/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0825 - acc: 0.9870\n",
"Epoch 132/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0695 - acc: 0.9837\n",
"Epoch 133/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0797 - acc: 0.9837\n",
"Epoch 134/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0817 - acc: 0.9739\n",
"Epoch 135/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0852 - acc: 0.9805\n",
"Epoch 136/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0792 - acc: 0.9805\n",
"Epoch 137/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.0736 - acc: 0.9870\n",
"Epoch 138/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.0784 - acc: 0.9837\n",
"Epoch 139/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0736 - acc: 0.9772\n",
"Epoch 140/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0623 - acc: 0.9870\n",
"Epoch 141/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0578 - acc: 0.9805\n",
"Epoch 142/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0672 - acc: 0.9837\n",
"Epoch 143/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0702 - acc: 0.9837\n",
"Epoch 144/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0547 - acc: 0.9870\n",
"Epoch 145/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0572 - acc: 0.9935\n",
"Epoch 146/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0615 - acc: 0.9935\n",
"Epoch 147/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0591 - acc: 0.9772\n",
"Epoch 148/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0655 - acc: 0.9870\n",
"Epoch 149/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0605 - acc: 0.9902\n",
"Epoch 150/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0650 - acc: 0.9805\n",
"Epoch 151/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0620 - acc: 0.9935\n",
"Epoch 152/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0603 - acc: 0.9902\n",
"Epoch 153/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0576 - acc: 0.9805\n",
"Epoch 154/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0483 - acc: 0.9935\n",
"Epoch 155/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0526 - acc: 0.9935\n",
"Epoch 156/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0557 - acc: 0.9837\n",
"Epoch 157/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0620 - acc: 0.9837\n",
"Epoch 158/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0608 - acc: 0.9870\n",
"Epoch 159/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0620 - acc: 0.9837\n",
"Epoch 160/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0692 - acc: 0.9805\n",
"Epoch 161/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0434 - acc: 0.9935\n",
"Epoch 162/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0464 - acc: 0.9935\n",
"Epoch 163/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0493 - acc: 0.9902\n",
"Epoch 164/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0611 - acc: 0.9837\n",
"Epoch 165/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.0615 - acc: 0.9870\n",
"Epoch 166/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0482 - acc: 0.9870\n",
"Epoch 167/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0416 - acc: 0.9935\n",
"Epoch 168/200\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"307/307 [==============================] - 1s 3ms/step - loss: 0.0538 - acc: 0.9870\n",
"Epoch 169/200\n",
"307/307 [==============================] - 1s 4ms/step - loss: 0.0528 - acc: 0.9870\n",
"Epoch 170/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0439 - acc: 0.9902\n",
"Epoch 171/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0386 - acc: 0.9935\n",
"Epoch 172/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0418 - acc: 0.9967\n",
"Epoch 173/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0444 - acc: 0.9967\n",
"Epoch 174/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0432 - acc: 0.9935\n",
"Epoch 175/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0545 - acc: 0.9837\n",
"Epoch 176/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0394 - acc: 0.9870\n",
"Epoch 177/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0413 - acc: 0.9902\n",
"Epoch 178/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0411 - acc: 0.9935\n",
"Epoch 179/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0399 - acc: 0.9935\n",
"Epoch 180/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0343 - acc: 1.0000\n",
"Epoch 181/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0421 - acc: 0.9902\n",
"Epoch 182/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0393 - acc: 0.9935\n",
"Epoch 183/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0316 - acc: 1.0000\n",
"Epoch 184/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0393 - acc: 0.9967\n",
"Epoch 185/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0297 - acc: 1.0000\n",
"Epoch 186/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0446 - acc: 0.9935\n",
"Epoch 187/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0370 - acc: 0.9967\n",
"Epoch 188/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0409 - acc: 0.9902\n",
"Epoch 189/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0522 - acc: 0.9902\n",
"Epoch 190/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0306 - acc: 0.9902\n",
"Epoch 191/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0419 - acc: 0.9902\n",
"Epoch 192/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0309 - acc: 0.9935\n",
"Epoch 193/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0381 - acc: 0.9935\n",
"Epoch 194/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0334 - acc: 0.9935\n",
"Epoch 195/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0294 - acc: 0.9935\n",
"Epoch 196/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0362 - acc: 0.9967\n",
"Epoch 197/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0339 - acc: 0.9902\n",
"Epoch 198/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0385 - acc: 0.9967\n",
"Epoch 199/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0319 - acc: 0.9935\n",
"Epoch 200/200\n",
"307/307 [==============================] - 1s 3ms/step - loss: 0.0467 - acc: 0.9902\n",
"CPU times: user 13min 8s, sys: 1min 33s, total: 14min 41s\n",
"Wall time: 3min 28s\n"
]
}
],
"source": [
"%time fit = model.fit(X_train, y_train, epochs=nEpochs, batch_size=batch_size)"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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iIhwOq7X62EymXD8+HH7eTqdzumPNgDo168fAKCoqKh1KtwKioqKUFFR4fZZAABffPEF0tPTMWjQIGRlZWH79u1tUMOW9/7772PQoEFIT0/H9OnTneaWAsHz+p86dQp79+7F5MmTERLiPpOpPb/+rt9xaj/j1X5G+FNQzikzGAySE5jj4uJQWVnZBjVqPadPn8bf//53jB492v7XhE6nw7Rp0zBmzBjEx8fj6NGjeP311/GHP/wBH3zwgeQHdnsRExODP//5zxg2bBiio6Px008/YdWqVfj222+xceNGJCQkwGAwoEePHm7X2nqTKisr29X8KjmbNm1CQkICfvvb39qPdeTX3pXBYEBcXJzbcdvrbDAY7P+PjY2FIAhO59muvXDhgp9r2joaGxvx5JNPIj4+HjfffLPTY+PHj8fgwYPRs2dPnD17FuvXr8d9992HZcuW4YYbbmijGjfflClTMH78eHTt2hWlpaXIycnBjBkz8Oabb2LEiBEAguf137RpEywWi+Qfae359Zf6jlP7Ga/2M8KfgjIoA+D2CxcMampqcO+990Kr1WLJkiX24127dsUzzzxj//mKK67A2LFjcf311+O1117Diy++2BbVbREDBw7EwIED7T8PHz4cw4YNwy233IJ169ZhwYIFEEVR8v0gimJrVtWvTp8+ja+++grTp093+qu4I7/2rtS+zsHwfgCAZ555Bj/88ANWrVrl9kX0+OOPO/08ceJEZGVl4W9/+1vAfyl78sILL9j/fcUVV2DChAmYPHkyli9fjn/84x8Aguf137hxIwYOHIj+/fu7PdZeX3+577j29LsflMOXsbGxkhGvXA9aR2A0Gu2rT3JychRXFCYlJWHo0KFOy6Q7irS0NPTu3Rv5+fkArH8By70fAHSI98TmzZthsVhw4403Kp7bUV/7uLg4yV4O2+tsC0xs7wfXD2JbL3pHmI/30ksvITc3F88++6yq+URarRbXXnstTp06hTNnzrRCDVtHdHQ0xo0b5/ReD4bX/8CBAzh69KhkL5mU9vD6e/qOU/sZr/Yzwp+CMijT6/UoKChwO15UVAS9Xt8GNfIvk8mE+++/HwcPHsTq1atV596S+6uhI3D8wPX0fujevXuHGbrs37+/5F/FUjria6/X61FaWoq6ujqn40VFRQgNDbXPIerXrx8aGhpw4sQJp/Ns803b+5Du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\n",
"text/plain": [
"<Figure size 720x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(figsize=(10, 4))\n",
"epoch = np.arange(nEpochs) + 1\n",
"fontsize = 16\n",
"plt.plot(epoch, fit.history['acc'], marker=\"o\", linewidth=2,\n",
" color=\"steelblue\", label=\"accuracy\")\n",
"plt.plot(epoch, fit.history['loss'], marker=\"o\", linewidth=2,\n",
" color=\"orange\", label=\"loss\")\n",
"plt.xlabel('epoch', fontsize=fontsize)\n",
"plt.xticks(fontsize=fontsize)\n",
"plt.yticks(fontsize=fontsize)\n",
"plt.legend(frameon=False, fontsize=16);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Wow, much better! At least on the training data. What about the test data?"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"77/77 [==============================] - 0s 963us/step\n",
"Loss in Test set: 0.23\n",
"Accuracy in Test set: 90.91\n"
]
}
],
"source": [
"evaluation = model.evaluate(X_test, y_test)\n",
"print('Loss in Test set: %.02f' % (evaluation[0]))\n",
"print('Accuracy in Test set: %.02f' % (evaluation[1] * 100))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"That's amazing. But keep in mind that overfitting is a constant problem. We try to prevent this with the Dropout layers and by using `relu` activation function. Setting up the right model for convoluted neural networks can be a very tricky!"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Analyze prediction values"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"What are the predicted values of the test set?"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[2.0705704e-01, 7.9294300e-01],\n",
" [1.0280789e-02, 9.8971927e-01],\n",
" [3.1622759e-01, 6.8377239e-01],\n",
" [9.8177367e-01, 1.8226389e-02],\n",
" [8.1285499e-02, 9.1871452e-01],\n",
" [9.8433137e-01, 1.5668590e-02],\n",
" [8.7444633e-01, 1.2555365e-01],\n",
" [2.9071409e-04, 9.9970931e-01],\n",
" [9.1210592e-01, 8.7894119e-02],\n",
" [9.1404474e-01, 8.5955262e-02]], dtype=float32)"
]
},
"execution_count": 32,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"y_pred = model.predict(X_test)\n",
"y_pred[:10,:]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As you can see, those values can be between 0 and 1."
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(figsize=(6, 4))\n",
"fontsize = 16\n",
"plt.hist(y_pred[:,0], bins=16, label='eyes closed')\n",
"plt.hist(y_pred[:,1], bins=16, label='eyes open');\n",
"plt.xticks(fontsize=fontsize)\n",
"plt.yticks(fontsize=fontsize)\n",
"plt.legend(frameon=False, fontsize=16);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The more both distributions are distributed around chance level, the weaker your model is."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Note:** Keep in mind that we trained the whole model only on one split of test and training data. Ideally you would repeat this process many times, so that your results become less dependent on what kind of split you did."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Visualizing Hidden Layers\n",
"\n",
"Finally, as a cool additional feature: We can now visualize the individual filters of the hidden layers. So let's get to it:"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [],
"source": [
"# Aggregate the layers\n",
"layer_dict = dict([(layer.name, layer) for layer in model.layers])"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {},
"outputs": [],
"source": [
"# Specify a function that visualized the layers\n",
"def show_activation(layer_name):\n",
" \n",
" layer_output = layer_dict[layer_name].output\n",
"\n",
" fn = K.function([model.input], [layer_output])\n",
" \n",
" inp = X_train[0:1]\n",
" \n",
" this_hidden = fn([inp])[0]\n",
" \n",
" # plot the activations, 8 filters per row\n",
" plt.figure(figsize=(16,8))\n",
" nFilters = this_hidden.shape[-1]\n",
" nColumn = 8 if nFilters >= 8 else nFilters\n",
" for i in range(nFilters):\n",
" plt.subplot(nFilters / nColumn, nColumn, i+1)\n",
" plt.imshow(this_hidden[0,:,:,i], cmap='magma', interpolation='nearest')\n",
" plt.axis('off')\n",
" \n",
" return "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now we can plot the filters of the hidden layers:"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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