diff --git a/doc/HandWrittenNotes/2021/NotesOctober21.pdf b/doc/HandWrittenNotes/2021/NotesOctober21.pdf new file mode 100644 index 000000000..c2667b082 Binary files /dev/null and b/doc/HandWrittenNotes/2021/NotesOctober21.pdf differ diff --git a/doc/pub/week42/ipynb/week42.ipynb b/doc/pub/week42/ipynb/week42.ipynb index 300382f65..20d385fe2 100644 --- a/doc/pub/week42/ipynb/week42.ipynb +++ b/doc/pub/week42/ipynb/week42.ipynb @@ -695,12 +695,31 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Initial cost: 367.01\n", + "Final cost: 0.0666807\n", + "Max absolute difference: 0.0437499\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAl4AAAJcCAYAAAAo6aqNAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAABaxElEQVR4nO3dd5wU5eHH8c9zjaP3JqAgRQULCiq22LtRLJgI1lhjN7aoSSxJ7Cb23nvvil1EUaooCIqi0qv0Xu6e3x+7+DsvlKPczt7d5/168eLuZst3dmZnv/vM7GyIMSJJkqTyl5N0AEmSpKrC4iVJkpQhFi9JkqQMsXhJkiRliMVLkiQpQyxekiRJGWLxypAQQtMQQt8QwrwQwi1J50laCKF6COGNEMKcEMILSedZnRDCiSGEz5LOsT5CCHuEECaU8330CSGcUobL7RZCGFWeWZTdyrqubMD7GxNC2CdT97cu1mc7E0LYOIQwP4SQu54ZNvhyWZ/HfkPNV7axeK1GeoVZlF7wU0MIj4YQaq3jzZ0G/ALUiTFeuAFjVlRHAU2BhjHGHkmHSUIIoXUIIYYQ8pLOkkkxxk9jjJslnaMsQgiHhBAGhhAWhBBmhBCeCiG0LDH9xBBCUXobMT+E8HMI4ZEQQocSl1mxnOeX+veHZOYqu4UQrgohPLke1380hPCvDZkp25QuMzHGcTHGWjHGoiRzra/KOl+lWbzW7PcxxlrAdkBX4G9rc+WQkgNsAoyM63DG2kr6wrwJ8H2McXmSISrpY/sbVWEey0MI4SjgaeBWoBHQCVgCfBZCqF/iol+ktxF1gX2ARcCQEMKWpW6yXvpFZMW/58p9JjLA9UtaSzFG/63iHzAG2KfE7zcBb6Z/7gZ8DswGvgb2KHG5PsC/gX6kNsJPAsuApcB8UhvnaqQ26JPS/24FqqWvvwcwAbgUmAI8AVwFvJC+rXnAcKADcBkwDRgP7Fciw0nAt+nL/gScXmLaitu/MH3dycBJJaZXB24BxgJzgM+A6mua75U8flukH4vZwAjg0PTfr04/FsvSj8fJK7nuVcDzwOPpeRgBdC0xfSPgJWA68DNwbolpjwL/Kj2/pZbrpcAwUi+kecBfgR/T9zUSOLzE5U8EPlvFPLYGInACMI7UqOYVJabnlLjtGel5apCeNi593fnpfzulH/Mu6em90tM7pX8/GXg1/fParj+lH4Nz0/PZciXz1A74JL3sfwGeKzFtZ2BQetogYOdS6/0p6WyzgS1LTGtM6rnQZBXL46L08pgDPAcUlph+Cal1dFL69iPQbhXLY53X+1K3E9LL4pJSf88BvgGuWd26AbwJvFhqHckr43anAfBIen5nrVjm6WmnAqOBmcDrwEYlpkXgTOCH9Pz/E2hL6vk6l9S6V1Dqsbg8vYzHAL1K3NbBwND09cYDV61knT+Z1DrcN/33P6Uf+1nAu8AmJa6zL/BdevneSWr9OmUl834Av902fF3i+f56er5HA6eu4rE7jd9ua98o4zp2CPAVqfX2c2Dr1Syf29KPyVxgCLDbWmy3yrSdAe4Cbil1v68DF5B6PheTej7NJ/X8WLFM8la3DgH1Sa2b09N/f5MS2wDSz+FVzPcOwOD0fE8F/lNi2qHpeZ2dvo0tSj2/91nTtrmM87XK9WBNj302/Us8QDb/K7XCtEovyH8CLUi9iB5EakO8b/r3xiVW3nGk3iHnAfkrWeGuAfqTeiFqTOrJ/s8SK+Ny4AZSL2LV0yvVYmD/9G0+TqpwXJG+/VOBn0vc/sGkNroB2B1YCGxX6vavSV/3oPT0+unpd6XnoQWQS+rFttqa5rvUY5effmJcDhQAe6WfDJuVeJI8uZrHfsX8HpTOcB3QPz0th9QG7x/p296U1Ivs/unppR/rPfjfF/qv0st0RaHsQepJnQP8AVgANE9PO5E1F68H0stpG1Jlbov09PPSy7ll+jG8D3im1HXzStze48CF6Z/vJ7WR/nOJaRes4/rz62OQfty+XNlyS09/htR6lQMUArum/96A1Mb6OFLr4DHp3xuWWO9PSf/8MPDvErd5FvDOapbHwPTj34DUi/cZ6WkHkCqPnYAapN54rK54rfN6X+p2Nk/fT5uVTLua1CjXKtcNUiVk6qqW8xq2O2+RKgb10zl3T/99L1Ilabv0cr2DdOlJT4/Aa0Ad/n907kNSz4+6pF7oTyj1WPwnfVu7k1rnNysxfav0OrA1qRfa7qXm53GgJqn16zBSz/ct0uvG34DP05dvROq5f1R6fi5I3/eqXuCvotS2AegL3E1qfexMqjjstYrrP0qJ538Z1rFtSRXxHUlta05IX77aKm7/WKBhej4vJLV+Fq5pu7U22xlSJWcSkFPiMVwINC392rSydYxVr0MNgSNJPZdqk3oz/2qJ2+mzmuXyBXBc+udaQLf0zx3S87Fv+r4uSa8LBaWzll42rHxbsLr5WuV6sKbHPpv+JR4gm/+lV4L5pFr82PQCr05qJOGJUpd9l//fqPUh/Y64xPTSK9yPwEElft8fGFNiZVzKb9+RXQW8X+L336ez5aZ/r51eQeutYl5eBc4rcfuL+O0L/jRSo1k56WnbrOQ2Vjvfpf6+G6kNUk6Jvz1D+p0zZSteH5T4vSOwKP3zjsC4Upe/DHhkFY/1yp7cf1rDsv8KOCz984msuXiVfNc4EPhj+udvgb1LTGtO6h15HisvXicDr5e47inAs+nfx/L/JWJt1589gImkXmg/A+quZt4fJ1X6Wpb6+3HAwFJ/+wI4scR6v6J47QP8WOJy/YDjV7M8ji3x+43AvemfHwauKzGtHaspXuu63q/kerum76dwJdPOAH5Y3bpBqjAuK7WOzC71b4uVXK85qXf9KyuDDwE3lvi9Vnpdap3+PQK7lJg+BLi0xO+3ALeWeCyWAzVLTH8e+PsqHsdbgf+Wmp9NS0zvTYmRa1LbkYWkDik4nt+Wj0BqtK1MxYvUG6QioHaJv10HPLqK6z/KyovXqtaxe0i/aSkxfRTpslKGdWwW6e0lq9lureK6X7GK7Qyp5/++6Z/PBt4uNT8rLSirW4dWcv+dgVklfu+zmuXSl9Sbjkal/v534PlSy34i6b0hbKDitab1YG0f+yT/eYzXmnWPMdaLMW4SYzwzxriI1MakRwhh9op/pDbUzUtcb/wabncjUi+kK4xN/22F6THGxaWuM7XEz4uAX+L/H3S4KP1/LYAQwoEhhP4hhJnpfAeRete0woz42+OrFqav24jUu4kfV5K5LPNdcv7GxxiLS81ji5VcdlWmlMpXmD6eZBNgo1I5Lid1sH5Z/Wb5hBCODyF8VeL2tuS3j9faZl3xIYxNgFdK3O63pDYeq8r6CbBbCKE5qXdtzwO7hBBakxq1+Cp9uXVZf+qR2hVzXYxxzmrm5RJSL44DQwgjQgh/WsV9rrjflS3Tj4EaIYQd09k7A6+s5j5X9fhtxG+X1WqfV+ux3pf2S/r/la3bzUtMX5UWpHaHlNQovS1Z8e/blVyvFTAzxjhrJdN+8/jHGOeTGnEu+fiX3kaU/r3kvM6KMS4o8fuv61B6uX0cQpgeQphDqmyWfj6UXBabALeVWM9nklqHWlBqGcbUq+Kato8lbUTqMZlXKuvabEtg9c/RC0ttT1rx2+fTr0IIF4UQvk1/Ins2qedlycdmVduttd3OPEZqdI30/0+UbTZXvQ6FEGqEEO4LIYwNIcwlVabqlfFTgyeTGt36LoQwKIRwSPrvpdfLYlLLd22Xz5qUZT1Y5WOfTSxe62Y8qZGfkhvRmjHG60tcJq7hNiaResKvsHH6b2W9/iqFEKqROv7pZlJD0/WAt0ltCNfkF1LDtW1XMq0s873CJKBV+oMFK2xM6p3Q+hpPardqyRy1Y4wHpacvIDWUvkKzldzGr49vCGETUrsKzya126weqeN4yvJ4lSXrgaWyFsYYJ7KSZRxjHE1qg3EOqd1Ic0ltTE4j9W54RZFdl/VnFqljWR4JIeyyqsAxxikxxlNjjBsBpwN3hxDareQ+V9zv/yzT9BuC50ntjjyG1LGR80pfrgwmk9pNu0KrVV1wPdf70kaRGpX5zSdu0+vzkaR24a3O4cCn63C/44EGIYR6K5n2m8c/hFCT1K6jdX1O1U/fxgol16GnSR1L0yrGWBe4l/99HEuuY+NJHU9Xcj2vHmP8nNQy/HW5hRACq1mO/O+6O4nUY1K7VNZVzffabjvHk9otXjJ7jRjjM6UvGELYjdQbk6NJjSjVI3XM2BrXsXXYzjwJHBZC2IbULtxXS0xb3Tyubh26ENgM2DHGWAf43Yp4a8ofY/whxngMqcMbbgBeTK8/pdfLFct3ZctnTdvm1c3X2q4HWcvitW6eBH4fQtg/hJAbQigMqfMktVzjNf/fM8DfQgiNQwiNSB13s84foS6lgNRxG9OB5SGEA4H9ynLF9Av7w8B/Qggbpedvp/SL2trM9wBSBeKSEEJ+CGEPUrtHn13vuUvtypsXQrg0pM4HlhtC2DKEsH16+lfAQSGEBiGEZsD5a7i9mqSe8NMBQggnkXonuiHcC/w7vdElvbwPS0+bTmqXwKalrvMJqY3zJ+nf+5T6HdZx/Ykx9iF10P7LIYQdVnaZEEKPEst0FqnHpphUiekQQugZQsgLqdMhdCR1gO7KPE3qOJZe6Z/XxfPASSGELUIINUjt1liVdV7vS0uPylxE6jHumV7XmwEPkjqG6r+lr5NeD9uEEO4gtQvl6nW438mkdtvdHUKon37urHhxfIbUY9E5/Xy8FhgQYxyzDrO4wtUhhIJ0oTiE1DE/kDp0YWaMcXF6Pem5htu5F7gshNAJIIRQN4SworS+BXQKIRyRHn04l5W/GVphKtB6xZu2GON4UscwXpdeDluTGn1Z1fo+lf99Tq3OA8AZ6VG+EEKoGUI4uNQL/Aq1Se2inQ7khRD+QWp9KIu12s7EGCeQ+gDLE8BL6b0tK6xyHtewDtUmNfI5O4TQALiyjNkJIRwbQmicfo2Ynf5zMann6MEhhL1DCPmkyt0SUsustK9Y/bZ5dfO1tutB1rJ4rYP0CnAYqd1b00m9w7iYtXs8/0XqEyLDSH1C8cv03zZEvnmkNm7Pk3rh7Enq3WtZXZTONIjULoMbSB2rVeb5jjEuJVW0DiQ1inY3qWN8vlu3ufrNbReRepHoTOoDBr+QekGsm77IE6Q+cTkGeI/UQaaru72RpI5/+YLUE38rUsckbQi3kXrs3wshzCN1QPyO6ftdSPrTr+ldD93S1/mE1Aay7yp+h/VYf2KM75M6+PuNEMJ2K7nI9sCAEML8dPbzYow/xRhnkHrcLyS1i+sS4JAY40p3u8UYB5B6h7sRqReCtRZj7A3cTmrX5WhSjx+kNuylL7u+633p23uO1HFtF5Ca35GkjvHcJf1YrLBT+rGaS6ok1wG2jzEOL3WTs8Nvz+P1l1Xc9XGkjt36jtQxaOen83xAqni+RGoUqS3wx3WdP1IjqbNIjSQ8Repg8xXPzzOBa9Lr7D9IPaarFGN8hdR24tmQ2oX1DannPun1owdwPanHsT2rf36tKH8zQghfpn8+htTxPpNI7bK+Mv14rMxDQMf0c+rV1eVO5xtM6sNJd5J6PEaTOt5qZd4F3gG+J7WbazFl3G26jtuZx9KXK72b8TpSbwpmhxAuWsn1VroOkTpWrzqpbWb/9LyU1QHAiPS6fhup41gXxRhHkdoVekf6dn9P6jRMS1dyG2vaNq9pvtZmPchaIfXGTpKyXwhhC1Iv6tViwueAq8jSI9BPxhjXZpReGZYeqXqS1Kk5fLGuJBzxkpTVQgiHhxCqhdRJS28gdW4mS5cqtfRuu/OABy1dlYvFS1K2O53U7pIfSX0i9M/JxpHKV3pkdzapT9DemmgYbXDuapQkScoQR7wkSZIyJOtOLLYyjRo1iq1bt046hiRJ0hoNGTLklxhj45VNqxDFq3Xr1gwePDjpGJIkSWsUQij9LR+/clejJElShli8JEmSMsTiJUmSlCEV4hgvSZK0/pYtW8aECRNYvHhx0lEqhcLCQlq2bEl+fn6Zr2PxkiSpipgwYQK1a9emdevWhBCSjlOhxRiZMWMGEyZMoE2bNmW+nrsaJUmqIhYvXkzDhg0tXRtACIGGDRuu9eihxUuSpCrE0rXhrMtjafGSJEnKEIuXJEmqcB599FHOPvvsNV5m0qRJv/5+yimnMHLkyLW+rz59+nDIIYes9fVWxuIlSZIqpdLF68EHH6Rjx44JJrJ4SZKkDOvevTtdunShU6dO3H///QDUqlWLK664gm222YZu3boxdepUAN544w123HFHtt12W/bZZ59f/77CvHnzaNOmDcuWLQNg7ty5tGnThhdeeIHBgwfTq1cvOnfuzKJFi9hjjz1+/QrCd955h+22245tttmGvffeG4CBAwey0047se2227LzzjszatSoDT7vnk5CkqQq6Oo3RjBy0twNepsdN6rDlb/vtMbLPfzwwzRo0IBFixax/fbbc+SRR7JgwQK6devGv//9by655BIeeOAB/va3v7HrrrvSv39/Qgg8+OCD3Hjjjdxyyy2/3lbt2rXZY489eOutt+jevTvPPvssRxxxBD169OCuu+7i5ptvpmvXrr+5/+nTp3PqqafSt29f2rRpw8yZMwHYfPPN+fTTT8nLy+ODDz7g8ssv56WXXtqgj5HFS5IkZdTtt9/OK6+8AsD48eP54YcfKCgo+PU4qi5duvD+++8DqXOP/eEPf2Dy5MksXbp0pefMOuWUU7jxxhvp3r07jzzyCA888MBq779///787ne/+/W2GjRoAMCcOXM44YQT+OGHHwgh/DqKtiFZvCRJqoLKMjJVHvr06cMHH3zAF198QY0aNdhjjz1YvHgx+fn5v56eITc3l+XLlwNwzjnn8Je//IVDDz2UPn36cNVVV/3Pbe6yyy6MGTOGPn36UFRUxJZbbrlO2f7+97+z55578sorrzBmzBj22GOPdZ3NVfIYL0mSlDFz5syhfv361KhRg++++47+/fuv8fItWrQA4LHHHlvl5Y4//nh69uzJSSed9Ovfateuzbx58/7nst26daNv3778/PPPAL/uaix5X48++uhazVdZWbwkSVLGHHDAASxfvpwtttiCv/71r3Tr1m21l7/qqqvo0aMHXbp0oVGjRqu8XK9evZg1axbHHHPMr3878cQTOeOMM349uH6Fxo0b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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "%matplotlib inline\n", "\n", @@ -864,10 +883,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "import autograd.numpy as np\n", @@ -1121,10 +1137,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "import autograd.numpy as np\n", @@ -1384,10 +1397,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "# Assume that all function definitions from the example program using Autograd\n", @@ -1588,10 +1598,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "import autograd.numpy as np\n", @@ -1899,10 +1906,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "import autograd.numpy as np\n", @@ -2325,10 +2329,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "def sigmoid(z):\n", @@ -2427,10 +2428,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "# Set up the trial function:\n", @@ -2497,10 +2495,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "import autograd.numpy as np\n", @@ -2858,10 +2853,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "import autograd.numpy as np\n", @@ -3604,10 +3596,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -3834,10 +3823,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -4035,10 +4021,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "# import necessary packages\n", @@ -4093,10 +4076,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "from tensorflow.keras import datasets, layers, models\n", @@ -4134,10 +4114,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "def create_convolutional_neural_network_keras(input_shape, receptive_field,\n", @@ -4178,10 +4155,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "CNN_keras = np.zeros((len(eta_vals), len(lmbd_vals)), dtype=object)\n", @@ -4212,10 +4186,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "# visual representation of grid search\n", @@ -4265,10 +4236,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "import tensorflow as tf\n", @@ -4295,10 +4263,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "class_names = ['airplane', 'automobile', 'bird', 'cat', 'deer',\n", @@ -4331,10 +4296,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "model = models.Sequential()\n", @@ -4372,10 +4334,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "model.add(layers.Flatten())\n", @@ -4398,10 +4357,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "model.compile(optimizer='adam',\n", @@ -4422,10 +4378,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "plt.plot(history.history['accuracy'], label='accuracy')\n", @@ -4441,7 +4394,25 @@ ] } ], - "metadata": {}, + "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.8.5" + } + }, "nbformat": 4, "nbformat_minor": 4 }