From 10a0f86fe65270537598c02da1c8d2a7de33390d Mon Sep 17 00:00:00 2001 From: ci-doc-deploy-bot Date: Mon, 22 Jan 2024 20:02:47 +0000 Subject: [PATCH] [skip ci] docs build of a6afd8d2665218affdbe671dfe1c69a008a2b786 --- ...bf97431945fef9b1c9abb03b5e3f284205fc1b.png | Bin 96530 -> 0 bytes ...1e4ef320d7e07bc55d97a85c3ee10d91b96921.png | Bin 0 -> 79794 bytes _sources/content/mooreslaw-tutorial.ipynb | 90 +++--- _sources/content/pairing.ipynb | 6 +- _sources/content/save-load-arrays.ipynb | 52 ++-- _sources/content/save-load-arrays.md | 2 +- .../tutorial-air-quality-analysis.ipynb | 78 ++--- .../tutorial-deep-learning-on-mnist.ipynb | 96 +++--- ...ement-learning-with-pong-from-pixels.ipynb | 2 +- _sources/content/tutorial-ma.ipynb | 98 +++--- .../content/tutorial-plotting-fractals.ipynb | 240 ++++++++------- .../content/tutorial-plotting-fractals.md | 16 +- .../content/tutorial-static_equilibrium.ipynb | 62 ++-- _sources/content/tutorial-style-guide.ipynb | 10 +- _sources/content/tutorial-svd.ipynb | 283 +++++++++--------- _sources/content/tutorial-svd.md | 12 +- .../tutorial-x-ray-image-processing.ipynb | 122 ++++---- content/mooreslaw-tutorial.html | 2 +- content/save-load-arrays.html | 2 +- content/tutorial-air-quality-analysis.html | 2 +- content/tutorial-ma.html | 2 +- content/tutorial-plotting-fractals.html | 18 +- content/tutorial-svd.html | 15 +- searchindex.js | 2 +- 24 files changed, 608 insertions(+), 604 deletions(-) delete mode 100644 _images/774c0c53a1edfeb533e6940c2abf97431945fef9b1c9abb03b5e3f284205fc1b.png create mode 100644 _images/ebd2ae94d8d5dfb90da758ca431e4ef320d7e07bc55d97a85c3ee10d91b96921.png diff --git a/_images/774c0c53a1edfeb533e6940c2abf97431945fef9b1c9abb03b5e3f284205fc1b.png b/_images/774c0c53a1edfeb533e6940c2abf97431945fef9b1c9abb03b5e3f284205fc1b.png deleted file mode 100644 index 0f1a67a61efc2b06ed55e66b3a3ca5e2b43f890e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 96530 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
  • >|+ZBN78(c$FgSjm|?W$Fx$oiu0hCDFzf7h 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 F{{#HHgG~Sc diff --git a/_images/ebd2ae94d8d5dfb90da758ca431e4ef320d7e07bc55d97a85c3ee10d91b96921.png b/_images/ebd2ae94d8d5dfb90da758ca431e4ef320d7e07bc55d97a85c3ee10d91b96921.png new file mode 100644 index 0000000000000000000000000000000000000000..fb130dc264c5007ae86492bfdde309e1d622c975 GIT binary patch literal 79794 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 dUefE7G0Nkqj^>C@Fc$nLFRd(" + "" ] }, "execution_count": 13, @@ -621,7 +621,7 @@ }, { "cell_type": "markdown", - "id": "ddbe30ef", + "id": "41fe5f62", "metadata": {}, "source": [ "The result is that your model is close to the mean, but Gordon\n", @@ -638,7 +638,7 @@ }, { "cell_type": "markdown", - "id": "59b1d208", + "id": "1c2d3a22", "metadata": {}, "source": [ "## Sharing your results as zipped arrays and a csv\n", @@ -663,7 +663,7 @@ { "cell_type": "code", "execution_count": 14, - "id": "d68484fe", + "id": "89c762cb", "metadata": {}, "outputs": [ { @@ -697,7 +697,7 @@ { "cell_type": "code", "execution_count": 15, - "id": "b36cdb55", + "id": "a4c0335d", "metadata": {}, "outputs": [], "source": [ @@ -715,7 +715,7 @@ { "cell_type": "code", "execution_count": 16, - "id": "a7d0bd3b", + "id": "dbb13ef4", "metadata": {}, "outputs": [], "source": [ @@ -725,7 +725,7 @@ { "cell_type": "code", "execution_count": 17, - "id": "9057baa4", + "id": "b7a4f950", "metadata": {}, "outputs": [ { @@ -743,7 +743,7 @@ { "cell_type": "code", "execution_count": 18, - "id": "fcc028d4", + "id": "b2213676", "metadata": {}, "outputs": [ { @@ -783,7 +783,7 @@ }, { "cell_type": "markdown", - "id": "d5b6537c", + "id": "e910f750", "metadata": {}, "source": [ "The benefit of `np.savez` is you can save hundreds of arrays with\n", @@ -811,7 +811,7 @@ { "cell_type": "code", "execution_count": 19, - "id": "333aa14d", + "id": "43207fa0", "metadata": {}, "outputs": [ { @@ -844,7 +844,7 @@ }, { "cell_type": "markdown", - "id": "525170b2", + "id": "a92aef3f", "metadata": {}, "source": [ "Build a single 2D array to export to csv. Tabular data is inherently two\n", @@ -870,7 +870,7 @@ { "cell_type": "code", "execution_count": 20, - "id": "e75086ce", + "id": "af3d72ff", "metadata": {}, "outputs": [], "source": [ @@ -886,7 +886,7 @@ }, { "cell_type": "markdown", - "id": "c76f1228", + "id": "79916572", "metadata": {}, "source": [ "Creating the `mooreslaw_regression.csv` with `np.savetxt`, use three\n", @@ -900,7 +900,7 @@ { "cell_type": "code", "execution_count": 21, - "id": "ec598f31", + "id": "aa67bf5c", "metadata": {}, "outputs": [], "source": [ @@ -910,7 +910,7 @@ { "cell_type": "code", "execution_count": 22, - "id": "75fb37b1", + "id": "1ff4a5ad", "metadata": {}, "outputs": [ { @@ -936,7 +936,7 @@ }, { "cell_type": "markdown", - "id": "5be5bc9a", + "id": "8a2f1f8f", "metadata": {}, "source": [ "## Wrapping up\n", @@ -960,7 +960,7 @@ }, { "cell_type": "markdown", - "id": "27107e3d", + "id": "2273fed0", "metadata": {}, "source": [ "## References\n", diff --git a/_sources/content/pairing.ipynb b/_sources/content/pairing.ipynb index da9d7c89..5d711762 100644 --- a/_sources/content/pairing.ipynb +++ b/_sources/content/pairing.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "0b3dee16", + "id": "1b8ba7b5", "metadata": {}, "source": [ "# Pairing Jupyter notebooks and MyST-NB\n", @@ -76,7 +76,7 @@ { "cell_type": "code", "execution_count": 1, - "id": "4add3eed", + "id": "dedd373f", "metadata": {}, "outputs": [ { @@ -94,7 +94,7 @@ }, { "cell_type": "markdown", - "id": "b0ef941e", + "id": "dd88ff99", "metadata": {}, "source": [ "---\n", diff --git a/_sources/content/save-load-arrays.ipynb b/_sources/content/save-load-arrays.ipynb index 8bd471e5..2ba14b22 100644 --- a/_sources/content/save-load-arrays.ipynb +++ b/_sources/content/save-load-arrays.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "896aa5da", + "id": "08d25bc4", "metadata": {}, "source": [ "# Saving and sharing your NumPy arrays\n", @@ -37,7 +37,7 @@ { "cell_type": "code", "execution_count": 1, - "id": "19e14d66", + "id": "539560d8", "metadata": {}, "outputs": [], "source": [ @@ -46,7 +46,7 @@ }, { "cell_type": "markdown", - "id": "27fdb3b6", + "id": "9fa2bd31", "metadata": {}, "source": [ "In this tutorial, you will use the following Python, IPython magic, and NumPy functions:\n", @@ -64,7 +64,7 @@ }, { "cell_type": "markdown", - "id": "3549bf9e", + "id": "2b73d4de", "metadata": {}, "source": [ "---\n", @@ -81,7 +81,7 @@ { "cell_type": "code", "execution_count": 2, - "id": "e7637a07", + "id": "8c64a13f", "metadata": {}, "outputs": [ { @@ -102,7 +102,7 @@ }, { "cell_type": "markdown", - "id": "757ff679", + "id": "df92b324", "metadata": {}, "source": [ "## Save your arrays with NumPy's [`savez`](https://numpy.org/doc/stable/reference/generated/numpy.savez.html?highlight=savez#numpy.savez)\n", @@ -125,7 +125,7 @@ { "cell_type": "code", "execution_count": 3, - "id": "c7e877ff", + "id": "94e29d9c", "metadata": {}, "outputs": [], "source": [ @@ -134,7 +134,7 @@ }, { "cell_type": "markdown", - "id": "b635f3c5", + "id": "3ce05075", "metadata": {}, "source": [ "## Remove the saved arrays and load them back with NumPy's [`load`](https://numpy.org/doc/stable/reference/generated/numpy.load.html#numpy.load)\n", @@ -159,7 +159,7 @@ { "cell_type": "code", "execution_count": 4, - "id": "2730d1a9", + "id": "3c250ec2", "metadata": {}, "outputs": [], "source": [ @@ -169,7 +169,7 @@ { "cell_type": "code", "execution_count": 5, - "id": "d14838f5", + "id": "617ca504", "metadata": {}, "outputs": [ { @@ -189,7 +189,7 @@ { "cell_type": "code", "execution_count": 6, - "id": "9b87644b", + "id": "d63fd187", "metadata": {}, "outputs": [ { @@ -209,7 +209,7 @@ { "cell_type": "code", "execution_count": 7, - "id": "8c6f2560", + "id": "964048b7", "metadata": {}, "outputs": [ { @@ -224,12 +224,12 @@ } ], "source": [ - "whos" + "%whos" ] }, { "cell_type": "markdown", - "id": "555b10eb", + "id": "f3d52251", "metadata": {}, "source": [ "## Reassign the NpzFile arrays to `x` and `y`\n", @@ -242,7 +242,7 @@ { "cell_type": "code", "execution_count": 8, - "id": "f31df649", + "id": "2c525ad1", "metadata": {}, "outputs": [ { @@ -263,7 +263,7 @@ }, { "cell_type": "markdown", - "id": "f7549957", + "id": "a0134b8a", "metadata": {}, "source": [ "## Success\n", @@ -294,7 +294,7 @@ { "cell_type": "code", "execution_count": 9, - "id": "69cb2a08", + "id": "aaeec3f3", "metadata": {}, "outputs": [ { @@ -323,7 +323,7 @@ }, { "cell_type": "markdown", - "id": "e264d250", + "id": "d411f283", "metadata": {}, "source": [ "## Save the data to csv file using [`savetxt`](https://numpy.org/doc/stable/reference/generated/numpy.savetxt.html#numpy.savetxt)\n", @@ -338,7 +338,7 @@ { "cell_type": "code", "execution_count": 10, - "id": "e8da8648", + "id": "d3acf89d", "metadata": {}, "outputs": [], "source": [ @@ -347,7 +347,7 @@ }, { "cell_type": "markdown", - "id": "9d53ede6", + "id": "274fcaf0", "metadata": {}, "source": [ "Open the file, `x_y-squared.csv`, and you'll see the following:\n", @@ -387,7 +387,7 @@ { "cell_type": "code", "execution_count": 11, - "id": "3a8878c2", + "id": "07fcb9c3", "metadata": {}, "outputs": [], "source": [ @@ -397,7 +397,7 @@ { "cell_type": "code", "execution_count": 12, - "id": "b4b71d87", + "id": "c3aaceac", "metadata": {}, "outputs": [], "source": [ @@ -407,7 +407,7 @@ { "cell_type": "code", "execution_count": 13, - "id": "8cb66d94", + "id": "d0bd177e", "metadata": {}, "outputs": [ { @@ -428,7 +428,7 @@ { "cell_type": "code", "execution_count": 14, - "id": "12171f4d", + "id": "50ae6d0f", "metadata": {}, "outputs": [ { @@ -449,7 +449,7 @@ }, { "cell_type": "markdown", - "id": "c364bceb", + "id": "e1dbb437", "metadata": {}, "source": [ "## Success, but remember your types\n", @@ -460,7 +460,7 @@ }, { "cell_type": "markdown", - "id": "ba80dfca", + "id": "b478e283", "metadata": {}, "source": [ "## Wrapping up\n", diff --git a/_sources/content/save-load-arrays.md b/_sources/content/save-load-arrays.md index 434c7370..6768d938 100644 --- a/_sources/content/save-load-arrays.md +++ b/_sources/content/save-load-arrays.md @@ -127,7 +127,7 @@ print(load_xy.files) ``` ```{code-cell} -whos +%whos ``` ## Reassign the NpzFile arrays to `x` and `y` diff --git a/_sources/content/tutorial-air-quality-analysis.ipynb b/_sources/content/tutorial-air-quality-analysis.ipynb index 5e4ab37a..27b52fa6 100644 --- a/_sources/content/tutorial-air-quality-analysis.ipynb +++ b/_sources/content/tutorial-air-quality-analysis.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "89ec63b5", + "id": "b3e80e86", "metadata": {}, "source": [ "# Analyzing the impact of the lockdown on air quality in Delhi, India\n", @@ -36,7 +36,7 @@ }, { "cell_type": "markdown", - "id": "4f257b98", + "id": "11d314d6", "metadata": {}, "source": [ "## The problem of air pollution\n", @@ -54,7 +54,7 @@ { "cell_type": "code", "execution_count": 1, - "id": "cb9af9e3", + "id": "1113b83a", "metadata": {}, "outputs": [], "source": [ @@ -65,7 +65,7 @@ }, { "cell_type": "markdown", - "id": "c8f15ec7", + "id": "4d5343f1", "metadata": {}, "source": [ "## Building the dataset\n", @@ -80,7 +80,7 @@ { "cell_type": "code", "execution_count": 2, - "id": "d05b4203", + "id": "93662f50", "metadata": {}, "outputs": [ { @@ -106,7 +106,7 @@ }, { "cell_type": "markdown", - "id": "d5e79677", + "id": "935be0de", "metadata": {}, "source": [ "For the purpose of this tutorial, we are only concerned with standard pollutants required for calculating the AQI, viz., PM 2.5, PM 10, NO2, NH3, SO2, CO, and O3. So, we will only import these particular columns with [np.loadtxt](https://numpy.org/devdocs/reference/generated/numpy.loadtxt.html). We'll then [slice](https://numpy.org/devdocs/glossary.html#term-0) and create two sets: `pollutants_A` with PM 2.5, PM 10, NO2, NH3, and SO2, and `pollutants_B` with CO and O3. The\n", @@ -116,7 +116,7 @@ { "cell_type": "code", "execution_count": 3, - "id": "4526da5d", + "id": "109f028d", "metadata": {}, "outputs": [ { @@ -140,7 +140,7 @@ }, { "cell_type": "markdown", - "id": "847645f6", + "id": "1c2b4201", "metadata": {}, "source": [ "Our dataset might contain missing values, denoted by `NaN`, so let's do a quick check with [np.isfinite](https://numpy.org/devdocs/reference/generated/numpy.isfinite.html)." @@ -149,7 +149,7 @@ { "cell_type": "code", "execution_count": 4, - "id": "1416ca66", + "id": "16678a54", "metadata": {}, "outputs": [ { @@ -169,7 +169,7 @@ }, { "cell_type": "markdown", - "id": "d7e392e7", + "id": "6515f038", "metadata": {}, "source": [ "With this, we have successfully imported the data and checked that it is complete. Let's move on to the AQI calculations!" @@ -177,7 +177,7 @@ }, { "cell_type": "markdown", - "id": "a977df7a", + "id": "7c3f5828", "metadata": {}, "source": [ "## Calculating the Air Quality Index\n", @@ -219,7 +219,7 @@ { "cell_type": "code", "execution_count": 5, - "id": "b8534ce4", + "id": "c38bd805", "metadata": {}, "outputs": [], "source": [ @@ -238,7 +238,7 @@ }, { "cell_type": "markdown", - "id": "eeb309eb", + "id": "8bc97d18", "metadata": {}, "source": [ "### Moving averages\n", @@ -253,7 +253,7 @@ { "cell_type": "code", "execution_count": 6, - "id": "9d149f59", + "id": "2e471a77", "metadata": {}, "outputs": [], "source": [ @@ -268,7 +268,7 @@ }, { "cell_type": "markdown", - "id": "774f78c0", + "id": "3533b82f", "metadata": {}, "source": [ "Now, we can join both sets with [np.concatenate](https://numpy.org/devdocs/reference/generated/numpy.concatenate.html) to form a single data set of all the averaged concentrations. Note that we have to join our arrays column-wise so we pass the\n", @@ -278,7 +278,7 @@ { "cell_type": "code", "execution_count": 7, - "id": "c6db6dd1", + "id": "38743618", "metadata": {}, "outputs": [], "source": [ @@ -287,7 +287,7 @@ }, { "cell_type": "markdown", - "id": "ac54be33", + "id": "e1934685", "metadata": {}, "source": [ "### Sub-indices\n", @@ -304,7 +304,7 @@ { "cell_type": "code", "execution_count": 8, - "id": "ae328d49", + "id": "248cb8bb", "metadata": {}, "outputs": [], "source": [ @@ -360,7 +360,7 @@ }, { "cell_type": "markdown", - "id": "25ccb2ba", + "id": "963b3f2a", "metadata": {}, "source": [ "We will use [np.vectorize](https://numpy.org/devdocs/reference/generated/numpy.vectorize.html) to utilize the concept of vectorization. This simply means we don't have loop over each element of the pollutant array ourselves. [Vectorization](https://numpy.org/devdocs/user/whatisnumpy.html#why-is-numpy-fast) is one of the key advantages of NumPy." @@ -369,7 +369,7 @@ { "cell_type": "code", "execution_count": 9, - "id": "654af56d", + "id": "0caf2e40", "metadata": {}, "outputs": [], "source": [ @@ -378,7 +378,7 @@ }, { "cell_type": "markdown", - "id": "7c722562", + "id": "c68a5c69", "metadata": {}, "source": [ "By calling our vectorized function `vcompute_indices` for each pollutant, we get the sub-indices. To get back an array with the original shape, we use [np.stack](https://numpy.org/devdocs/reference/generated/numpy.stack.html)." @@ -387,7 +387,7 @@ { "cell_type": "code", "execution_count": 10, - "id": "61b8f203", + "id": "d306eb4e", "metadata": {}, "outputs": [], "source": [ @@ -402,7 +402,7 @@ }, { "cell_type": "markdown", - "id": "03ed866c", + "id": "9265d1df", "metadata": {}, "source": [ "### Air quality indices\n", @@ -413,7 +413,7 @@ { "cell_type": "code", "execution_count": 11, - "id": "d29d9a10", + "id": "14cfd13c", "metadata": {}, "outputs": [], "source": [ @@ -422,7 +422,7 @@ }, { "cell_type": "markdown", - "id": "d96c9f95", + "id": "6ae66bc8", "metadata": {}, "source": [ "With this, we have the AQI for every hour from June 1, 2019 to June 30, 2020. Note that even though we started out with\n", @@ -431,7 +431,7 @@ }, { "cell_type": "markdown", - "id": "49c55d6b", + "id": "8df73df5", "metadata": {}, "source": [ "## Paired Student's t-test on the AQIs\n", @@ -448,7 +448,7 @@ { "cell_type": "code", "execution_count": 12, - "id": "9b00aad8", + "id": "30ac6ddf", "metadata": {}, "outputs": [], "source": [ @@ -458,7 +458,7 @@ }, { "cell_type": "markdown", - "id": "664e4a07", + "id": "4e39f2da", "metadata": {}, "source": [ "Since total lockdown commenced in Delhi from March 24, 2020, the after-lockdown subset is of the period March 24, 2020 to June 30, 2020. The before-lockdown subset is for the same length of time before 24th March." @@ -467,7 +467,7 @@ { "cell_type": "code", "execution_count": 13, - "id": "8af4dd31", + "id": "7e09240a", "metadata": {}, "outputs": [ { @@ -490,7 +490,7 @@ }, { "cell_type": "markdown", - "id": "4f595988", + "id": "c90e7722", "metadata": {}, "source": [ "To make sure our samples are *approximately* normally distributed, we take samples of size `n = 30`. `before_sample` and `after_sample` are the set of random observations drawn before and after the total lockdown. We use [random.Generator.choice](https://numpy.org/devdocs/reference/random/generated/numpy.random.Generator.choice.html) to generate the samples." @@ -499,7 +499,7 @@ { "cell_type": "code", "execution_count": 14, - "id": "2c3c108b", + "id": "1e13b892", "metadata": {}, "outputs": [], "source": [ @@ -511,7 +511,7 @@ }, { "cell_type": "markdown", - "id": "2291cf7b", + "id": "48b0f07d", "metadata": {}, "source": [ "### Defining the hypothesis\n", @@ -524,7 +524,7 @@ }, { "cell_type": "markdown", - "id": "b5549bcb", + "id": "eab587ae", "metadata": {}, "source": [ "### Calculating the test statistics\n", @@ -545,7 +545,7 @@ { "cell_type": "code", "execution_count": 15, - "id": "1e73ae8d", + "id": "6fa44e1f", "metadata": {}, "outputs": [], "source": [ @@ -561,7 +561,7 @@ }, { "cell_type": "markdown", - "id": "821f975e", + "id": "b9febe51", "metadata": {}, "source": [ "For the `p` value, we will use SciPy's `stats.distributions.t.cdf()` function. It takes two arguments- the `t statistic` and the degrees of freedom (`dof`). The formula for `dof` is `n - 1`." @@ -570,14 +570,14 @@ { "cell_type": "code", "execution_count": 16, - "id": "970c520f", + "id": "8e8f0a25", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "The t value is -5.84285569186369 and the p value is 1.2266697972219608e-06.\n" + "The t value is -7.836332143875384 and the p value is 6.071929048036322e-09.\n" ] } ], @@ -591,7 +591,7 @@ }, { "cell_type": "markdown", - "id": "19a7ee87", + "id": "1eadd517", "metadata": {}, "source": [ "## What do the `t` and `p` values mean?\n", @@ -609,7 +609,7 @@ }, { "cell_type": "markdown", - "id": "be201240", + "id": "2e1abcf3", "metadata": {}, "source": [ "***\n", diff --git a/_sources/content/tutorial-deep-learning-on-mnist.ipynb b/_sources/content/tutorial-deep-learning-on-mnist.ipynb index e40fbc4d..f6d8ae29 100644 --- a/_sources/content/tutorial-deep-learning-on-mnist.ipynb +++ b/_sources/content/tutorial-deep-learning-on-mnist.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "6f873eab", + "id": "2496c023", "metadata": {}, "source": [ "# Deep learning on MNIST\n", @@ -64,7 +64,7 @@ { "cell_type": "code", "execution_count": 1, - "id": "13bf1695", + "id": "5800f53d", "metadata": {}, "outputs": [], "source": [ @@ -78,7 +78,7 @@ }, { "cell_type": "markdown", - "id": "6da3f310", + "id": "ee43258d", "metadata": {}, "source": [ "**2.** Load the data. First check if the data is stored locally; if not, then\n", @@ -88,7 +88,7 @@ { "cell_type": "code", "execution_count": 2, - "id": "d30709e0", + "id": "3f2f3ac1", "metadata": { "tags": [ "remove-cell" @@ -110,7 +110,7 @@ { "cell_type": "code", "execution_count": 3, - "id": "2cc87bf6", + "id": "c65ec42c", "metadata": {}, "outputs": [], "source": [ @@ -135,7 +135,7 @@ }, { "cell_type": "markdown", - "id": "13d0c605", + "id": "2af3a7c1", "metadata": {}, "source": [ "**3.** Decompress the 4 files and create 4 [`ndarrays`](https://numpy.org/doc/stable/reference/arrays.ndarray.html), saving them into a dictionary. Each original image is of size 28x28 and neural networks normally expect a 1D vector input; therefore, you also need to reshape the images by multiplying 28 by 28 (784)." @@ -144,7 +144,7 @@ { "cell_type": "code", "execution_count": 4, - "id": "9f0079ce", + "id": "5e3d03da", "metadata": {}, "outputs": [], "source": [ @@ -167,7 +167,7 @@ }, { "cell_type": "markdown", - "id": "35e2c5fb", + "id": "4cb75a59", "metadata": {}, "source": [ "**4.** Split the data into training and test sets using the standard notation of `x` for data and `y` for labels, calling the training and test set images `x_train` and `x_test`, and the labels `y_train` and `y_test`:" @@ -176,7 +176,7 @@ { "cell_type": "code", "execution_count": 5, - "id": "9f3d3282", + "id": "bafb31a4", "metadata": {}, "outputs": [], "source": [ @@ -190,7 +190,7 @@ }, { "cell_type": "markdown", - "id": "1d0b498d", + "id": "30984cf7", "metadata": {}, "source": [ "**5.** You can confirm that the shape of the image arrays is `(60000, 784)` and `(10000, 784)` for training and test sets, respectively, and the labels — `(60000,)` and `(10000,)`:" @@ -199,7 +199,7 @@ { "cell_type": "code", "execution_count": 6, - "id": "604bbd6c", + "id": "b758fd5c", "metadata": {}, "outputs": [ { @@ -226,7 +226,7 @@ }, { "cell_type": "markdown", - "id": "625b412f", + "id": "12a53f16", "metadata": {}, "source": [ "**6.** And you can inspect some images using Matplotlib:" @@ -235,7 +235,7 @@ { "cell_type": "code", "execution_count": 7, - "id": "cf6612fa", + "id": "6f043a63", "metadata": {}, "outputs": [ { @@ -264,7 +264,7 @@ { "cell_type": "code", "execution_count": 8, - "id": "8fbe137e", + "id": "a70c36f4", "metadata": {}, "outputs": [ { @@ -291,7 +291,7 @@ }, { "cell_type": "markdown", - "id": "e933f2ba", + "id": "a56bd2a6", "metadata": {}, "source": [ "_Above are five images taken from the MNIST training set. Various hand-drawn\n", @@ -312,7 +312,7 @@ { "cell_type": "code", "execution_count": 9, - "id": "2cc15c7c", + "id": "80136aa0", "metadata": {}, "outputs": [ { @@ -333,7 +333,7 @@ }, { "cell_type": "markdown", - "id": "47bc60cf", + "id": "2db61764", "metadata": {}, "source": [ "## 2. Preprocess the data\n", @@ -359,7 +359,7 @@ { "cell_type": "code", "execution_count": 10, - "id": "5664f70a", + "id": "047cab0c", "metadata": {}, "outputs": [ { @@ -378,7 +378,7 @@ }, { "cell_type": "markdown", - "id": "91518c96", + "id": "805f0a13", "metadata": {}, "source": [ "**2.** Normalize the arrays by dividing them by 255 (and thus promoting the data type from `uint8` to `float64`) and then assign the train and test image data variables — `x_train` and `x_test` — to `training_images` and `train_labels`, respectively.\n", @@ -393,7 +393,7 @@ { "cell_type": "code", "execution_count": 11, - "id": "1b7aa385", + "id": "545b20dc", "metadata": {}, "outputs": [], "source": [ @@ -404,7 +404,7 @@ }, { "cell_type": "markdown", - "id": "6ad3dcda", + "id": "f1c67e2b", "metadata": {}, "source": [ "**3.** Confirm that the image data has changed to the floating-point format:" @@ -413,7 +413,7 @@ { "cell_type": "code", "execution_count": 12, - "id": "4707efd0", + "id": "6d9f2b29", "metadata": {}, "outputs": [ { @@ -432,7 +432,7 @@ }, { "cell_type": "markdown", - "id": "1f3d5b47", + "id": "656191b7", "metadata": {}, "source": [ "> **Note:** You can also check that normalization was successful by printing `training_images[0]` in a notebook cell. Your long output should contain an array of floating-point numbers:\n", @@ -461,7 +461,7 @@ { "cell_type": "code", "execution_count": 13, - "id": "bf8ae9dc", + "id": "98ff671e", "metadata": {}, "outputs": [ { @@ -480,7 +480,7 @@ }, { "cell_type": "markdown", - "id": "439432dc", + "id": "91f7d1ad", "metadata": {}, "source": [ "**2.** Define a function that performs one-hot encoding on arrays:" @@ -489,7 +489,7 @@ { "cell_type": "code", "execution_count": 14, - "id": "b960cdd6", + "id": "640470ee", "metadata": {}, "outputs": [], "source": [ @@ -503,7 +503,7 @@ }, { "cell_type": "markdown", - "id": "dcd5c35f", + "id": "dfab9b73", "metadata": {}, "source": [ "**3.** Encode the labels and assign the values to new variables:" @@ -512,7 +512,7 @@ { "cell_type": "code", "execution_count": 15, - "id": "b54cb919", + "id": "34d51b6c", "metadata": {}, "outputs": [], "source": [ @@ -522,7 +522,7 @@ }, { "cell_type": "markdown", - "id": "65552293", + "id": "c315695a", "metadata": {}, "source": [ "**4.** Check that the data type has changed to floating point:" @@ -531,7 +531,7 @@ { "cell_type": "code", "execution_count": 16, - "id": "093eafe8", + "id": "b8750410", "metadata": {}, "outputs": [ { @@ -550,7 +550,7 @@ }, { "cell_type": "markdown", - "id": "b24e345c", + "id": "bd9a5f17", "metadata": {}, "source": [ "**5.** Examine a few encoded labels:" @@ -559,7 +559,7 @@ { "cell_type": "code", "execution_count": 17, - "id": "6b6b0351", + "id": "bc688b3b", "metadata": {}, "outputs": [ { @@ -580,7 +580,7 @@ }, { "cell_type": "markdown", - "id": "0ce1a89a", + "id": "67685fa1", "metadata": {}, "source": [ "...and compare to the originals:" @@ -589,7 +589,7 @@ { "cell_type": "code", "execution_count": 18, - "id": "ce0e7a8d", + "id": "c9605bd1", "metadata": {}, "outputs": [ { @@ -610,7 +610,7 @@ }, { "cell_type": "markdown", - "id": "bea9e930", + "id": "48f148a2", "metadata": {}, "source": [ "You have finished preparing the dataset.\n", @@ -705,7 +705,7 @@ { "cell_type": "code", "execution_count": 19, - "id": "d0f28d20", + "id": "7699eab6", "metadata": {}, "outputs": [], "source": [ @@ -715,7 +715,7 @@ }, { "cell_type": "markdown", - "id": "1ada42ec", + "id": "fa2a396e", "metadata": {}, "source": [ "**2.** For the hidden layer, define the ReLU activation function for forward propagation and ReLU's derivative that will be used during backpropagation:" @@ -724,7 +724,7 @@ { "cell_type": "code", "execution_count": 20, - "id": "1698fc61", + "id": "4b24217d", "metadata": {}, "outputs": [], "source": [ @@ -741,7 +741,7 @@ }, { "cell_type": "markdown", - "id": "b0a086ae", + "id": "72b58cfa", "metadata": {}, "source": [ "**3.** Set certain default values of [hyperparameters](https://en.wikipedia.org/wiki/Hyperparameter_(machine_learning)), such as:\n", @@ -756,7 +756,7 @@ { "cell_type": "code", "execution_count": 21, - "id": "c575fc98", + "id": "a4c30d01", "metadata": {}, "outputs": [], "source": [ @@ -769,7 +769,7 @@ }, { "cell_type": "markdown", - "id": "cb10a276", + "id": "6c1731c3", "metadata": {}, "source": [ "**4.** Initialize the weight vectors that will be used in the hidden and output layers with random values:" @@ -778,7 +778,7 @@ { "cell_type": "code", "execution_count": 22, - "id": "1c9acfe1", + "id": "1d1afccb", "metadata": {}, "outputs": [], "source": [ @@ -788,7 +788,7 @@ }, { "cell_type": "markdown", - "id": "904f7aa5", + "id": "4ab6a5f5", "metadata": {}, "source": [ "**5.** Set up the neural network's learning experiment with a training loop and start the training process.\n", @@ -801,7 +801,7 @@ { "cell_type": "code", "execution_count": 23, - "id": "367ecff9", + "id": "ffa67796", "metadata": {}, "outputs": [ { @@ -1130,7 +1130,7 @@ }, { "cell_type": "markdown", - "id": "b234a23e", + "id": "c835d8b9", "metadata": {}, "source": [ "The training process may take many minutes, depending on a number of factors, such as the processing power of the machine you are running the experiment on and the number of epochs. To reduce the waiting time, you can change the epoch (iteration) variable from 100 to a lower number, reset the runtime (which will reset the weights), and run the notebook cells again." @@ -1138,7 +1138,7 @@ }, { "cell_type": "markdown", - "id": "2c4fcacd", + "id": "bb309bb8", "metadata": {}, "source": [ "After executing the cell above, you can visualize the training and test set errors and accuracy for an instance of this training process." @@ -1147,7 +1147,7 @@ { "cell_type": "code", "execution_count": 24, - "id": "da7d01b4", + "id": "a2b87b83", "metadata": {}, "outputs": [ { @@ -1192,7 +1192,7 @@ }, { "cell_type": "markdown", - "id": "61fc33df", + "id": "46b863aa", "metadata": {}, "source": [ "_The training and testing error is shown above in the left and right\n", diff --git a/_sources/content/tutorial-deep-reinforcement-learning-with-pong-from-pixels.ipynb b/_sources/content/tutorial-deep-reinforcement-learning-with-pong-from-pixels.ipynb index 864a752d..b04dbc51 100644 --- a/_sources/content/tutorial-deep-reinforcement-learning-with-pong-from-pixels.ipynb +++ b/_sources/content/tutorial-deep-reinforcement-learning-with-pong-from-pixels.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "266d88d1", + "id": "a0b06a47", "metadata": {}, "source": [ "# Deep reinforcement learning with Pong from pixels\n", diff --git a/_sources/content/tutorial-ma.ipynb b/_sources/content/tutorial-ma.ipynb index ea260013..ef57183f 100644 --- a/_sources/content/tutorial-ma.ipynb +++ b/_sources/content/tutorial-ma.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "ce416acd", + "id": "8bddd837", "metadata": {}, "source": [ "# Masked Arrays\n", @@ -26,7 +26,7 @@ }, { "cell_type": "markdown", - "id": "7307b1ec", + "id": "be53d685", "metadata": {}, "source": [ "***" @@ -34,7 +34,7 @@ }, { "cell_type": "markdown", - "id": "2bd24fd0", + "id": "3c3bd245", "metadata": {}, "source": [ "## What are masked arrays?\n", @@ -65,7 +65,7 @@ }, { "cell_type": "markdown", - "id": "78a188bb", + "id": "b12e31d5", "metadata": {}, "source": [ "## Using masked arrays to see COVID-19 data\n", @@ -76,7 +76,7 @@ { "cell_type": "code", "execution_count": 1, - "id": "cc0fe22b", + "id": "7b23b9e3", "metadata": {}, "outputs": [], "source": [ @@ -91,7 +91,7 @@ }, { "cell_type": "markdown", - "id": "3ada46ce", + "id": "59209cd0", "metadata": {}, "source": [ "The data file contains data of different types and is organized as follows:\n", @@ -107,7 +107,7 @@ { "cell_type": "code", "execution_count": 2, - "id": "f122cadf", + "id": "4a749921", "metadata": {}, "outputs": [], "source": [ @@ -145,7 +145,7 @@ }, { "cell_type": "markdown", - "id": "267a2180", + "id": "cd204dd4", "metadata": {}, "source": [ "Included in the `numpy.genfromtxt` function call, we have selected the [numpy.dtype](https://numpy.org/devdocs/reference/generated/numpy.dtype.html#numpy.dtype) for each subset of the data (either an integer - `numpy.int_` - or a string of characters - `numpy.str_`). We have also used the `encoding` argument to select `utf-8-sig` as the encoding for the file (read more about encoding in the [official Python documentation](https://docs.python.org/3/library/codecs.html#encodings-and-unicode). You can read more about the `numpy.genfromtxt` function from the [Reference Documentation](https://numpy.org/devdocs/reference/generated/numpy.genfromtxt.html#numpy.genfromtxt) or from the [Basic IO tutorial](https://numpy.org/devdocs/user/basics.io.genfromtxt.html)." @@ -153,7 +153,7 @@ }, { "cell_type": "markdown", - "id": "bb679f07", + "id": "eb26811c", "metadata": {}, "source": [ "## Exploring the data\n", @@ -164,7 +164,7 @@ { "cell_type": "code", "execution_count": 3, - "id": "835072d9", + "id": "d6e04423", "metadata": {}, "outputs": [ { @@ -199,7 +199,7 @@ }, { "cell_type": "markdown", - "id": "07184822", + "id": "8ceb68ca", "metadata": {}, "source": [ "The graph has a strange shape from January 24th to February 1st. It would be interesting to know where this data comes from. If we look at the `locations` array we extracted from the `.csv` file, we can see that we have two columns, where the first would contain regions and the second would contain the name of the country. However, only the first few rows contain data for the the first column (province names in China). Following that, we only have country names. So it would make sense to group all the data from China into a single row. For this, we'll select from the `nbcases` array only the rows for which the second entry of the `locations` array corresponds to China. Next, we'll use the [numpy.sum](https://numpy.org/devdocs/reference/generated/numpy.sum.html#numpy.sum) function to sum all the selected rows (`axis=0`). Note also that row 35 corresponds to the total counts for the whole country for each date. Since we want to calculate the sum ourselves from the provinces data, we have to remove that row first from both `locations` and `nbcases`:" @@ -208,7 +208,7 @@ { "cell_type": "code", "execution_count": 4, - "id": "4d89e32c", + "id": "bc451797", "metadata": {}, "outputs": [ { @@ -234,7 +234,7 @@ }, { "cell_type": "markdown", - "id": "99097167", + "id": "c4900a8b", "metadata": {}, "source": [ "Something's wrong with this data - we are not supposed to have negative values in a cumulative data set. What's going on?" @@ -242,7 +242,7 @@ }, { "cell_type": "markdown", - "id": "24847252", + "id": "bce4e243", "metadata": {}, "source": [ "## Missing data\n", @@ -253,7 +253,7 @@ { "cell_type": "code", "execution_count": 5, - "id": "caf6db50", + "id": "42bc44a2", "metadata": {}, "outputs": [ { @@ -279,7 +279,7 @@ }, { "cell_type": "markdown", - "id": "364fec97", + "id": "9f9278b1", "metadata": {}, "source": [ "All the `-1` values we are seeing come from `numpy.genfromtxt` attempting to read missing data from the original `.csv` file. Obviously, we\n", @@ -289,7 +289,7 @@ { "cell_type": "code", "execution_count": 6, - "id": "97a793ad", + "id": "f1f70a23", "metadata": {}, "outputs": [], "source": [ @@ -300,7 +300,7 @@ }, { "cell_type": "markdown", - "id": "db411008", + "id": "6cc4542a", "metadata": {}, "source": [ "If we look at the `nbcases_ma` masked array, this is what we have:" @@ -309,7 +309,7 @@ { "cell_type": "code", "execution_count": 7, - "id": "5fb740ff", + "id": "9811ce26", "metadata": {}, "outputs": [ { @@ -344,7 +344,7 @@ }, { "cell_type": "markdown", - "id": "68df6b61", + "id": "6862458f", "metadata": {}, "source": [ "We can see that this is a different kind of array. As mentioned in the introduction, it has three attributes (`data`, `mask` and `fill_value`).\n", @@ -353,7 +353,7 @@ }, { "cell_type": "markdown", - "id": "4dab3f86", + "id": "99fc5c7f", "metadata": {}, "source": [ "Let's try and see what the data looks like excluding the first row (data from the Hubei province in China) so we can look at the missing data more\n", @@ -363,7 +363,7 @@ { "cell_type": "code", "execution_count": 8, - "id": "32cc3159", + "id": "1412c877", "metadata": {}, "outputs": [ { @@ -395,7 +395,7 @@ }, { "cell_type": "markdown", - "id": "f9f2f90d", + "id": "0a10ce06", "metadata": {}, "source": [ "Now that our data has been masked, let's try summing up all the cases in China:" @@ -404,7 +404,7 @@ { "cell_type": "code", "execution_count": 9, - "id": "d0c5c136", + "id": "f1427f63", "metadata": {}, "outputs": [ { @@ -429,7 +429,7 @@ }, { "cell_type": "markdown", - "id": "65f63049", + "id": "5f53f1ee", "metadata": {}, "source": [ "Note that `china_masked` is a masked array, so it has a different data structure than a regular NumPy array. Now, we can access its data directly by using the `.data` attribute:" @@ -438,7 +438,7 @@ { "cell_type": "code", "execution_count": 10, - "id": "cfe36952", + "id": "5040d9c9", "metadata": {}, "outputs": [ { @@ -460,7 +460,7 @@ }, { "cell_type": "markdown", - "id": "16297d5a", + "id": "fa493c60", "metadata": {}, "source": [ "That is better: no more negative values. However, we can still see that for some days, the cumulative number of cases seems to go down (from 835 to 10, for example), which does not agree with the definition of \"cumulative data\". If we look more closely at the data, we can see that in the period where there was missing data in mainland China, there was valid data for Hong Kong, Taiwan, Macau and \"Unspecified\" regions of China. Maybe we can remove those from the total sum of cases in China, to get a better understanding of the data.\n", @@ -471,7 +471,7 @@ { "cell_type": "code", "execution_count": 11, - "id": "65ae64ea", + "id": "8ea8ceed", "metadata": {}, "outputs": [], "source": [ @@ -486,7 +486,7 @@ }, { "cell_type": "markdown", - "id": "0c8db746", + "id": "474ac17e", "metadata": {}, "source": [ "Now, `china_mask` is an array of boolean values (`True` or `False`); we can check that the indices are what we wanted with the [ma.nonzero](https://numpy.org/devdocs/reference/generated/numpy.ma.nonzero.html#numpy.ma.nonzero) method for masked arrays:" @@ -495,7 +495,7 @@ { "cell_type": "code", "execution_count": 12, - "id": "a4b687e5", + "id": "bd7d739d", "metadata": {}, "outputs": [ { @@ -516,7 +516,7 @@ }, { "cell_type": "markdown", - "id": "8f855090", + "id": "27e7fa1c", "metadata": {}, "source": [ "Now we can correctly sum entries for mainland China:" @@ -525,7 +525,7 @@ { "cell_type": "code", "execution_count": 13, - "id": "8cf4ae10", + "id": "81a0bc34", "metadata": {}, "outputs": [ { @@ -550,7 +550,7 @@ }, { "cell_type": "markdown", - "id": "627c82cb", + "id": "8fbf68f2", "metadata": {}, "source": [ "We can replace the data with this information and plot a new graph, focusing on Mainland China:" @@ -559,7 +559,7 @@ { "cell_type": "code", "execution_count": 14, - "id": "18346bdf", + "id": "aed470b4", "metadata": {}, "outputs": [ { @@ -591,7 +591,7 @@ }, { "cell_type": "markdown", - "id": "8c7549c7", + "id": "699be25b", "metadata": {}, "source": [ "It's clear that masked arrays are the right solution here. We cannot represent the missing data without mischaracterizing the evolution of the curve." @@ -599,7 +599,7 @@ }, { "cell_type": "markdown", - "id": "1c4e300f", + "id": "6e0dc360", "metadata": {}, "source": [ "## Fitting Data\n", @@ -610,7 +610,7 @@ { "cell_type": "code", "execution_count": 15, - "id": "baf3426b", + "id": "422c7d67", "metadata": {}, "outputs": [ { @@ -635,7 +635,7 @@ }, { "cell_type": "markdown", - "id": "d3df3c41", + "id": "cc6048ed", "metadata": {}, "source": [ "We can also access the valid entries by using the logical negation for this mask:" @@ -644,7 +644,7 @@ { "cell_type": "code", "execution_count": 16, - "id": "d064add3", + "id": "43fc5bd7", "metadata": {}, "outputs": [ { @@ -667,7 +667,7 @@ }, { "cell_type": "markdown", - "id": "c4b99a5e", + "id": "f04695c6", "metadata": {}, "source": [ "Now, if we want to create a very simple approximation for this data, we should take into account the valid entries around the invalid ones. So first let's select the dates for which the data is valid. Note that we can use the mask from the `china_total` masked array to index the dates array:" @@ -676,7 +676,7 @@ { "cell_type": "code", "execution_count": 17, - "id": "0061003d", + "id": "5738722d", "metadata": {}, "outputs": [ { @@ -697,7 +697,7 @@ }, { "cell_type": "markdown", - "id": "243fcc8e", + "id": "ec5da718", "metadata": {}, "source": [ "Finally, we can use the\n", @@ -708,13 +708,13 @@ { "cell_type": "code", "execution_count": 18, - "id": "3d507ddf", + "id": "7c5f197a", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "[]" + "[]" ] }, "execution_count": 18, @@ -741,7 +741,7 @@ }, { "cell_type": "markdown", - "id": "46e73965", + "id": "11311df2", "metadata": {}, "source": [ "This plot is not so readable since the lines seem to be over each other, so let's summarize in a more elaborate plot. We'll plot the real data when\n", @@ -751,7 +751,7 @@ { "cell_type": "code", "execution_count": 19, - "id": "49c7261a", + "id": "fbcb0be7", "metadata": {}, "outputs": [ { @@ -790,7 +790,7 @@ }, { "cell_type": "markdown", - "id": "5e530dd4", + "id": "039ce7be", "metadata": {}, "source": [ "## In practice" @@ -798,7 +798,7 @@ }, { "cell_type": "markdown", - "id": "41ff239c", + "id": "74141ac4", "metadata": {}, "source": [ "- Adding `-1` to missing data is not a problem with `numpy.genfromtxt`; in this particular case, substituting the missing value with `0` might have been fine, but we'll see later that this is far from a general solution. Also, it is possible to call the `numpy.genfromtxt` function using the `usemask` parameter. If `usemask=True`, `numpy.genfromtxt` automatically returns a masked array." @@ -806,7 +806,7 @@ }, { "cell_type": "markdown", - "id": "bd0cee8b", + "id": "89b79e41", "metadata": {}, "source": [ "## Further reading\n", diff --git a/_sources/content/tutorial-plotting-fractals.ipynb b/_sources/content/tutorial-plotting-fractals.ipynb index aa29d87c..75a60519 100644 --- a/_sources/content/tutorial-plotting-fractals.ipynb +++ b/_sources/content/tutorial-plotting-fractals.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "58a512fe", + "id": "7419ab7a", "metadata": {}, "source": [ "# Plotting Fractals" @@ -10,7 +10,7 @@ }, { "cell_type": "markdown", - "id": "ab1c8e80", + "id": "cd85adb2", "metadata": {}, "source": [ "![Fractal picture](tutorial-plotting-fractals/fractal.png)" @@ -18,7 +18,7 @@ }, { "cell_type": "markdown", - "id": "3adb6db4", + "id": "5fdca807", "metadata": {}, "source": [ "Fractals are beautiful, compelling mathematical forms that can be oftentimes created from a relatively simple set of instructions. In nature they can be found in various places, such as coastlines, seashells, and ferns, and even were used in creating certain types of antennas. The mathematical idea of fractals was known for quite some time, but they really began to be truly appreciated in the 1970's as advancements in computer graphics and some accidental discoveries lead researchers like [Benoît Mandelbrot](https://en.wikipedia.org/wiki/Benoit_Mandelbrot) to stumble upon the truly mystifying visualizations that fractals possess.\n", @@ -28,7 +28,7 @@ }, { "cell_type": "markdown", - "id": "07561bf9", + "id": "f15a7746", "metadata": {}, "source": [ "## What you'll do\n", @@ -41,7 +41,7 @@ }, { "cell_type": "markdown", - "id": "3dcea84b", + "id": "93273881", "metadata": {}, "source": [ "## What you'll learn\n", @@ -54,7 +54,7 @@ }, { "cell_type": "markdown", - "id": "7bd6aa06", + "id": "e7cb6a61", "metadata": {}, "source": [ "## What you'll need\n", @@ -68,7 +68,7 @@ { "cell_type": "code", "execution_count": 1, - "id": "4ae2341a", + "id": "302a4586", "metadata": {}, "outputs": [], "source": [ @@ -79,7 +79,7 @@ }, { "cell_type": "markdown", - "id": "24f08c4e", + "id": "d3f92bce", "metadata": {}, "source": [ "- Some familiarity with Python, NumPy and matplotlib\n", @@ -90,7 +90,7 @@ }, { "cell_type": "markdown", - "id": "a2da45b1", + "id": "e29f3afc", "metadata": {}, "source": [ "## Warmup\n", @@ -109,7 +109,7 @@ { "cell_type": "code", "execution_count": 2, - "id": "2673530f", + "id": "c3581257", "metadata": {}, "outputs": [], "source": [ @@ -119,7 +119,7 @@ }, { "cell_type": "markdown", - "id": "4c40f12c", + "id": "29bf2da5", "metadata": {}, "source": [ "Note that the square function we used is an example of a **[NumPy universal function](https://numpy.org/doc/stable/reference/ufuncs.html)**; we will come back to the significance of this decision shortly.\n", @@ -132,7 +132,7 @@ { "cell_type": "code", "execution_count": 3, - "id": "aadba111", + "id": "514af6c0", "metadata": {}, "outputs": [ { @@ -152,7 +152,7 @@ }, { "cell_type": "markdown", - "id": "c042a873", + "id": "0a9f77b9", "metadata": {}, "source": [ "Since we used a universal function in our design, we can compute multiple inputs at the same time:" @@ -161,7 +161,7 @@ { "cell_type": "code", "execution_count": 4, - "id": "65677895", + "id": "881c7a24", "metadata": {}, "outputs": [ { @@ -182,7 +182,7 @@ }, { "cell_type": "markdown", - "id": "35a75ea4", + "id": "1f01c69b", "metadata": {}, "source": [ "Some values grow, some values shrink, some don't experience much change.\n", @@ -193,7 +193,7 @@ { "cell_type": "code", "execution_count": 5, - "id": "96565fb6", + "id": "f3e8b2c4", "metadata": {}, "outputs": [], "source": [ @@ -203,7 +203,7 @@ }, { "cell_type": "markdown", - "id": "ed337a21", + "id": "98254260", "metadata": {}, "source": [ "Now we will apply our function to each value contained in the mesh. Since we used a universal function in our design, this means that we can pass in the entire mesh all at once. This is extremely convenient for two reasons: It reduces the amount of code needed to be written and greatly increases the efficiency (as universal functions make use of system level C programming in their computations).\n", @@ -215,7 +215,7 @@ { "cell_type": "code", "execution_count": 6, - "id": "b16ea604", + "id": "0f7432b6", "metadata": {}, "outputs": [ { @@ -245,7 +245,7 @@ }, { "cell_type": "markdown", - "id": "c1691de5", + "id": "e0c6efd0", "metadata": {}, "source": [ "This gives us a rough idea of what one iteration of the function does. Certain areas (notably in the areas closest to $(0,0i)$) remain rather small while other areas grow quite considerably. Note that we lose information about the output by taking the absolute value, but it is the only way for us to be able to make a plot.\n", @@ -256,7 +256,7 @@ { "cell_type": "code", "execution_count": 7, - "id": "f2895bdc", + "id": "3a185671", "metadata": {}, "outputs": [ { @@ -285,7 +285,7 @@ }, { "cell_type": "markdown", - "id": "b9955891", + "id": "3db44344", "metadata": {}, "source": [ "Once again, we see that values around the origin remain small, and values with a larger absolute value (or modulus) “explode”.\n", @@ -295,7 +295,7 @@ }, { "cell_type": "markdown", - "id": "22a8e8c7", + "id": "62233117", "metadata": {}, "source": [ "Consider three complex numbers:\n", @@ -312,7 +312,7 @@ { "cell_type": "code", "execution_count": 8, - "id": "bdf3e634", + "id": "5aa5b83c", "metadata": {}, "outputs": [ { @@ -349,7 +349,7 @@ }, { "cell_type": "markdown", - "id": "f4f1cf8b", + "id": "bed55d63", "metadata": {}, "source": [ "To our surprise, the behaviour of the function did not come close to matching our hypothesis. This is a prime example of the chaotic behaviour fractals possess. In the first two plots, the value \"exploded\" on the last iteration, jumping way beyond the region that it was contained in previously. The third plot on the other hand remained bounded to a small region close to the origin, yielding completely different behaviour despite the tiny change in value.\n", @@ -366,7 +366,7 @@ { "cell_type": "code", "execution_count": 9, - "id": "f5836721", + "id": "d1b6256c", "metadata": {}, "outputs": [], "source": [ @@ -386,7 +386,7 @@ }, { "cell_type": "markdown", - "id": "46d531a3", + "id": "6a8f74c1", "metadata": {}, "source": [ "The behaviour of this function may look confusing at first glance, so it will help to explain some of the notation.\n", @@ -401,7 +401,7 @@ { "cell_type": "code", "execution_count": 10, - "id": "277cf7b8", + "id": "0f45b66b", "metadata": {}, "outputs": [ { @@ -436,7 +436,7 @@ }, { "cell_type": "markdown", - "id": "888a87ee", + "id": "fe8670a6", "metadata": {}, "source": [ "What this stunning visual conveys is the complexity of the function’s behaviour. The yellow region represents values that remain small, while the purple region represents the divergent values. The beautiful pattern that arises on the border of the converging and diverging values is even more fascinating when you realize that it is created from such a simple function." @@ -444,7 +444,7 @@ }, { "cell_type": "markdown", - "id": "9ddd954d", + "id": "291fc986", "metadata": {}, "source": [ "## Julia set\n", @@ -459,7 +459,7 @@ { "cell_type": "code", "execution_count": 11, - "id": "cf808a93", + "id": "19b9c1c2", "metadata": {}, "outputs": [], "source": [ @@ -478,7 +478,7 @@ }, { "cell_type": "markdown", - "id": "82a2edf2", + "id": "0c39b5f1", "metadata": {}, "source": [ "To make our lives easier, we will create a couple meshes that we will reuse throughout the rest of the examples:" @@ -487,7 +487,7 @@ { "cell_type": "code", "execution_count": 12, - "id": "47cc2c19", + "id": "4c304f99", "metadata": {}, "outputs": [], "source": [ @@ -500,7 +500,7 @@ }, { "cell_type": "markdown", - "id": "660263db", + "id": "feaed35f", "metadata": {}, "source": [ "We will also write a function that we will use to create our fractal plots:" @@ -509,7 +509,7 @@ { "cell_type": "code", "execution_count": 13, - "id": "7ba3ac4c", + "id": "c03c6e15", "metadata": {}, "outputs": [], "source": [ @@ -530,7 +530,7 @@ }, { "cell_type": "markdown", - "id": "573fef7c", + "id": "f2c4b20f", "metadata": {}, "source": [ "Using our newly defined functions, we can make a quick plot of the first fractal again:" @@ -539,7 +539,7 @@ { "cell_type": "code", "execution_count": 14, - "id": "cd526fde", + "id": "0e2f1fb6", "metadata": {}, "outputs": [ { @@ -562,7 +562,7 @@ }, { "cell_type": "markdown", - "id": "151e96b5", + "id": "5cabe2ac", "metadata": {}, "source": [ "We also can explore some different Julia sets by experimenting with different values of $c$. It can be surprising how much influence it has on the shape of the fractal.\n", @@ -573,7 +573,7 @@ { "cell_type": "code", "execution_count": 15, - "id": "320a702c", + "id": "73862608", "metadata": {}, "outputs": [ { @@ -589,7 +589,7 @@ ], "source": [ "output = julia(mesh, c=np.pi/10, num_iter=20)\n", - "kwargs = {'title': 'f(z) = z^2 + \\dfrac{\\pi}{10}', 'cmap': 'plasma'}\n", + "kwargs = {'title': r'f(z) = z^2 + \\dfrac{\\pi}{10}', 'cmap': 'plasma'}\n", "\n", "plot_fractal(output, **kwargs);" ] @@ -597,7 +597,7 @@ { "cell_type": "code", "execution_count": 16, - "id": "710758c3", + "id": "dd50d02f", "metadata": {}, "outputs": [ { @@ -613,14 +613,14 @@ ], "source": [ "output = julia(mesh, c=-0.75 + 0.4j, num_iter=20)\n", - "kwargs = {'title': 'f(z) = z^2 - \\dfrac{3}{4} + 0.4i', 'cmap': 'Greens_r'}\n", + "kwargs = {'title': r'f(z) = z^2 - \\dfrac{3}{4} + 0.4i', 'cmap': 'Greens_r'}\n", "\n", "plot_fractal(output, **kwargs);" ] }, { "cell_type": "markdown", - "id": "efaad168", + "id": "3ab24745", "metadata": {}, "source": [ "## Mandelbrot set\n", @@ -631,7 +631,7 @@ { "cell_type": "code", "execution_count": 17, - "id": "f074d742", + "id": "fbbce0b1", "metadata": {}, "outputs": [], "source": [ @@ -652,7 +652,7 @@ { "cell_type": "code", "execution_count": 18, - "id": "79cb74d5", + "id": "2ef6604d", "metadata": {}, "outputs": [ { @@ -668,14 +668,14 @@ ], "source": [ "output = mandelbrot(mesh, num_iter=50)\n", - "kwargs = {'title': 'Mandelbrot \\ set', 'cmap': 'hot'}\n", + "kwargs = {'title': 'Mandelbrot \\\\ set', 'cmap': 'hot'}\n", "\n", "plot_fractal(output, **kwargs);" ] }, { "cell_type": "markdown", - "id": "f1b3f9ff", + "id": "9ee2b2bb", "metadata": {}, "source": [ "## Generalizing the Julia set\n", @@ -686,7 +686,7 @@ { "cell_type": "code", "execution_count": 19, - "id": "19167255", + "id": "7507947f", "metadata": {}, "outputs": [], "source": [ @@ -705,7 +705,7 @@ }, { "cell_type": "markdown", - "id": "55a62889", + "id": "9dfd01b1", "metadata": {}, "source": [ "One cool set of fractals that can be plotted using our general Julia function are ones of the form $f(z) = z^n + c$ for some positive integer $n$. A very cool pattern which emerges is that the number of regions that 'stick out' matches the degree in which we raise the function to while iterating over it." @@ -714,12 +714,12 @@ { "cell_type": "code", "execution_count": 20, - "id": "76f593c2", + "id": "a4eb0297", "metadata": {}, "outputs": [ { "data": { - "image/png": "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ao9qSxBErxnUMcEwDHzwgx/E5z73OWzbtg2apuHgwYMIhUJrXTWCWPcM6rggctttt+Gqq67Czp0717oqhAukWKxT/vEf/xF//dd/jZe+9KX44he/iI9//OP46Ec/ine/+93w+dq7ba973etQq9Xw2c9+tke1bZ8/+7M/w/j4OJ73vOfhoYce6um1CoUC3v/+9+N//a//hZGREWiahn/913/t6TUJotsM6phw+vRplEolfP3rX8fk5CTOO+88fO5zn+vpNWlMIAaFQR0XRL785S/jD/7gD3p6DRoXuoRFrEsuvfRS6/rrr+e/P/7xj1vJZNIql8srKu9d73qXtX37dss0zW5VccX87Gc/s/L5vFUqlayPfvSj1ubNm61cLtez6504ccICYG3bts169rOfbQGwbrnllp5djyB6waCOCXfffbcFwHrDG95glUol6/Dhw9bY2Jh155139uyaNCYQg8Kgjgt2Dh8+bIXDYSudTvf0OjQudAfyWKxDKpUKDh8+jGc961l82y233IIXvehFCIfDKyrz5S9/OZ544gnccccd3armirn88ssRj8cRiUTwrne9C4lEAvfee2/Prrdp0ybMzMzgiSeewMc+9rGeXYcgesUgjwmRSAQA8Nd//deIRCI4ePAgXvnKV+K73/1uz65JYwIxCAzyuGDny1/+Mn7rt34LqVSqp9ehcaE7kGKxznjjG9+ISCQCwzDwvve9D5qmYdOmTXjooYdw3XXXtRx/9OhRaJom/Wd/CS+77DKMjIzgG9/4Rs/q7rUuIj6fD5Zl9axeoVAIU1NTPSufIHrJoI8J+/btQzAYhKZp/Dz7372AxgSi3xn0cYFhmiZuu+02vOY1r+lZfRg0LnQHygq1znjVq16FQCCAz372s/jkJz+JkZERPP744/ibv/kbXHrppS3HJ5NJfPnLX27aduTIEXzwgx/E9ddf37T90ksvxd133y29br1eRzab9VTHkZERaeyml7pkMhn8/Oc/x7Oe9Sxomoabb74ZS0tLuOKKKzxdmyA2GoM+JsRiMbzsZS/DBz/4QXzqU5/C8ePH8bWvfQ1f//rXPV2bIDYigz4uMH7wgx+gXq9TWvp+Yq1jsYhW3vve91qxWMwyDMOyLMt63/veZwGw8vm867mPP/64tXnzZuuaa66xisVi0743v/nNViQSkZ53xx13WAA8/Ttx4oSn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", + "image/png": "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", "text/plain": [ "
    " ] @@ -738,14 +738,12 @@ "\n", " diverge_len = general_julia(mesh, f=power, num_iter=15)\n", " ax.imshow(diverge_len, extent=[-2, 2, -2, 2], cmap='binary')\n", - " ax.set_title(f'$f(z) = z^{degree} -1$')\n", - "\n", - "fig.tight_layout();" + " ax.set_title(f'$f(z) = z^{degree} -1$')" ] }, { "cell_type": "markdown", - "id": "4db0802b", + "id": "e6754310", "metadata": {}, "source": [ "Needless to say, there is a large amount of exploring that can be done by fiddling with the inputted function, value of $c$, number of iterations, radius and even the density of the mesh and choice of colours." @@ -753,7 +751,7 @@ }, { "cell_type": "markdown", - "id": "4ac42c2c", + "id": "6262abf1", "metadata": {}, "source": [ "### Newton Fractals\n", @@ -768,7 +766,7 @@ { "cell_type": "code", "execution_count": 21, - "id": "08c80a23", + "id": "93815742", "metadata": {}, "outputs": [], "source": [ @@ -789,7 +787,7 @@ }, { "cell_type": "markdown", - "id": "27bfea88", + "id": "5279fd5f", "metadata": {}, "source": [ "Now we can experiment with some different functions. For polynomials, we can create our plots quite effortlessly using the [NumPy Polynomial class](https://numpy.org/doc/stable/reference/generated/numpy.polynomial.polynomial.Polynomial.html), which has built in functionality for computing derivatives.\n", @@ -800,7 +798,7 @@ { "cell_type": "code", "execution_count": 22, - "id": "a22c5d5e", + "id": "850ef943", "metadata": {}, "outputs": [ { @@ -824,7 +822,7 @@ }, { "cell_type": "markdown", - "id": "4676449e", + "id": "eb7cab84", "metadata": {}, "source": [ "which has the derivative:" @@ -833,7 +831,7 @@ { "cell_type": "code", "execution_count": 23, - "id": "262b3244", + "id": "ba0d134a", "metadata": {}, "outputs": [ { @@ -857,7 +855,7 @@ { "cell_type": "code", "execution_count": 24, - "id": "60ac4854", + "id": "a3cd7a0a", "metadata": {}, "outputs": [ { @@ -873,14 +871,14 @@ ], "source": [ "output = newton_fractal(mesh, p, p.deriv(), num_iter=15, r=2)\n", - "kwargs = {'title': 'f(z) = z - \\dfrac{(z^8 + 15z^4 - 16)}{(8z^7 + 60z^3)}', 'cmap': 'copper'}\n", + "kwargs = {'title': r'f(z) = z - \\dfrac{(z^8 + 15z^4 - 16)}{(8z^7 + 60z^3)}', 'cmap': 'copper'}\n", "\n", "plot_fractal(output, **kwargs)" ] }, { "cell_type": "markdown", - "id": "1f743d0d", + "id": "07909bfa", "metadata": {}, "source": [ "Beautiful! Let's try another one:\n", @@ -895,7 +893,7 @@ { "cell_type": "code", "execution_count": 25, - "id": "dedcdcbf", + "id": "c34da177", "metadata": {}, "outputs": [], "source": [ @@ -910,7 +908,7 @@ { "cell_type": "code", "execution_count": 26, - "id": "7b76333b", + "id": "e7d9a4db", "metadata": {}, "outputs": [ { @@ -926,14 +924,14 @@ ], "source": [ "output = newton_fractal(mesh, f_tan, d_tan, num_iter=15, r=50)\n", - "kwargs = {'title': 'f(z) = z - \\dfrac{sin(z)cos(z)}{2}', 'cmap': 'binary'}\n", + "kwargs = {'title': r'f(z) = z - \\dfrac{sin(z)cos(z)}{2}', 'cmap': 'binary'}\n", "\n", "plot_fractal(output, **kwargs);" ] }, { "cell_type": "markdown", - "id": "e2641873", + "id": "6d1fe0a0", "metadata": {}, "source": [ "Note that you sometimes have to play with the radius in order to get a neat looking fractal.\n", @@ -948,7 +946,7 @@ { "cell_type": "code", "execution_count": 27, - "id": "3e0357a9", + "id": "93665862", "metadata": {}, "outputs": [], "source": [ @@ -968,7 +966,7 @@ }, { "cell_type": "markdown", - "id": "2e929914", + "id": "6d508d2d", "metadata": {}, "source": [ "We will denote this one 'Wacky fractal', as its equation would not be fun to try and put in the title." @@ -977,7 +975,7 @@ { "cell_type": "code", "execution_count": 28, - "id": "03bcbe02", + "id": "04c811da", "metadata": {}, "outputs": [ { @@ -993,14 +991,14 @@ ], "source": [ "output = newton_fractal(small_mesh, sin_sum, d_sin_sum, num_iter=10, r=1)\n", - "kwargs = {'title': 'Wacky \\ fractal', 'figsize': (6, 6), 'extent': [-1, 1, -1, 1], 'cmap': 'terrain'}\n", + "kwargs = {'title': 'Wacky \\\\ fractal', 'figsize': (6, 6), 'extent': [-1, 1, -1, 1], 'cmap': 'terrain'}\n", "\n", "plot_fractal(output, **kwargs)" ] }, { "cell_type": "markdown", - "id": "10f76c3d", + "id": "5ba0e13f", "metadata": {}, "source": [ "It is truly fascinating how distinct yet similar these fractals are with each other. This leads us to the final section." @@ -1008,7 +1006,7 @@ }, { "cell_type": "markdown", - "id": "093cc4ae", + "id": "8d43e9c0", "metadata": {}, "source": [ "## Creating your own fractals\n", @@ -1026,7 +1024,7 @@ { "cell_type": "code", "execution_count": 29, - "id": "bfc47181", + "id": "aa387efc", "metadata": {}, "outputs": [], "source": [ @@ -1037,7 +1035,7 @@ { "cell_type": "code", "execution_count": 30, - "id": "60b842c7", + "id": "f78d895a", "metadata": {}, "outputs": [ { @@ -1060,7 +1058,7 @@ }, { "cell_type": "markdown", - "id": "1b0e2f16", + "id": "d1e5e716", "metadata": {}, "source": [ "What happens if we compose our defined function inside of a sine function?\n", @@ -1073,7 +1071,7 @@ { "cell_type": "code", "execution_count": 31, - "id": "c6c21896", + "id": "f914520a", "metadata": {}, "outputs": [], "source": [ @@ -1084,7 +1082,7 @@ { "cell_type": "code", "execution_count": 32, - "id": "4ae88d59", + "id": "79addff7", "metadata": {}, "outputs": [ { @@ -1107,7 +1105,7 @@ }, { "cell_type": "markdown", - "id": "c2c8cfd8", + "id": "cb5c9e9e", "metadata": {}, "source": [ "Next, let's create a function that applies both f and g to the inputs each iteration and adds the result together:\n", @@ -1118,7 +1116,7 @@ { "cell_type": "code", "execution_count": 33, - "id": "9fb08a69", + "id": "c3e336ab", "metadata": {}, "outputs": [], "source": [ @@ -1129,7 +1127,7 @@ { "cell_type": "code", "execution_count": 34, - "id": "4bdebdef", + "id": "27bccc34", "metadata": {}, "outputs": [ { @@ -1152,7 +1150,7 @@ }, { "cell_type": "markdown", - "id": "e5898a19", + "id": "f7afc0ce", "metadata": {}, "source": [ "You can even create beautiful fractals through your own errors. Here is one that got created accidently by making a mistake in computing the derivative of a Newton fractal:" @@ -1161,7 +1159,7 @@ { "cell_type": "code", "execution_count": 35, - "id": "94f71913", + "id": "96f8af4d", "metadata": {}, "outputs": [], "source": [ @@ -1172,7 +1170,7 @@ { "cell_type": "code", "execution_count": 36, - "id": "b3c811ab", + "id": "6b472907", "metadata": {}, "outputs": [ { @@ -1188,14 +1186,14 @@ ], "source": [ "output = general_julia(mesh, f=accident, num_iter=15, c=0, radius=np.pi)\n", - "kwargs = {'title': 'Accidental \\ fractal', 'cmap': 'Blues'}\n", + "kwargs = {'title': 'Accidental \\\\ fractal', 'cmap': 'Blues'}\n", "\n", "plot_fractal(output, **kwargs);" ] }, { "cell_type": "markdown", - "id": "5938ef4d", + "id": "78ab6953", "metadata": {}, "source": [ "Needless to say, there are a nearly endless supply of interesting fractal creations that can be made just by playing around with various combinations of NumPy universal functions and by tinkering with the parameters." @@ -1203,7 +1201,7 @@ }, { "cell_type": "markdown", - "id": "c03c3655", + "id": "e64692f3", "metadata": {}, "source": [ "## In conclusion\n", @@ -1221,7 +1219,7 @@ }, { "cell_type": "markdown", - "id": "38087b0a", + "id": "8f78ff69", "metadata": {}, "source": [ "## On your own\n", @@ -1233,7 +1231,7 @@ }, { "cell_type": "markdown", - "id": "bc504f0a", + "id": "14675352", "metadata": {}, "source": [ "## Further reading\n", @@ -1320,38 +1318,38 @@ 346, 358, 362, - 375, - 379, - 389, - 403, - 409, - 412, - 416, - 420, - 425, - 435, - 444, - 449, - 459, - 472, - 476, - 481, - 485, - 498, - 503, - 508, - 516, - 521, - 526, - 532, - 537, - 542, - 546, - 551, - 556, - 560, - 574, - 582 + 373, + 377, + 387, + 401, + 407, + 410, + 414, + 418, + 423, + 433, + 442, + 447, + 457, + 470, + 474, + 479, + 483, + 496, + 501, + 506, + 514, + 519, + 524, + 530, + 535, + 540, + 544, + 549, + 554, + 558, + 572, + 580 ] }, "nbformat": 4, diff --git a/_sources/content/tutorial-plotting-fractals.md b/_sources/content/tutorial-plotting-fractals.md index e97b0cbe..a1921cea 100644 --- a/_sources/content/tutorial-plotting-fractals.md +++ b/_sources/content/tutorial-plotting-fractals.md @@ -301,14 +301,14 @@ For example, setting $c = \frac{\pi}{10}$ gives us a very elegant cloud shape, w ```{code-cell} ipython3 output = julia(mesh, c=np.pi/10, num_iter=20) -kwargs = {'title': 'f(z) = z^2 + \dfrac{\pi}{10}', 'cmap': 'plasma'} +kwargs = {'title': r'f(z) = z^2 + \dfrac{\pi}{10}', 'cmap': 'plasma'} plot_fractal(output, **kwargs); ``` ```{code-cell} ipython3 output = julia(mesh, c=-0.75 + 0.4j, num_iter=20) -kwargs = {'title': 'f(z) = z^2 - \dfrac{3}{4} + 0.4i', 'cmap': 'Greens_r'} +kwargs = {'title': r'f(z) = z^2 - \dfrac{3}{4} + 0.4i', 'cmap': 'Greens_r'} plot_fractal(output, **kwargs); ``` @@ -334,7 +334,7 @@ def mandelbrot(mesh, num_iter=10, radius=2): ```{code-cell} ipython3 output = mandelbrot(mesh, num_iter=50) -kwargs = {'title': 'Mandelbrot \ set', 'cmap': 'hot'} +kwargs = {'title': 'Mandelbrot \\ set', 'cmap': 'hot'} plot_fractal(output, **kwargs); ``` @@ -370,8 +370,6 @@ for deg, ax in enumerate(axes.ravel()): diverge_len = general_julia(mesh, f=power, num_iter=15) ax.imshow(diverge_len, extent=[-2, 2, -2, 2], cmap='binary') ax.set_title(f'$f(z) = z^{degree} -1$') - -fig.tight_layout(); ``` Needless to say, there is a large amount of exploring that can be done by fiddling with the inputted function, value of $c$, number of iterations, radius and even the density of the mesh and choice of colours. @@ -419,7 +417,7 @@ p.deriv() ```{code-cell} ipython3 output = newton_fractal(mesh, p, p.deriv(), num_iter=15, r=2) -kwargs = {'title': 'f(z) = z - \dfrac{(z^8 + 15z^4 - 16)}{(8z^7 + 60z^3)}', 'cmap': 'copper'} +kwargs = {'title': r'f(z) = z - \dfrac{(z^8 + 15z^4 - 16)}{(8z^7 + 60z^3)}', 'cmap': 'copper'} plot_fractal(output, **kwargs) ``` @@ -443,7 +441,7 @@ def d_tan(z): ```{code-cell} ipython3 output = newton_fractal(mesh, f_tan, d_tan, num_iter=15, r=50) -kwargs = {'title': 'f(z) = z - \dfrac{sin(z)cos(z)}{2}', 'cmap': 'binary'} +kwargs = {'title': r'f(z) = z - \dfrac{sin(z)cos(z)}{2}', 'cmap': 'binary'} plot_fractal(output, **kwargs); ``` @@ -475,7 +473,7 @@ We will denote this one 'Wacky fractal', as its equation would not be fun to try ```{code-cell} ipython3 output = newton_fractal(small_mesh, sin_sum, d_sin_sum, num_iter=10, r=1) -kwargs = {'title': 'Wacky \ fractal', 'figsize': (6, 6), 'extent': [-1, 1, -1, 1], 'cmap': 'terrain'} +kwargs = {'title': 'Wacky \\ fractal', 'figsize': (6, 6), 'extent': [-1, 1, -1, 1], 'cmap': 'terrain'} plot_fractal(output, **kwargs) ``` @@ -550,7 +548,7 @@ def accident(z): ```{code-cell} ipython3 output = general_julia(mesh, f=accident, num_iter=15, c=0, radius=np.pi) -kwargs = {'title': 'Accidental \ fractal', 'cmap': 'Blues'} +kwargs = {'title': 'Accidental \\ fractal', 'cmap': 'Blues'} plot_fractal(output, **kwargs); ``` diff --git a/_sources/content/tutorial-static_equilibrium.ipynb b/_sources/content/tutorial-static_equilibrium.ipynb index 60c29979..44bc1e55 100644 --- a/_sources/content/tutorial-static_equilibrium.ipynb +++ b/_sources/content/tutorial-static_equilibrium.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "c3284a95", + "id": "16f46201", "metadata": {}, "source": [ "# Determining Static Equilibrium in NumPy\n", @@ -30,7 +30,7 @@ { "cell_type": "code", "execution_count": 1, - "id": "aa8ecc3d", + "id": "cd574569", "metadata": {}, "outputs": [], "source": [ @@ -40,7 +40,7 @@ }, { "cell_type": "markdown", - "id": "4f6c7d41", + "id": "bea5fbbb", "metadata": {}, "source": [ "In this tutorial you will use the following NumPy tools:\n", @@ -51,7 +51,7 @@ }, { "cell_type": "markdown", - "id": "9890e591", + "id": "34649a4a", "metadata": {}, "source": [ "## Solving equilibrium with Newton's second law\n", @@ -80,7 +80,7 @@ { "cell_type": "code", "execution_count": 2, - "id": "3d7087ca", + "id": "843160ed", "metadata": {}, "outputs": [ { @@ -101,7 +101,7 @@ }, { "cell_type": "markdown", - "id": "00d33a44", + "id": "173babc4", "metadata": {}, "source": [ "This defines `forceA` as being a vector with magnitude of 1 in the $x$ direction and `forceB` as magnitude 1 in the $y$ direction.\n", @@ -114,7 +114,7 @@ { "cell_type": "code", "execution_count": 3, - "id": "de5bcb84", + "id": "602433e3", "metadata": {}, "outputs": [ { @@ -151,7 +151,7 @@ }, { "cell_type": "markdown", - "id": "4e64a33b", + "id": "69854315", "metadata": {}, "source": [ "There are two forces emanating from a single point. In order to simplify this problem, you can add them together to find the sum of forces. Note that both `forceA` and `forceB` are three-dimensional vectors, represented by NumPy as arrays with three components. Because NumPy is meant to simplify and optimize operations between vectors, you can easily compute the sum of these two vectors as follows:" @@ -160,7 +160,7 @@ { "cell_type": "code", "execution_count": 4, - "id": "2228075e", + "id": "353c65e5", "metadata": {}, "outputs": [ { @@ -178,7 +178,7 @@ }, { "cell_type": "markdown", - "id": "feb18e80", + "id": "6b300b7d", "metadata": {}, "source": [ "Force C now acts as a single force that represents both A and B.\n", @@ -188,7 +188,7 @@ { "cell_type": "code", "execution_count": 5, - "id": "75b9bcd2", + "id": "d000064a", "metadata": {}, "outputs": [ { @@ -226,7 +226,7 @@ }, { "cell_type": "markdown", - "id": "fa514989", + "id": "dc4ba786", "metadata": {}, "source": [ "However, the goal is equilibrium.\n", @@ -257,7 +257,7 @@ { "cell_type": "code", "execution_count": 6, - "id": "caab81a2", + "id": "ae4b672d", "metadata": {}, "outputs": [ { @@ -292,7 +292,7 @@ }, { "cell_type": "markdown", - "id": "bd381ca3", + "id": "a1ea5be4", "metadata": {}, "source": [ "The empty graph signifies that there are no outlying forces. This denotes a system in equilibrium.\n", @@ -316,7 +316,7 @@ { "cell_type": "code", "execution_count": 7, - "id": "fa6888de", + "id": "4f246afd", "metadata": {}, "outputs": [ { @@ -340,7 +340,7 @@ }, { "cell_type": "markdown", - "id": "b9a1b679", + "id": "d423ff7a", "metadata": {}, "source": [ "## Finding values with physical properties\n", @@ -361,7 +361,7 @@ { "cell_type": "code", "execution_count": 8, - "id": "755cdd60", + "id": "7eb7ab14", "metadata": {}, "outputs": [ { @@ -386,7 +386,7 @@ }, { "cell_type": "markdown", - "id": "db760dc8", + "id": "80b0e468", "metadata": {}, "source": [ "In order to use these vectors in relation to forces you need to convert them into unit vectors.\n", @@ -396,7 +396,7 @@ { "cell_type": "code", "execution_count": 9, - "id": "90808875", + "id": "9a71e416", "metadata": {}, "outputs": [ { @@ -414,7 +414,7 @@ }, { "cell_type": "markdown", - "id": "055e34ab", + "id": "9a7c44d5", "metadata": {}, "source": [ "You can then multiply this direction with the magnitude of the force in order to find the force vector.\n", @@ -425,7 +425,7 @@ { "cell_type": "code", "execution_count": 10, - "id": "ad220ecb", + "id": "8334b90c", "metadata": {}, "outputs": [ { @@ -444,7 +444,7 @@ }, { "cell_type": "markdown", - "id": "e8b8d7ab", + "id": "bc6d9d39", "metadata": {}, "source": [ "In order to find the moment you need the cross product of the force vector and the radius." @@ -453,7 +453,7 @@ { "cell_type": "code", "execution_count": 11, - "id": "064128f7", + "id": "31cf5d6d", "metadata": {}, "outputs": [ { @@ -471,7 +471,7 @@ }, { "cell_type": "markdown", - "id": "3484eeca", + "id": "cdc1b05b", "metadata": {}, "source": [ "Now all you need to do is find the reaction force and moment." @@ -480,7 +480,7 @@ { "cell_type": "code", "execution_count": 12, - "id": "05026e87", + "id": "61d6b740", "metadata": {}, "outputs": [ { @@ -502,7 +502,7 @@ }, { "cell_type": "markdown", - "id": "bbe3bba2", + "id": "61e7a15e", "metadata": {}, "source": [ "### Another Example\n", @@ -520,7 +520,7 @@ { "cell_type": "code", "execution_count": 13, - "id": "93d38a95", + "id": "84eefc41", "metadata": {}, "outputs": [], "source": [ @@ -534,7 +534,7 @@ }, { "cell_type": "markdown", - "id": "fa79d886", + "id": "ac5cbc77", "metadata": {}, "source": [ "From these equations, you start by determining vector directions with unit vectors." @@ -543,7 +543,7 @@ { "cell_type": "code", "execution_count": 14, - "id": "35538974", + "id": "68130f5a", "metadata": {}, "outputs": [], "source": [ @@ -564,7 +564,7 @@ }, { "cell_type": "markdown", - "id": "65701755", + "id": "d8412724", "metadata": {}, "source": [ "This lets you represent the tension (T) and reaction (R) forces acting on the system as\n", @@ -645,7 +645,7 @@ }, { "cell_type": "markdown", - "id": "b1ea7088", + "id": "151721bb", "metadata": {}, "source": [ "## Wrapping up\n", diff --git a/_sources/content/tutorial-style-guide.ipynb b/_sources/content/tutorial-style-guide.ipynb index 0e767e0a..85431922 100644 --- a/_sources/content/tutorial-style-guide.ipynb +++ b/_sources/content/tutorial-style-guide.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "f50d44f5", + "id": "df8640b3", "metadata": {}, "source": [ "# Learn to write a NumPy tutorial\n", @@ -13,7 +13,7 @@ }, { "cell_type": "markdown", - "id": "371a8a5c", + "id": "d294370d", "metadata": {}, "source": [ "## What you'll do\n", @@ -125,7 +125,7 @@ { "cell_type": "code", "execution_count": 1, - "id": "bd3aecf8", + "id": "5a6dbed8", "metadata": {}, "outputs": [], "source": [ @@ -134,7 +134,7 @@ }, { "cell_type": "markdown", - "id": "6835641a", + "id": "de38241a", "metadata": {}, "source": [ "
    \n", @@ -151,7 +151,7 @@ }, { "cell_type": "markdown", - "id": "daeb422f", + "id": "1757d12f", "metadata": {}, "source": [ "***\n", diff --git a/_sources/content/tutorial-svd.ipynb b/_sources/content/tutorial-svd.ipynb index 2c476950..7f0d0965 100644 --- a/_sources/content/tutorial-svd.ipynb +++ b/_sources/content/tutorial-svd.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "35d390f0", + "id": "55778a07", "metadata": {}, "source": [ "# Linear algebra on n-dimensional arrays" @@ -10,7 +10,7 @@ }, { "cell_type": "markdown", - "id": "06696caa", + "id": "f7211a9d", "metadata": {}, "source": [ "## Prerequisites\n", @@ -33,33 +33,36 @@ "\n", "## Content\n", "\n", - "In this tutorial, we will use a [matrix decomposition](https://en.wikipedia.org/wiki/Matrix_decomposition) from linear algebra, the Singular Value Decomposition, to generate a compressed approximation of an image. We'll use the `face` image from the [scipy.misc](https://docs.scipy.org/doc/scipy/reference/misc.html#module-scipy.misc) module:" + "In this tutorial, we will use a [matrix decomposition](https://en.wikipedia.org/wiki/Matrix_decomposition) from linear algebra, the Singular Value Decomposition, to generate a compressed approximation of an image. We'll use the `face` image from the [scipy.datasets](https://docs.scipy.org/doc/scipy/reference/datasets.html) module:" ] }, { "cell_type": "code", "execution_count": 1, - "id": "f8fd3c35", + "id": "e3a6f3ea", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "/tmp/ipykernel_432/2202046956.py:3: DeprecationWarning: scipy.misc.face has been deprecated in SciPy v1.10.0; and will be completely removed in SciPy v1.12.0. Dataset methods have moved into the scipy.datasets module. Use scipy.datasets.face instead.\n", - " img = misc.face()\n" + "Downloading file 'face.dat' from 'https://raw.githubusercontent.com/scipy/dataset-face/main/face.dat' to '/home/circleci/.cache/scipy-data'.\n" ] } ], "source": [ - "from scipy import misc\n", + "# TODO: Rm try-except with scipy 1.10 is the minimum supported version\n", + "try:\n", + " from scipy.datasets import face\n", + "except ImportError: # Data was in scipy.misc prior to scipy v1.10\n", + " from scipy.misc import face\n", "\n", - "img = misc.face()" + "img = face()" ] }, { "cell_type": "markdown", - "id": "1a2f2204", + "id": "b5871108", "metadata": {}, "source": [ "**Note**: If you prefer, you can use your own image as you work through this tutorial. In order to transform your image into a NumPy array that can be manipulated, you can use the `imread` function from the [matplotlib.pyplot](https://matplotlib.org/api/_as_gen/matplotlib.pyplot.html#module-matplotlib.pyplot) submodule. Alternatively, you can use the [imageio.imread](https://imageio.readthedocs.io/en/stable/userapi.html#imageio.imread) function from the `imageio` library. Be aware that if you use your own image, you'll likely need to adapt the steps below. For more information on how images are treated when converted to NumPy arrays, see [A crash course on NumPy for images](https://scikit-image.org/docs/stable/user_guide/numpy_images.html) from the `scikit-image` documentation." @@ -67,7 +70,7 @@ }, { "cell_type": "markdown", - "id": "fb20ca80", + "id": "5726d0f6", "metadata": {}, "source": [ "Now, `img` is a NumPy array, as we can see when using the `type` function:" @@ -76,7 +79,7 @@ { "cell_type": "code", "execution_count": 2, - "id": "4375c87a", + "id": "b6872e46", "metadata": {}, "outputs": [ { @@ -96,7 +99,7 @@ }, { "cell_type": "markdown", - "id": "bf6e29a4", + "id": "fab5e820", "metadata": {}, "source": [ "We can see the image using the [matplotlib.pyplot.imshow](https://matplotlib.org/api/_as_gen/matplotlib.pyplot.imshow.html#matplotlib.pyplot.imshow) function & the special iPython command, `%matplotlib inline` to display plots inline:" @@ -105,7 +108,7 @@ { "cell_type": "code", "execution_count": 3, - "id": "6fb28abd", + "id": "ee5e88c2", "metadata": {}, "outputs": [], "source": [ @@ -117,7 +120,7 @@ { "cell_type": "code", "execution_count": 4, - "id": "5a84491d", + "id": "87f04764", "metadata": {}, "outputs": [ { @@ -138,7 +141,7 @@ }, { "cell_type": "markdown", - "id": "69f48069", + "id": "20f9e46b", "metadata": {}, "source": [ "### Shape, axis and array properties\n", @@ -151,7 +154,7 @@ { "cell_type": "code", "execution_count": 5, - "id": "97d849f5", + "id": "0858da56", "metadata": {}, "outputs": [ { @@ -171,7 +174,7 @@ }, { "cell_type": "markdown", - "id": "93734557", + "id": "96bc5fe0", "metadata": {}, "source": [ "The output is a [tuple](https://docs.python.org/dev/tutorial/datastructures.html#tut-tuples) with three elements, which means that this is a three-dimensional array. In fact, since this is a color image, and we have used the `imread` function to read it, the data is organized in three 2D arrays, representing color channels (in this case, red, green and blue - RGB). You can see this by looking at the shape above: it indicates that we have an array of 3 matrices, each having shape 768x1024.\n", @@ -182,7 +185,7 @@ { "cell_type": "code", "execution_count": 6, - "id": "e78095ad", + "id": "51468e67", "metadata": {}, "outputs": [ { @@ -202,7 +205,7 @@ }, { "cell_type": "markdown", - "id": "099af5c0", + "id": "4e3ac6ab", "metadata": {}, "source": [ "NumPy refers to each dimension as an *axis*. Because of how `imread` works, the *first index in the 3rd axis* is the red pixel data for our image. We can access this by using the syntax" @@ -211,7 +214,7 @@ { "cell_type": "code", "execution_count": 7, - "id": "b72a420e", + "id": "773f901f", "metadata": {}, "outputs": [ { @@ -237,11 +240,11 @@ }, { "cell_type": "markdown", - "id": "7c0a868b", + "id": "eca1435e", "metadata": {}, "source": [ "From the output above, we can see that every value in `img[:, :, 0]` is an integer value between 0 and 255, representing the level of red in each corresponding image pixel (keep in mind that this might be different if you\n", - "use your own image instead of [scipy.misc.face](https://docs.scipy.org/doc/scipy/reference/generated/scipy.misc.face.html#scipy.misc.face)).\n", + "use your own image instead of [scipy.datasets.face](https://docs.scipy.org/doc/scipy/reference/generated/scipy.datasets.face.html)).\n", "\n", "As expected, this is a 768x1024 matrix:" ] @@ -249,7 +252,7 @@ { "cell_type": "code", "execution_count": 8, - "id": "e649b174", + "id": "0b98d3ea", "metadata": {}, "outputs": [ { @@ -269,7 +272,7 @@ }, { "cell_type": "markdown", - "id": "dd6f3c13", + "id": "93fec39c", "metadata": {}, "source": [ "Since we are going to perform linear algebra operations on this data, it might be more interesting to have real numbers between 0 and 1 in each entry of the matrices to represent the RGB values. We can do that by setting" @@ -278,7 +281,7 @@ { "cell_type": "code", "execution_count": 9, - "id": "7f1bad5b", + "id": "501b2bfc", "metadata": {}, "outputs": [], "source": [ @@ -287,7 +290,7 @@ }, { "cell_type": "markdown", - "id": "de7b4371", + "id": "23c9e7c1", "metadata": {}, "source": [ "This operation, dividing an array by a scalar, works because of NumPy's [broadcasting rules](https://numpy.org/devdocs/user/theory.broadcasting.html#array-broadcasting-in-numpy). (Note that in real-world applications, it would be better to use, for example, the [img_as_float](https://scikit-image.org/docs/stable/api/skimage.html#skimage.img_as_float) utility function from `scikit-image`).\n", @@ -299,7 +302,7 @@ { "cell_type": "code", "execution_count": 10, - "id": "476e2330", + "id": "419eb750", "metadata": {}, "outputs": [ { @@ -319,7 +322,7 @@ }, { "cell_type": "markdown", - "id": "6d0d9436", + "id": "53cb7302", "metadata": {}, "source": [ "or checking the type of data in the array:" @@ -328,7 +331,7 @@ { "cell_type": "code", "execution_count": 11, - "id": "1f3a8163", + "id": "519e918c", "metadata": {}, "outputs": [ { @@ -348,7 +351,7 @@ }, { "cell_type": "markdown", - "id": "287e7710", + "id": "aced4478", "metadata": {}, "source": [ "Note that we can assign each color channel to a separate matrix using the slice syntax:" @@ -357,7 +360,7 @@ { "cell_type": "code", "execution_count": 12, - "id": "0e69fe01", + "id": "8067a09c", "metadata": {}, "outputs": [], "source": [ @@ -368,7 +371,7 @@ }, { "cell_type": "markdown", - "id": "b7e054f9", + "id": "88717018", "metadata": {}, "source": [ "### Operations on an axis\n", @@ -378,7 +381,7 @@ }, { "cell_type": "markdown", - "id": "f70a1cd0", + "id": "8800f5a0", "metadata": {}, "source": [ "**Note**: We will use NumPy's linear algebra module, [numpy.linalg](https://numpy.org/devdocs/reference/routines.linalg.html#module-numpy.linalg), to perform the operations in this tutorial. Most of the linear algebra functions in this module can also be found in [scipy.linalg](https://docs.scipy.org/doc/scipy/reference/linalg.html#module-scipy.linalg), and users are encouraged to use the [scipy](https://docs.scipy.org/doc/scipy/reference/index.html#module-scipy) module for real-world applications. However, some functions in the [scipy.linalg](https://docs.scipy.org/doc/scipy/reference/linalg.html#module-scipy.linalg) module, such as the SVD function, only support 2D arrays. For more information on this, check the [scipy.linalg page](https://docs.scipy.org/doc/scipy/tutorial/linalg.html)." @@ -386,7 +389,7 @@ }, { "cell_type": "markdown", - "id": "144512a9", + "id": "cdf1fba6", "metadata": {}, "source": [ "To proceed, import the linear algebra submodule from NumPy:" @@ -395,7 +398,7 @@ { "cell_type": "code", "execution_count": 13, - "id": "74cd9997", + "id": "290b2645", "metadata": {}, "outputs": [], "source": [ @@ -404,7 +407,7 @@ }, { "cell_type": "markdown", - "id": "3950439f", + "id": "5aac6345", "metadata": {}, "source": [ "In order to extract information from a given matrix, we can use the SVD to obtain 3 arrays which can be multiplied to obtain the original matrix. From the theory of linear algebra, given a matrix $A$, the following product can be computed:\n", @@ -424,7 +427,7 @@ { "cell_type": "code", "execution_count": 14, - "id": "7223a10b", + "id": "de65b74c", "metadata": {}, "outputs": [], "source": [ @@ -433,7 +436,7 @@ }, { "cell_type": "markdown", - "id": "a12d4756", + "id": "3f0ecee7", "metadata": {}, "source": [ "Now, `img_gray` has shape" @@ -442,7 +445,7 @@ { "cell_type": "code", "execution_count": 15, - "id": "e58c11ab", + "id": "279012fb", "metadata": {}, "outputs": [ { @@ -462,7 +465,7 @@ }, { "cell_type": "markdown", - "id": "0716b3ee", + "id": "38d9884e", "metadata": {}, "source": [ "To see if this makes sense in our image, we should use a colormap from `matplotlib` corresponding to the color we wish to see in out image (otherwise, `matplotlib` will default to a colormap that does not correspond to the real data).\n", @@ -473,7 +476,7 @@ { "cell_type": "code", "execution_count": 16, - "id": "108412a3", + "id": "eb667700", "metadata": {}, "outputs": [ { @@ -494,7 +497,7 @@ }, { "cell_type": "markdown", - "id": "ec688e39", + "id": "4876ed10", "metadata": {}, "source": [ "Now, applying the [linalg.svd](https://numpy.org/devdocs/reference/generated/numpy.linalg.svd.html#numpy.linalg.svd) function to this matrix, we obtain the following decomposition:" @@ -503,7 +506,7 @@ { "cell_type": "code", "execution_count": 17, - "id": "1ea89d14", + "id": "5ec843dd", "metadata": {}, "outputs": [], "source": [ @@ -512,7 +515,7 @@ }, { "cell_type": "markdown", - "id": "27f2ecb8", + "id": "111417fc", "metadata": {}, "source": [ "**Note** If you are using your own image, this command might take a while to run, depending on the size of your image and your hardware. Don't worry, this is normal! The SVD can be a pretty intensive computation." @@ -520,7 +523,7 @@ }, { "cell_type": "markdown", - "id": "b865a04d", + "id": "369398c5", "metadata": {}, "source": [ "Let's check that this is what we expected:" @@ -529,7 +532,7 @@ { "cell_type": "code", "execution_count": 18, - "id": "bf4393c3", + "id": "e60d7fae", "metadata": {}, "outputs": [ { @@ -549,7 +552,7 @@ }, { "cell_type": "markdown", - "id": "a80c3a75", + "id": "1b0dea96", "metadata": {}, "source": [ "Note that `s` has a particular shape: it has only one dimension. This means that some linear algebra functions that expect 2d arrays might not work. For example, from the theory, one might expect `s` and `Vt` to be\n", @@ -565,7 +568,7 @@ { "cell_type": "code", "execution_count": 19, - "id": "a7541fa0", + "id": "4622326b", "metadata": {}, "outputs": [], "source": [ @@ -577,7 +580,7 @@ }, { "cell_type": "markdown", - "id": "1a4b7d22", + "id": "9c2b58aa", "metadata": {}, "source": [ "Now, we want to check if the reconstructed `U @ Sigma @ Vt` is close to the original `img_gray` matrix." @@ -585,7 +588,7 @@ }, { "cell_type": "markdown", - "id": "117cb10b", + "id": "43fd2467", "metadata": {}, "source": [ "## Approximation\n", @@ -596,7 +599,7 @@ { "cell_type": "code", "execution_count": 20, - "id": "ce6bec4e", + "id": "9d6f1378", "metadata": {}, "outputs": [ { @@ -616,7 +619,7 @@ }, { "cell_type": "markdown", - "id": "67b18335", + "id": "56d014ef", "metadata": {}, "source": [ "(The actual result of this operation might be different depending on your architecture and linear algebra setup. Regardless, you should see a small number.)\n", @@ -627,7 +630,7 @@ { "cell_type": "code", "execution_count": 21, - "id": "fcfab9e4", + "id": "ec054073", "metadata": {}, "outputs": [ { @@ -647,7 +650,7 @@ }, { "cell_type": "markdown", - "id": "f5c1c587", + "id": "26847802", "metadata": {}, "source": [ "To see if an approximation is reasonable, we can check the values in `s`:" @@ -656,7 +659,7 @@ { "cell_type": "code", "execution_count": 22, - "id": "450cbc0f", + "id": "a83bdc0d", "metadata": {}, "outputs": [ { @@ -677,7 +680,7 @@ }, { "cell_type": "markdown", - "id": "f10ef8f5", + "id": "c796e73c", "metadata": {}, "source": [ "In the graph, we can see that although we have 768 singular values in `s`, most of those (after the 150th entry or so) are pretty small. So it might make sense to use only the information related to the first (say, 50) *singular values* to build a more economical approximation to our image.\n", @@ -690,7 +693,7 @@ { "cell_type": "code", "execution_count": 23, - "id": "dee35b20", + "id": "1afeeae9", "metadata": {}, "outputs": [], "source": [ @@ -699,7 +702,7 @@ }, { "cell_type": "markdown", - "id": "4807b672", + "id": "62c2d738", "metadata": {}, "source": [ "we can build the approximation by doing" @@ -708,7 +711,7 @@ { "cell_type": "code", "execution_count": 24, - "id": "3b2cce28", + "id": "c94f3bb9", "metadata": {}, "outputs": [], "source": [ @@ -717,7 +720,7 @@ }, { "cell_type": "markdown", - "id": "4476cf61", + "id": "ee1249e2", "metadata": {}, "source": [ "Note that we had to use only the first `k` rows of `Vt`, since all other rows would be multiplied by the zeros corresponding to the singular values we eliminated from this approximation." @@ -726,7 +729,7 @@ { "cell_type": "code", "execution_count": 25, - "id": "7b937fe3", + "id": "2b6b3594", "metadata": {}, "outputs": [ { @@ -747,7 +750,7 @@ }, { "cell_type": "markdown", - "id": "c3314308", + "id": "3504a30a", "metadata": {}, "source": [ "Now, you can go ahead and repeat this experiment with other values of `k`, and each of your experiments should give you a slightly better (or worse) image depending on the value you choose." @@ -755,7 +758,7 @@ }, { "cell_type": "markdown", - "id": "7bbee310", + "id": "9a5e4134", "metadata": {}, "source": [ "### Applying to all colors\n", @@ -771,7 +774,7 @@ { "cell_type": "code", "execution_count": 26, - "id": "ee285b4d", + "id": "89232c13", "metadata": {}, "outputs": [ { @@ -791,7 +794,7 @@ }, { "cell_type": "markdown", - "id": "f8debec8", + "id": "28bd20b7", "metadata": {}, "source": [ "so we need to permutate the axis on this array to get a shape like `(3, 768, 1024)`. Fortunately, the [numpy.transpose](https://numpy.org/devdocs/reference/generated/numpy.transpose.html#numpy.transpose) function can do that for us:\n", @@ -806,7 +809,7 @@ { "cell_type": "code", "execution_count": 27, - "id": "97def504", + "id": "d22dc7fd", "metadata": {}, "outputs": [ { @@ -827,7 +830,7 @@ }, { "cell_type": "markdown", - "id": "6bd180de", + "id": "871c2efd", "metadata": {}, "source": [ "Now we are ready to apply the SVD:" @@ -836,7 +839,7 @@ { "cell_type": "code", "execution_count": 28, - "id": "06b31b0d", + "id": "b7a18140", "metadata": {}, "outputs": [], "source": [ @@ -845,7 +848,7 @@ }, { "cell_type": "markdown", - "id": "e13471cf", + "id": "4eb94955", "metadata": {}, "source": [ "Finally, to obtain the full approximated image, we need to reassemble these matrices into the approximation. Now, note that" @@ -854,7 +857,7 @@ { "cell_type": "code", "execution_count": 29, - "id": "5c3ffb10", + "id": "eaf450ac", "metadata": {}, "outputs": [ { @@ -874,7 +877,7 @@ }, { "cell_type": "markdown", - "id": "3f67afef", + "id": "a69d5396", "metadata": {}, "source": [ "To build the final approximation matrix, we must understand how multiplication across different axes works." @@ -882,7 +885,7 @@ }, { "cell_type": "markdown", - "id": "ad43b9e3", + "id": "11676ba0", "metadata": {}, "source": [ "### Products with n-dimensional arrays\n", @@ -895,7 +898,7 @@ { "cell_type": "code", "execution_count": 30, - "id": "49d4d4ed", + "id": "1815f13f", "metadata": {}, "outputs": [], "source": [ @@ -906,7 +909,7 @@ }, { "cell_type": "markdown", - "id": "86124ae2", + "id": "992b92b6", "metadata": {}, "source": [ "Now, if we wish to rebuild the full SVD (with no approximation), we can do" @@ -915,7 +918,7 @@ { "cell_type": "code", "execution_count": 31, - "id": "af0a9a26", + "id": "32a13c41", "metadata": {}, "outputs": [], "source": [ @@ -924,7 +927,7 @@ }, { "cell_type": "markdown", - "id": "32bf9f61", + "id": "3f0bf6f0", "metadata": {}, "source": [ "Note that" @@ -933,7 +936,7 @@ { "cell_type": "code", "execution_count": 32, - "id": "c568e252", + "id": "6802d13e", "metadata": {}, "outputs": [ { @@ -953,7 +956,7 @@ }, { "cell_type": "markdown", - "id": "36735e18", + "id": "b23c9950", "metadata": {}, "source": [ "The reconstructed image should be indistinguishable from the original one, except for differences due to floating point errors from the reconstruction. Recall that our original image consisted of floating point values in the range `[0., 1.]`. The accumulation of floating point error from the reconstruction can result in values slightly outside this original range:" @@ -962,7 +965,7 @@ { "cell_type": "code", "execution_count": 33, - "id": "6bc72a89", + "id": "83e2ce53", "metadata": {}, "outputs": [ { @@ -982,7 +985,7 @@ }, { "cell_type": "markdown", - "id": "24bdbd0d", + "id": "578b1359", "metadata": {}, "source": [ "Since `imshow` expects values in the range, we can use `clip` to excise the floating point error:" @@ -991,7 +994,7 @@ { "cell_type": "code", "execution_count": 34, - "id": "ce689748", + "id": "25d370e9", "metadata": {}, "outputs": [ { @@ -1013,7 +1016,7 @@ }, { "cell_type": "markdown", - "id": "71db0b6b", + "id": "82afa748", "metadata": {}, "source": [ "In fact, `imshow` peforms this clipping under-the-hood, so if you skip the first line in the previous code cell, you might see a warning message saying `\"Clipping input data to the valid range for imshow with RGB data ([0..1] for floats or [0..255] for integers).\"`\n", @@ -1024,7 +1027,7 @@ { "cell_type": "code", "execution_count": 35, - "id": "5997dd7d", + "id": "2f17a0b0", "metadata": {}, "outputs": [], "source": [ @@ -1033,7 +1036,7 @@ }, { "cell_type": "markdown", - "id": "efd49900", + "id": "7b7e5e9b", "metadata": {}, "source": [ "You can see that we have selected only the first `k` components of the last axis for `Sigma` (this means that we have used only the first `k` columns of each of the three matrices in the stack), and that we have selected only the first `k` components in the second-to-last axis of `Vt` (this means we have selected only the first `k` rows from every matrix in the stack `Vt` and all columns). If you are unfamiliar with the ellipsis syntax, it is a\n", @@ -1045,7 +1048,7 @@ { "cell_type": "code", "execution_count": 36, - "id": "ca13ecaf", + "id": "323067bb", "metadata": {}, "outputs": [ { @@ -1065,7 +1068,7 @@ }, { "cell_type": "markdown", - "id": "82e1e51b", + "id": "3d539093", "metadata": {}, "source": [ "which is not the right shape for showing the image. Finally, reordering the axes back to our original shape of `(768, 1024, 3)`, we can see our approximation:" @@ -1074,7 +1077,7 @@ { "cell_type": "code", "execution_count": 37, - "id": "a7a2aa72", + "id": "1561cb2b", "metadata": {}, "outputs": [ { @@ -1102,7 +1105,7 @@ }, { "cell_type": "markdown", - "id": "002b7a1b", + "id": "1bab028c", "metadata": {}, "source": [ "Even though the image is not as sharp, using a small number of `k` singular values (compared to the original set of 768 values), we can recover many of the distinguishing features from this image." @@ -1110,7 +1113,7 @@ }, { "cell_type": "markdown", - "id": "8f963c89", + "id": "295e7579", "metadata": {}, "source": [ "### Final words\n", @@ -1158,86 +1161,86 @@ 12, 16, 40, - 44, 48, 52, - 54, + 56, 58, - 64, - 67, - 75, - 77, - 83, - 85, + 62, + 68, + 71, + 79, + 81, + 87, 89, - 91, - 98, - 100, + 93, + 95, + 102, 104, - 106, - 113, - 115, + 108, + 110, + 117, 119, - 121, + 123, 125, 129, - 135, + 133, 139, 143, - 145, - 160, - 162, + 147, + 149, + 164, 166, - 168, - 174, - 177, + 170, + 172, + 178, 181, - 183, + 185, 187, 191, - 193, - 204, - 209, + 195, + 197, + 208, 213, - 219, - 221, - 227, - 229, + 217, + 223, + 225, + 231, 233, - 236, - 244, - 246, + 237, + 240, + 248, 250, - 252, + 254, 256, - 259, + 260, 263, - 274, - 276, - 286, - 289, + 267, + 278, + 280, + 290, 293, - 295, + 297, 299, - 301, + 303, 305, - 313, + 309, 317, 321, - 323, + 325, 327, - 329, + 331, 333, - 335, + 337, 339, 343, - 349, - 351, - 358, - 360, + 347, + 353, + 355, + 362, 364, - 367, - 371 + 368, + 371, + 375 ] }, "nbformat": 4, diff --git a/_sources/content/tutorial-svd.md b/_sources/content/tutorial-svd.md index a1fe60a4..3798636a 100644 --- a/_sources/content/tutorial-svd.md +++ b/_sources/content/tutorial-svd.md @@ -35,12 +35,16 @@ After this tutorial, you should be able to: ## Content -In this tutorial, we will use a [matrix decomposition](https://en.wikipedia.org/wiki/Matrix_decomposition) from linear algebra, the Singular Value Decomposition, to generate a compressed approximation of an image. We'll use the `face` image from the [scipy.misc](https://docs.scipy.org/doc/scipy/reference/misc.html#module-scipy.misc) module: +In this tutorial, we will use a [matrix decomposition](https://en.wikipedia.org/wiki/Matrix_decomposition) from linear algebra, the Singular Value Decomposition, to generate a compressed approximation of an image. We'll use the `face` image from the [scipy.datasets](https://docs.scipy.org/doc/scipy/reference/datasets.html) module: ```{code-cell} -from scipy import misc +# TODO: Rm try-except with scipy 1.10 is the minimum supported version +try: + from scipy.datasets import face +except ImportError: # Data was in scipy.misc prior to scipy v1.10 + from scipy.misc import face -img = misc.face() +img = face() ``` **Note**: If you prefer, you can use your own image as you work through this tutorial. In order to transform your image into a NumPy array that can be manipulated, you can use the `imread` function from the [matplotlib.pyplot](https://matplotlib.org/api/_as_gen/matplotlib.pyplot.html#module-matplotlib.pyplot) submodule. Alternatively, you can use the [imageio.imread](https://imageio.readthedocs.io/en/stable/userapi.html#imageio.imread) function from the `imageio` library. Be aware that if you use your own image, you'll likely need to adapt the steps below. For more information on how images are treated when converted to NumPy arrays, see [A crash course on NumPy for images](https://scikit-image.org/docs/stable/user_guide/numpy_images.html) from the `scikit-image` documentation. @@ -91,7 +95,7 @@ img[:, :, 0] ``` From the output above, we can see that every value in `img[:, :, 0]` is an integer value between 0 and 255, representing the level of red in each corresponding image pixel (keep in mind that this might be different if you -use your own image instead of [scipy.misc.face](https://docs.scipy.org/doc/scipy/reference/generated/scipy.misc.face.html#scipy.misc.face)). +use your own image instead of [scipy.datasets.face](https://docs.scipy.org/doc/scipy/reference/generated/scipy.datasets.face.html)). As expected, this is a 768x1024 matrix: diff --git a/_sources/content/tutorial-x-ray-image-processing.ipynb b/_sources/content/tutorial-x-ray-image-processing.ipynb index 344c33cf..263a7183 100644 --- a/_sources/content/tutorial-x-ray-image-processing.ipynb +++ b/_sources/content/tutorial-x-ray-image-processing.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "2d990475", + "id": "40d686ae", "metadata": {}, "source": [ "# X-ray image processing" @@ -10,7 +10,7 @@ }, { "cell_type": "markdown", - "id": "a308e93b", + "id": "683dce0f", "metadata": {}, "source": [ "This tutorial demonstrates how to read and process X-ray images with NumPy,\n", @@ -53,7 +53,7 @@ }, { "cell_type": "markdown", - "id": "aeb97e4f", + "id": "a4a550c4", "metadata": {}, "source": [ "## Prerequisites" @@ -61,7 +61,7 @@ }, { "cell_type": "markdown", - "id": "adb42afa", + "id": "94fe4332", "metadata": {}, "source": [ "The reader should have some knowledge of Python, NumPy arrays, and Matplotlib.\n", @@ -91,7 +91,7 @@ }, { "cell_type": "markdown", - "id": "4d27778d", + "id": "cc1055de", "metadata": {}, "source": [ "## Table of contents" @@ -99,7 +99,7 @@ }, { "cell_type": "markdown", - "id": "d0a6e16d", + "id": "7675348b", "metadata": {}, "source": [ "1. Examine an X-ray with `imageio`\n", @@ -114,7 +114,7 @@ }, { "cell_type": "markdown", - "id": "84301bd4", + "id": "153950f8", "metadata": {}, "source": [ "## Examine an X-ray with `imageio`" @@ -122,7 +122,7 @@ }, { "cell_type": "markdown", - "id": "b44209de", + "id": "27875984", "metadata": {}, "source": [ "Let's begin with a simple example using just one X-ray image from the\n", @@ -134,7 +134,7 @@ }, { "cell_type": "markdown", - "id": "a73ecc0c", + "id": "fb62f997", "metadata": {}, "source": [ "**1.** Load the image with `imageio`:" @@ -143,7 +143,7 @@ { "cell_type": "code", "execution_count": 1, - "id": "191687c3", + "id": "a1936a06", "metadata": {}, "outputs": [], "source": [ @@ -157,7 +157,7 @@ }, { "cell_type": "markdown", - "id": "f960cd49", + "id": "8dd8f11d", "metadata": {}, "source": [ "**2.** Check that its shape is 1024x1024 pixels and that the array is made up of\n", @@ -167,7 +167,7 @@ { "cell_type": "code", "execution_count": 2, - "id": "6bf78212", + "id": "fd3c9ab3", "metadata": {}, "outputs": [ { @@ -186,7 +186,7 @@ }, { "cell_type": "markdown", - "id": "740e307d", + "id": "a4d0f4a9", "metadata": {}, "source": [ "**3.** Import `matplotlib` and display the image in a grayscale colormap:" @@ -195,7 +195,7 @@ { "cell_type": "code", "execution_count": 3, - "id": "fff0c750", + "id": "cb579540", "metadata": {}, "outputs": [ { @@ -219,7 +219,7 @@ }, { "cell_type": "markdown", - "id": "e1b1e20c", + "id": "d543d678", "metadata": {}, "source": [ "## Combine images into a multidimensional array to demonstrate progression" @@ -227,7 +227,7 @@ }, { "cell_type": "markdown", - "id": "e44b2d3d", + "id": "046eadcd", "metadata": {}, "source": [ "In the next example, instead of 1 image you'll use 9 X-ray 1024x1024-pixel\n", @@ -242,7 +242,7 @@ { "cell_type": "code", "execution_count": 4, - "id": "00ee8449", + "id": "31831eb5", "metadata": {}, "outputs": [], "source": [ @@ -256,7 +256,7 @@ }, { "cell_type": "markdown", - "id": "24d8e8c5", + "id": "10cee8a5", "metadata": {}, "source": [ "**2.** Check the shape of the new X-ray image array containing 9 stacked images:" @@ -265,7 +265,7 @@ { "cell_type": "code", "execution_count": 5, - "id": "6aa1477a", + "id": "ac98d086", "metadata": {}, "outputs": [ { @@ -285,7 +285,7 @@ }, { "cell_type": "markdown", - "id": "95d05626", + "id": "147e654d", "metadata": {}, "source": [ "Note that the shape in the first dimension matches `num_imgs`, so the\n", @@ -298,7 +298,7 @@ { "cell_type": "code", "execution_count": 6, - "id": "3b058f92", + "id": "a23a65c9", "metadata": {}, "outputs": [ { @@ -322,7 +322,7 @@ }, { "cell_type": "markdown", - "id": "ef160541", + "id": "13d69a77", "metadata": {}, "source": [ "**4.** In addition, it can be helpful to show the progress as an animation.\n", @@ -333,7 +333,7 @@ { "cell_type": "code", "execution_count": 7, - "id": "bda73cc6", + "id": "7a30fb89", "metadata": {}, "outputs": [], "source": [ @@ -343,7 +343,7 @@ }, { "cell_type": "markdown", - "id": "7414fdda", + "id": "5257754f", "metadata": {}, "source": [ "Which gives us:\n", @@ -353,7 +353,7 @@ }, { "cell_type": "markdown", - "id": "de0f0ac3", + "id": "3c3a8576", "metadata": {}, "source": [ "When processing biomedical data, it can be useful to emphasize the 2D\n", @@ -365,7 +365,7 @@ }, { "cell_type": "markdown", - "id": "a872af06", + "id": "4a18b5db", "metadata": {}, "source": [ "### The Laplace filter with Gaussian second derivatives\n", @@ -382,7 +382,7 @@ }, { "cell_type": "markdown", - "id": "6ab17ab4", + "id": "187213eb", "metadata": {}, "source": [ "- The implementation of the Laplacian-Gaussian filter is relatively\n", @@ -395,7 +395,7 @@ { "cell_type": "code", "execution_count": 8, - "id": "ac0f9818", + "id": "ea9c4c38", "metadata": {}, "outputs": [], "source": [ @@ -406,7 +406,7 @@ }, { "cell_type": "markdown", - "id": "7db065be", + "id": "ecb40b75", "metadata": {}, "source": [ "Display the original X-ray and the one with the Laplacian-Gaussian filter:" @@ -415,7 +415,7 @@ { "cell_type": "code", "execution_count": 9, - "id": "a031c671", + "id": "a6e80f2c", "metadata": {}, "outputs": [ { @@ -443,7 +443,7 @@ }, { "cell_type": "markdown", - "id": "03c49dc5", + "id": "f63d902f", "metadata": {}, "source": [ "### The Gaussian gradient magnitude method\n", @@ -458,7 +458,7 @@ }, { "cell_type": "markdown", - "id": "f25debce", + "id": "63490d93", "metadata": {}, "source": [ "**1.** Call [`scipy.ndimage.gaussian_gradient_magnitude()`](https://docs.scipy.org/doc/scipy/reference/generated/scipy.ndimage.gaussian_gradient_magnitude.html)\n", @@ -469,7 +469,7 @@ { "cell_type": "code", "execution_count": 10, - "id": "467df366", + "id": "a5173db0", "metadata": {}, "outputs": [], "source": [ @@ -478,7 +478,7 @@ }, { "cell_type": "markdown", - "id": "a7f3a78a", + "id": "d808cb7c", "metadata": {}, "source": [ "**2.** Display the original X-ray and the one with the Gaussian gradient filter:" @@ -487,7 +487,7 @@ { "cell_type": "code", "execution_count": 11, - "id": "6c30afd8", + "id": "45f60bb6", "metadata": {}, "outputs": [ { @@ -515,7 +515,7 @@ }, { "cell_type": "markdown", - "id": "e7dadbf9", + "id": "fdabd024", "metadata": {}, "source": [ "### The Sobel-Feldman operator (the Sobel filter)\n", @@ -532,7 +532,7 @@ }, { "cell_type": "markdown", - "id": "e2fce240", + "id": "421f9d12", "metadata": {}, "source": [ "**1.** Use the Sobel filters — ([`scipy.ndimage.sobel()`](https://docs.scipy.org/doc/scipy/reference/generated/scipy.ndimage.sobel.html))\n", @@ -552,7 +552,7 @@ { "cell_type": "code", "execution_count": 12, - "id": "34b6b590", + "id": "a0480f6d", "metadata": {}, "outputs": [], "source": [ @@ -566,7 +566,7 @@ }, { "cell_type": "markdown", - "id": "8ced8465", + "id": "7d09568a", "metadata": {}, "source": [ "**2.** Change the new image array data type to the 32-bit floating-point format\n", @@ -577,7 +577,7 @@ { "cell_type": "code", "execution_count": 13, - "id": "1ba68a1e", + "id": "e70ef09d", "metadata": {}, "outputs": [ { @@ -599,7 +599,7 @@ }, { "cell_type": "markdown", - "id": "24bef455", + "id": "28cce782", "metadata": {}, "source": [ "**3.** Display the original X-ray and the one with the Sobel \"edge\" filter\n", @@ -610,7 +610,7 @@ { "cell_type": "code", "execution_count": 14, - "id": "6c7fe72a", + "id": "700c5b3f", "metadata": {}, "outputs": [ { @@ -640,7 +640,7 @@ }, { "cell_type": "markdown", - "id": "1419db43", + "id": "7b3d42c7", "metadata": {}, "source": [ "### The Canny filter\n", @@ -665,7 +665,7 @@ }, { "cell_type": "markdown", - "id": "5b214e0a", + "id": "0ea3efd9", "metadata": {}, "source": [ "**1.** Use SciPy's Fourier filters — [`scipy.ndimage.fourier_gaussian()`](https://docs.scipy.org/doc/scipy/reference/generated/scipy.ndimage.fourier_gaussian.html)\n", @@ -679,7 +679,7 @@ { "cell_type": "code", "execution_count": 15, - "id": "1471490b", + "id": "d606cc99", "metadata": {}, "outputs": [ { @@ -705,7 +705,7 @@ }, { "cell_type": "markdown", - "id": "3c58f073", + "id": "8d452bed", "metadata": {}, "source": [ "**2.** Plot the original X-ray image and the ones with the edges detected with\n", @@ -716,7 +716,7 @@ { "cell_type": "code", "execution_count": 16, - "id": "cf20de27", + "id": "38239cfb", "metadata": {}, "outputs": [ { @@ -748,7 +748,7 @@ }, { "cell_type": "markdown", - "id": "b53dd9a1", + "id": "4302159b", "metadata": {}, "source": [ "## Apply masks to X-rays with `np.where()`" @@ -756,7 +756,7 @@ }, { "cell_type": "markdown", - "id": "e063b74c", + "id": "d6e1d0f1", "metadata": {}, "source": [ "To screen out only certain pixels in X-ray images to help detect particular\n", @@ -771,7 +771,7 @@ }, { "cell_type": "markdown", - "id": "d9e35c30", + "id": "1375f098", "metadata": {}, "source": [ "**1.** Retrieve some basics statistics about the pixel values in the original\n", @@ -781,7 +781,7 @@ { "cell_type": "code", "execution_count": 17, - "id": "536a143b", + "id": "2d5ccc8e", "metadata": {}, "outputs": [ { @@ -806,7 +806,7 @@ }, { "cell_type": "markdown", - "id": "3499a323", + "id": "444c061b", "metadata": {}, "source": [ "**2.** The array data type is `uint8` and the minimum/maximum value results\n", @@ -818,7 +818,7 @@ { "cell_type": "code", "execution_count": 18, - "id": "c54b3369", + "id": "46f0c978", "metadata": {}, "outputs": [ { @@ -844,7 +844,7 @@ }, { "cell_type": "markdown", - "id": "61c100a8", + "id": "05d94023", "metadata": {}, "source": [ "As the pixel intensity distribution suggests, there are many low (between around\n", @@ -858,7 +858,7 @@ { "cell_type": "code", "execution_count": 19, - "id": "cbb61e74", + "id": "33f17e75", "metadata": {}, "outputs": [ { @@ -885,7 +885,7 @@ { "cell_type": "code", "execution_count": 20, - "id": "ecb70de9", + "id": "86984d33", "metadata": {}, "outputs": [ { @@ -911,7 +911,7 @@ }, { "cell_type": "markdown", - "id": "aa53e045", + "id": "5f6f34b5", "metadata": {}, "source": [ "## Compare the results" @@ -919,7 +919,7 @@ }, { "cell_type": "markdown", - "id": "78a7c753", + "id": "a5c41bea", "metadata": {}, "source": [ "Let's display some of the results of processed X-ray images you've worked with\n", @@ -929,7 +929,7 @@ { "cell_type": "code", "execution_count": 21, - "id": "5f62b6ab", + "id": "0548cc99", "metadata": {}, "outputs": [ { @@ -971,7 +971,7 @@ }, { "cell_type": "markdown", - "id": "d2233818", + "id": "b2e6d78d", "metadata": {}, "source": [ "## Next steps" @@ -979,7 +979,7 @@ }, { "cell_type": "markdown", - "id": "3cb0d032", + "id": "621a06f0", "metadata": {}, "source": [ "If you want to use your own samples, you can use\n", diff --git a/content/mooreslaw-tutorial.html b/content/mooreslaw-tutorial.html index 8fdd8a62..118b2170 100644 --- a/content/mooreslaw-tutorial.html +++ b/content/mooreslaw-tutorial.html @@ -890,7 +890,7 @@

    Calculating the historical growth curve for transistors
    19200000000.0 250000000.0 7050000000.0
     

    -
    <matplotlib.legend.Legend at 0x7f0b617c1c90>
    +
    <matplotlib.legend.Legend at 0x7f87900fe950>
     
    ../_images/b9143a884ec8776a0b94987e50a2d4d51f1281c69d1627da25b80d029388ce22.png diff --git a/content/save-load-arrays.html b/content/save-load-arrays.html index a2765e83..39eb6b60 100644 --- a/content/save-load-arrays.html +++ b/content/save-load-arrays.html @@ -634,7 +634,7 @@

    Remove the saved arrays and load them back with NumPy’s
    -
    whos
    +
    %whos
     
    diff --git a/content/tutorial-air-quality-analysis.html b/content/tutorial-air-quality-analysis.html index 484dc2df..3ad1bb86 100644 --- a/content/tutorial-air-quality-analysis.html +++ b/content/tutorial-air-quality-analysis.html @@ -858,7 +858,7 @@

    Calculating the test statistics -
    The t value is -5.84285569186369 and the p value is 1.2266697972219608e-06.
    +
    The t value is -7.836332143875384 and the p value is 6.071929048036322e-09.
     
    diff --git a/content/tutorial-ma.html b/content/tutorial-ma.html index 77648137..9a8f5b85 100644 --- a/content/tutorial-ma.html +++ b/content/tutorial-ma.html @@ -879,7 +879,7 @@

    Fitting Data -

    -../_images/774c0c53a1edfeb533e6940c2abf97431945fef9b1c9abb03b5e3f284205fc1b.png +../_images/ebd2ae94d8d5dfb90da758ca431e4ef320d7e07bc55d97a85c3ee10d91b96921.png

    Needless to say, there is a large amount of exploring that can be done by fiddling with the inputted function, value of \(c\), number of iterations, radius and even the density of the mesh and choice of colours.

    @@ -948,7 +946,7 @@

    Newton Fractals
    output = newton_fractal(mesh, p, p.deriv(), num_iter=15, r=2)
    -kwargs = {'title': 'f(z) = z - \dfrac{(z^8 + 15z^4 - 16)}{(8z^7 + 60z^3)}', 'cmap': 'copper'}
    +kwargs = {'title': r'f(z) = z - \dfrac{(z^8 + 15z^4 - 16)}{(8z^7 + 60z^3)}', 'cmap': 'copper'}
     
     plot_fractal(output, **kwargs)
     
    @@ -977,7 +975,7 @@

    Newton Fractals
    output = newton_fractal(mesh, f_tan, d_tan, num_iter=15, r=50)
    -kwargs = {'title': 'f(z) = z - \dfrac{sin(z)cos(z)}{2}', 'cmap': 'binary'}
    +kwargs = {'title': r'f(z) = z - \dfrac{sin(z)cos(z)}{2}', 'cmap': 'binary'}
     
     plot_fractal(output, **kwargs);
     
    @@ -1013,7 +1011,7 @@

    Newton Fractals
    output = newton_fractal(small_mesh, sin_sum, d_sin_sum, num_iter=10, r=1)
    -kwargs = {'title': 'Wacky \ fractal', 'figsize': (6, 6), 'extent': [-1, 1, -1, 1], 'cmap': 'terrain'}
    +kwargs = {'title': 'Wacky \\ fractal', 'figsize': (6, 6), 'extent': [-1, 1, -1, 1], 'cmap': 'terrain'}
     
     plot_fractal(output, **kwargs)
     
    @@ -1112,7 +1110,7 @@

    Creating your own fractals
    output = general_julia(mesh, f=accident, num_iter=15, c=0, radius=np.pi)
    -kwargs = {'title': 'Accidental \ fractal', 'cmap': 'Blues'}
    +kwargs = {'title': 'Accidental \\ fractal', 'cmap': 'Blues'}
     
     plot_fractal(output, **kwargs);
     
    diff --git a/content/tutorial-svd.html b/content/tutorial-svd.html index 0fb4fe2f..97af0d35 100644 --- a/content/tutorial-svd.html +++ b/content/tutorial-svd.html @@ -512,18 +512,21 @@

    Learning Objectives

    Content#

    -

    In this tutorial, we will use a matrix decomposition from linear algebra, the Singular Value Decomposition, to generate a compressed approximation of an image. We’ll use the face image from the scipy.misc module:

    +

    In this tutorial, we will use a matrix decomposition from linear algebra, the Singular Value Decomposition, to generate a compressed approximation of an image. We’ll use the face image from the scipy.datasets module:

    -
    from scipy import misc
    +
    # TODO: Rm try-except with scipy 1.10 is the minimum supported version
    +try:
    +    from scipy.datasets import face
    +except ImportError:  # Data was in scipy.misc prior to scipy v1.10
    +    from scipy.misc import face
     
    -img = misc.face()
    +img = face()
     
    -
    /tmp/ipykernel_432/2202046956.py:3: DeprecationWarning: scipy.misc.face has been deprecated in SciPy v1.10.0; and will be completely removed in SciPy v1.12.0. Dataset methods have moved into the scipy.datasets module. Use scipy.datasets.face instead.
    -  img = misc.face()
    +
    Downloading file 'face.dat' from 'https://raw.githubusercontent.com/scipy/dataset-face/main/face.dat' to '/home/circleci/.cache/scipy-data'.
     
    @@ -613,7 +616,7 @@

    Shape, axis and array propertiesimg[:, :, 0] is an integer value between 0 and 255, representing the level of red in each corresponding image pixel (keep in mind that this might be different if you -use your own image instead of scipy.misc.face).

    +use your own image instead of scipy.datasets.face).

    As expected, this is a 768x1024 matrix:

    diff --git a/searchindex.js b/searchindex.js index 523b88f8..b022ddcb 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["applications", "articles", "content/mooreslaw-tutorial", "content/pairing", "content/save-load-arrays", "content/tutorial-air-quality-analysis", "content/tutorial-deep-learning-on-mnist", "content/tutorial-deep-reinforcement-learning-with-pong-from-pixels", "content/tutorial-ma", "content/tutorial-nlp-from-scratch", "content/tutorial-plotting-fractals", "content/tutorial-static_equilibrium", "content/tutorial-style-guide", "content/tutorial-svd", "content/tutorial-x-ray-image-processing", "contributing", "features", "index"], "filenames": ["applications.md", "articles.md", "content/mooreslaw-tutorial.md", "content/pairing.md", "content/save-load-arrays.md", "content/tutorial-air-quality-analysis.md", "content/tutorial-deep-learning-on-mnist.md", "content/tutorial-deep-reinforcement-learning-with-pong-from-pixels.md", "content/tutorial-ma.md", "content/tutorial-nlp-from-scratch.md", "content/tutorial-plotting-fractals.md", "content/tutorial-static_equilibrium.md", "content/tutorial-style-guide.md", "content/tutorial-svd.md", "content/tutorial-x-ray-image-processing.md", "contributing.md", "features.md", "index.md"], "titles": ["NumPy Applications", "Articles", "Determining Moore\u2019s Law with real data in NumPy", "Pairing Jupyter notebooks and MyST-NB", "Saving and sharing your NumPy arrays", "Analyzing the impact of the lockdown on air quality in Delhi, India", "Deep learning on MNIST", "Deep reinforcement learning with Pong from pixels", "Masked Arrays", "Sentiment Analysis on notable speeches of the last decade", "Plotting Fractals", "Determining Static Equilibrium in NumPy", "Learn to write a NumPy tutorial", "Linear algebra on n-dimensional arrays", "X-ray image processing", "Contributing", "NumPy Features", "NumPy tutorials"], "terms": {"A": [0, 1, 2, 3, 5, 8, 9, 10, 11, 12, 13, 16], "collect": [0, 1, 5, 7, 15, 16], "highlight": 0, "us": [0, 2, 3, 5, 6, 7, 9, 10, 11, 13, 15], "scienc": [0, 14], "engin": [0, 2, 7, 11], "data": [0, 1, 5, 7, 10, 12, 13, 14, 15, 17], "analysi": [0, 1, 2, 5, 8, 14, 17], "determin": [0, 6, 7, 8, 9, 17], "moor": [0, 17], "": [0, 1, 3, 6, 7, 8, 10, 13, 14, 17], "law": [0, 17], "real": [0, 5, 6, 7, 8, 9, 10, 13, 15, 17], "deep": [0, 1, 2, 14, 17], "learn": [0, 1, 14, 15, 17], "mnist": [0, 2, 9, 17], "x": [0, 2, 3, 5, 6, 7, 8, 9, 10, 11, 13, 17], "rai": [0, 2, 17], "imag": [0, 2, 7, 9, 10, 12, 13, 15, 17], "process": [0, 2, 4, 5, 6, 7, 8, 9, 11, 17], "static": [0, 3, 15, 17], "equilibrium": [0, 17], "plot": [0, 2, 6, 7, 8, 9, 11, 13, 14, 17], "fractal": [0, 2, 17], "analyz": [0, 8, 11, 14, 17], "impact": [0, 6, 17], "lockdown": [0, 17], "air": [0, 2, 17], "qualiti": [0, 2, 6, 7, 17], "delhi": [0, 17], "india": [0, 17], "want": [1, 2, 4, 5, 7, 8, 10, 11, 12, 13, 14, 15, 17], "make": [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 17], "valuabl": [1, 17], "contribut": [1, 17], "consid": [1, 2, 3, 4, 6, 8, 9, 10, 11, 12, 13, 14, 17], "work": [1, 3, 4, 6, 7, 8, 9, 10, 13, 14], "so": [1, 2, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15], "thei": [1, 2, 3, 6, 7, 9, 10, 11, 12, 13, 14], "becom": [1, 10], "fulli": [1, 9, 17], "execut": [1, 3, 6, 9, 13], "reproduc": [1, 6, 7, 9, 17], "reinforc": [1, 2, 9, 17], "pong": [1, 2, 17], "from": [1, 2, 4, 5, 8, 10, 11, 12, 13, 14, 17], "pixel": [1, 2, 6, 13, 14, 17], "prerequisit": [1, 12], "tabl": [1, 2, 5], "content": [1, 3], "note": [1, 2, 3, 5, 6, 8, 10, 11, 12, 13, 14, 17], "rl": 1, "glossari": 1, "set": [1, 2, 3, 5, 6, 8, 9, 13, 14, 17], "up": [1, 5, 6, 8, 9, 10, 14, 15], "preprocess": 1, "frame": [1, 14], "observ": [1, 2, 5, 8, 9, 11], "creat": [1, 3, 5, 6, 8, 9, 11, 14], "polici": [1, 9], "neural": 1, "network": 1, "forward": [1, 6], "pass": [1, 5, 6, 9, 10], "updat": [1, 3, 6, 15], "step": [1, 2, 4, 5, 12, 13, 15], "backpropag": [1, 6], "defin": [1, 2, 4, 6, 9, 10, 11, 13], "discount": 1, "reward": 1, "expect": [1, 2, 6, 9, 10, 13], "return": [1, 5, 6, 8, 9, 10, 12, 14], "function": [1, 4, 5, 6, 8, 9, 10, 11, 13, 16], "train": 1, "agent": 1, "number": [1, 2, 4, 6, 8, 9, 10, 11, 13, 14], "episod": [1, 9], "next": [1, 2, 4, 5, 8, 10, 11, 12], "appendix": 1, "how": [1, 2, 3, 5, 6, 8, 10, 11, 13, 14, 15], "video": 1, "playback": 1, "your": [1, 5, 6, 8, 9, 11, 13, 14, 16, 17], "jupyt": [1, 4, 6, 9, 14, 17], "notebook": [1, 6, 9, 14, 16, 17], "sentiment": [1, 17], "notabl": [1, 7, 10, 17], "speech": [1, 17], "last": [1, 2, 6, 7, 10, 12, 13, 17], "decad": [1, 2, 17], "1": [1, 2, 4, 5, 7, 8, 10, 11, 12, 13, 14], "imdb": 1, "review": [1, 3, 7, 15], "dataset": [1, 4, 8, 13, 14], "load": [1, 14], "transcript": 1, "2": [1, 2, 4, 5, 7, 8, 10, 11, 13, 14], "3": [1, 2, 4, 5, 7, 8, 10, 11, 13, 14], "build": [1, 3, 7, 13, 14, 17], "model": [1, 2, 7, 8, 11], "introduct": [1, 2, 5, 8], "long": [1, 6, 7, 10, 12], "short": [1, 12], "term": [1, 2, 5, 6, 7, 13], "memori": [1, 6, 7, 8, 13, 14], "overview": 1, "architectur": [1, 13], "propag": [1, 6, 7], "But": [1, 12], "do": [1, 7, 13, 14, 15], "you": [1, 6, 7, 13, 14, 15, 17], "obtain": [1, 5, 7, 13, 14], "lstm": 1, "output": [1, 2, 3, 4, 6, 7, 8, 10, 13, 15], "paramet": [1, 2, 5, 6, 7, 8, 10, 14], "look": [1, 2, 3, 5, 6, 8, 10, 11, 13], "our": [1, 2, 5, 8, 10, 11, 13], "an": [1, 4, 5, 6, 7, 8, 10, 11, 12], "ethic": [1, 6], "perspect": 1, "The": [2, 3, 4, 6, 7, 8, 9, 10, 11, 13, 15, 17], "report": [2, 6, 9], "per": 2, "given": [2, 5, 7, 9, 10, 11, 13], "chip": 2, "log": [2, 7, 9], "scale": [2, 6, 10], "y": [2, 5, 6, 7, 9, 10, 11, 13, 14], "axi": [2, 5, 6, 8, 9, 10, 14], "date": [2, 8], "linear": [2, 5, 6, 7, 9, 11, 16, 17], "blue": [2, 7, 10, 13], "point": [2, 4, 7, 8, 9, 11, 12, 13, 14], "ar": [2, 3, 4, 5, 6, 7, 9, 10, 11, 13, 14, 15], "count": [2, 6, 7, 8, 10], "red": [2, 7, 13], "line": [2, 4, 7, 8, 9, 13], "i": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "ordinari": 2, "least": [2, 9, 14], "squar": [2, 4, 6, 9, 10, 13], "predict": [2, 6, 9], "orang": [2, 8], "In": [2, 3, 4, 6, 7, 9, 11, 13, 14, 15], "1965": 2, "gordon": 2, "would": [2, 5, 6, 8, 9, 10, 11, 12, 13, 15], "doubl": [2, 6, 12], "everi": [2, 5, 7, 9, 13], "two": [2, 3, 4, 5, 7, 8, 9, 10, 11, 13, 14, 15], "year": [2, 7], "come": [2, 7, 8, 9, 10, 11, 12, 15], "compar": [2, 3, 4, 5, 6, 13], "against": [2, 6, 7, 9], "actual": [2, 6, 7, 8, 9, 13], "53": [2, 5], "follow": [2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "hi": [2, 7, 9], "best": [2, 7, 8, 9, 13, 15], "fit": [2, 6, 9], "constant": [2, 10], "describ": [2, 7, 8, 12], "semiconductor": 2, "perform": [2, 5, 6, 7, 9, 10, 11, 13], "regress": 2, "between": [2, 3, 4, 5, 6, 7, 9, 11, 13, 14], "npz": [2, 4], "assess": 2, "amaz": 2, "progress": 2, "have": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15], "made": [2, 3, 9, 10, 14], "five": [2, 6, 7, 11], "These": [2, 3, 6, 7, 9, 11, 13, 15], "packag": [2, 7, 8, 9, 12, 14], "matplotlib": [2, 6, 7, 8, 9, 10, 11, 13, 14], "import": [2, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14], "command": [2, 4, 7, 8, 13], "pyplot": [2, 6, 7, 8, 9, 10, 11, 13, 14], "plt": [2, 6, 7, 8, 9, 10, 11, 13, 14], "np": [2, 4, 5, 6, 7, 8, 9, 10, 11, 13], "sinc": [2, 5, 6, 7, 8, 9, 10, 13, 14], "thi": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "littl": [2, 10], "background": [2, 6, 7], "math": [2, 7, 9], "natur": [2, 9, 10], "loadtxt": [2, 4, 5], "text": [2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 15], "take": [2, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "all": [2, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15], "element": [2, 5, 8, 10, 13], "exp": [2, 7, 9], "lambda": [2, 9, 10], "minim": [2, 6, 7], "definit": [2, 8, 10], "semilogi": 2, "onto": [2, 14], "figur": [2, 9, 10, 11, 12], "log_": 2, "10": [2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "ax": [2, 6, 9, 10, 13, 14], "slice": [2, 5, 13], "view": [2, 7, 9], "part": [2, 5, 7, 8, 9, 14, 17], "e": [2, 4, 5, 10, 11], "g": [2, 4, 7, 10, 11, 13], "first": [2, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15], "boolean": [2, 8, 10, 14], "index": [2, 6, 7, 8, 9, 10, 13], "match": [2, 10, 14], "condit": [2, 7, 8, 14], "oper": [2, 6, 8, 9, 10, 11], "block": [2, 4, 9], "combin": [2, 6, 7, 8, 10], "2d": [2, 7, 13, 14], "newaxi": [2, 4], "chang": [2, 3, 6, 8, 9, 10, 14], "1d": [2, 4, 6, 7, 13], "vector": [2, 4, 5, 6, 7, 8, 9, 11, 13], "row": [2, 4, 5, 8, 13], "column": [2, 4, 5, 8, 9, 13], "savez": 2, "savetxt": 2, "save": [2, 3, 6, 7, 8, 9, 10, 14, 16, 17], "format": [2, 3, 4, 5, 7, 9, 12, 14, 15], "respect": [2, 4, 6, 7, 9, 11], "empir": 2, "assum": [2, 5, 10, 11, 12, 14], "transistor_count": 2, "f": [2, 6, 9, 10, 11, 13, 14], "cdot": [2, 5, 10], "b": [2, 7, 9, 11, 13], "where": [2, 4, 5, 6, 7, 8, 9, 10, 11, 13], "find": [2, 5, 6, 7, 8, 14], "specifi": [2, 4, 9], "rate": [2, 6, 7, 9], "ad": [2, 7, 8, 10, 17], "give": [2, 7, 10, 11, 12, 13, 14, 15], "initi": [2, 6, 7, 8, 9], "state": [2, 7, 9, 11], "form": [2, 5, 6, 7, 9, 10, 13, 15], "a_m": 2, "b_m": 2, "start": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14], "2250": 2, "1971": 2, "dfrac": [2, 5, 10], "2a_m": 2, "rightarrow": 2, "frac": [2, 5, 9, 10, 11], "0": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "3466": 2, "675": 2, "4": [2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 14], "repres": [2, 8, 9, 10, 11, 13], "python": [2, 3, 4, 6, 7, 8, 9, 10, 12, 13, 14], "moores_law": 2, "were": [2, 4, 7, 9, 10], "intel": 2, "4004": 2, "check": [2, 5, 6, 7, 8, 10, 13, 14, 17], "1973": 2, "ml_1971": 2, "ml_1973": 2, "print": [2, 3, 4, 5, 6, 7, 9, 11, 12, 14], "0f": 2, "2f": 2, "more": [2, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15], "than": [2, 5, 7, 8, 9, 10, 12, 13, 14], "4500": 2, "x2": 2, "00": [2, 4, 5], "now": [2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 14], "base": [2, 6, 7, 8, 9, 11], "upon": [2, 9, 10, 11], "each": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 17], "transistor_data": 2, "befor": [2, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15], "its": [2, 6, 7, 8, 9, 10, 13, 14, 15], "good": [2, 6, 8, 9, 12], "idea": [2, 8, 10, 13, 15], "inspect": [2, 6], "structur": [2, 8, 9, 11], "Then": [2, 3, 5, 6, 7, 9, 11, 14], "locat": [2, 8, 9, 10, 11], "interest": [2, 7, 8, 10, 13, 14, 15, 17], "them": [2, 5, 6, 7, 8, 9, 10, 11, 14, 17], "variabl": [2, 4, 6, 7, 8, 9], "here": [2, 3, 4, 6, 8, 9, 10, 12, 13, 15], "out": [2, 5, 6, 7, 9, 10, 12, 13, 14], "processor": 2, "mo": 2, "design": [2, 3, 6, 7, 9, 10], "mosprocess": 2, "area": [2, 10], "bit": [2, 6, 7, 9, 10, 13, 14], "16": [2, 4, 5, 6, 7, 8, 10, 14], "pin": 2, "000": [2, 6, 7, 9, 14], "nm": 2, "12": [2, 3, 5, 6, 7, 8, 13], "mm\u00b2": 2, "head": [2, 4, 5], "8008": 2, "8": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14], "18": [2, 5, 6, 7, 8], "3500": 2, "1972": [2, 7], "14": [2, 5, 6, 7, 8], "nec": 2, "\u03bccom": 2, "42": [2, 5, 7], "2500": 2, "7": [2, 4, 6, 7, 8, 10, 14], "500": [2, 6, 7], "4040": 2, "3000": 2, "1974": 2, "motorola": 2, "6800": 2, "40": 2, "4100": 2, "6": [2, 3, 4, 5, 6, 7, 8, 10, 11, 14], "8080": 2, "6000": 2, "20": [2, 5, 6, 7, 8, 10, 14], "tm": 2, "1000": [2, 6, 9, 14], "28": [2, 5, 6, 8], "8000": 2, "texa": 2, "instrument": 2, "11": [2, 5, 6, 7, 8], "technologi": 2, "6502": 2, "4528": 2, "1975": 2, "21": [2, 5, 7, 8], "intersil": 2, "im6100": 2, "clone": [2, 17], "pdp": 2, "4000": 2, "don": [2, 5, 6, 7, 8, 9, 10, 12, 13, 15], "t": [2, 6, 7, 8, 9, 10, 11, 12, 13, 15], "That": [2, 8], "leav": 2, "second": [2, 7, 8, 13], "third": [2, 10], "extra": [2, 9], "option": [2, 7, 9, 12, 15], "below": [2, 5, 6, 7, 8, 9, 12, 13, 14, 15], "put": [2, 9, 10, 12], "desir": 2, "delimit": [2, 4, 5, 8, 12], "delimet": 2, "default": [2, 4, 6, 7, 9, 13], "behavior": [2, 9, 10], "usecol": [2, 5, 8], "skiprow": [2, 4, 5], "becaus": [2, 3, 6, 7, 9, 11, 12, 13, 14], "header": [2, 4, 8], "entir": [2, 10], "histori": 2, "semiconduct": 2, "name": [2, 3, 4, 6, 8, 9], "four": [2, 8, 9], "digit": [2, 6], "easier": [2, 3, 4, 10], "read": [2, 4, 6, 7, 9, 14], "manag": [2, 9], "assign": [2, 4, 6, 7, 12, 13], "correct": [2, 5, 7, 9], "grab": 2, "tran": 2, "cnt": 2, "5000": 2, "independ": 2, "depend": [2, 6, 7, 9, 13, 15], "transform": [2, 6, 9, 13], "y_i": 2, "equat": [2, 10, 11], "yi": 2, "differ": [2, 3, 5, 6, 7, 8, 9, 10, 13, 14], "min": [2, 9, 13, 14], "sum": [2, 6, 7, 8, 9], "_i": 2, "error": [2, 6, 7, 9, 10, 13], "can": [2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17], "succinctli": 2, "mathbf": 2, "z": [2, 9, 10, 11], "polynomi": [2, 8, 10], "By": [2, 5], "regressor": 2, "matrix": [2, 6, 7, 9, 11, 13], "statist": [2, 7, 14], "degre": [2, 5, 10], "therefor": [2, 6, 7, 9, 11], "we": [2, 3, 5, 6, 8, 9, 10, 13, 15], "deg": [2, 8, 10], "domain": 2, "case": [2, 5, 8, 9, 10, 11, 12, 13], "coeffici": 2, "unscal": 2, "unshift": 2, "recov": [2, 13], "convert": [2, 3, 7, 9, 11, 13], "method": [2, 5, 6, 7, 8, 9, 11, 13], "mapsto": [2, 10], "666": 2, "32640635": 2, "34163208": 2, "individu": [2, 6, 9, 10, 11, 13, 17], "did": [2, 4, 9, 10, 13], "final": [2, 6, 7, 8, 9, 10, 14], "formula": [2, 5, 9, 13, 14], "xfactor": 2, "2a": 2, "increas": [2, 6, 7, 9, 10], "slope": 2, "semilog": 2, "98": [2, 5], "factor": [2, 6, 7, 9], "three": [2, 3, 4, 8, 10, 11, 12, 13, 14], "get": [2, 5, 6, 7, 8, 9, 10, 12, 13], "same": [2, 3, 5, 6, 7, 8, 9, 10, 11, 13, 14], "dimens": [2, 6, 7, 9, 10, 11, 13, 14], "179": 2, "_": 2, "Be": [2, 12, 13], "fivethirtyeight": 2, "style": [2, 4, 7, 8], "sheet": 2, "replic": 2, "http": [2, 6, 7, 8, 9], "com": [2, 6, 9], "transistor_count_predict": 2, "transistor_moores_law": 2, "label": [2, 4, 7, 9, 10, 11, 17], "titl": [2, 6, 8, 9, 10, 14], "microprocessor": 2, "n": [2, 3, 5, 6, 7, 8, 9, 10, 14, 16, 17], "wa": [2, 5, 6, 7, 8, 9, 10, 11], "higher": [2, 4, 6, 7, 9, 10, 12], "xlabel": 2, "introduc": [2, 6, 7, 9], "legend": [2, 6, 8, 9, 11], "loc": [2, 9], "center": [2, 11], "left": [2, 5, 6, 7, 9, 11], "bbox_to_anchor": [2, 9], "5": [2, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14], "ylabel": 2, "nper": 2, "scatter": [2, 10], "captur": 2, "2015": [2, 6, 7], "claim": 2, "could": [2, 7, 9, 10, 13], "keep": [2, 3, 8, 9, 10, 11, 12, 13], "anymor": 2, "show": [2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "averag": [2, 9, 14], "x1": 2, "2017": [2, 7, 14], "abov": [2, 5, 6, 7, 9, 10, 11, 12, 13, 17], "plug": [2, 10], "great": [2, 6, 7, 9], "wai": [2, 4, 6, 7, 9, 10, 12, 13, 17], "measur": [2, 5, 6, 7, 9, 11, 12, 14], "rang": [2, 5, 6, 7, 8, 9, 10, 13, 14], "alpha": [2, 5, 10], "transpar": [2, 9], "opaqu": 2, "appear": [2, 7, 10, 12, 17], "lie": 2, "green": [2, 7, 13], "pm": [2, 5], "transistor_count2017": 2, "max": [2, 5, 13, 14], "mean": [2, 3, 7, 8, 9, 10, 11, 13, 14], "linspac": [2, 10], "2016": [2, 7], "your_model2017": 2, "moore_model2017": 2, "ones": [2, 5, 7, 8, 9, 10, 11, 14], "ro": 2, "markers": 2, "mew": 2, "19200000000": 2, "250000000": 2, "7050000000": 2, "0x7f0b617c1c90": 2, "close": [2, 7, 8, 9, 10, 12, 13], "closer": 2, "maximum": [2, 5, 6, 7, 13, 14], "produc": [2, 6, 11, 14, 15], "even": [2, 5, 7, 9, 10, 12, 13, 15], "though": [2, 5, 13], "thought": [2, 9], "slow": [2, 7], "onc": [2, 3, 9, 10, 13], "again": [2, 4, 6, 7, 9, 10, 13, 15], "approach": [2, 7, 9], "2025": 2, "still": [2, 4, 7, 8, 13], "nearli": [2, 10], "much": [2, 3, 4, 5, 6, 7, 9, 10, 13, 15], "better": [2, 4, 6, 8, 9, 10, 11, 13], "extrem": [2, 9, 10], "satisfi": 2, "new": [2, 4, 6, 7, 8, 9, 12, 14, 15], "other": [2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "session": [2, 3], "origin": [2, 5, 6, 7, 8, 9, 10, 11, 13, 14], "thousand": 2, "back": [2, 5, 6, 7, 9, 10, 13], "dictionari": [2, 4, 6, 7, 9, 13], "user": [2, 9, 12, 13, 15], "add": [2, 6, 7, 9, 10, 11, 13, 15], "one": [2, 4, 5, 7, 9, 10, 11, 12, 13, 14], "understand": [2, 5, 8, 9, 10, 11, 13], "includ": [2, 3, 4, 7, 8, 9, 12, 13, 15], "nyear": 2, "regression_cst": 2, "33": [2, 5, 8], "34": [2, 5], "38": [2, 6], "35": [2, 5, 7, 8], "mooreslaw_regress": 2, "3264063536233": 2, "l": [2, 9, 11], "mooreslaw": 2, "tutori": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14], "md": [2, 13, 15, 17], "pair": [2, 10, 15], "_static": 2, "text_preprocess": 2, "py": [2, 3, 4, 7, 13], "ma": [2, 8], "nlp": [2, 9], "scratch": [2, 7, 9], "static_equilibrium": 2, "guid": [2, 3, 7, 8], "svd": [2, 13], "who_covid_19_sit_rep_time_seri": [2, 8], "x_y": [2, 4], "benefit": [2, 3, 6], "hundr": [2, 7], "shape": [2, 4, 5, 6, 7, 8, 9, 10, 14], "type": [2, 5, 6, 7, 8, 10, 13, 14], "precis": [2, 6], "float": [2, 4, 5, 7, 9, 13, 14], "prefer": [2, 5, 7, 13], "anoth": [2, 7, 10, 12, 14], "If": [2, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "limit": [2, 6, 7, 9], "like": [2, 3, 5, 6, 7, 8, 9, 10, 12, 13, 15], "prepar": [2, 6, 9, 14], "export": 2, "whose": [2, 9], "contain": [2, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14], "inform": [2, 6, 7, 8, 9, 10, 12, 13, 15], "singl": [2, 5, 7, 8, 11, 12], "tabular": 2, "inher": [2, 9], "dimension": [2, 4, 6, 7, 9, 11, 14, 16, 17], "organ": [2, 8, 13], "through": [2, 7, 8, 9, 10, 11, 13, 14], "fourth": [2, 8], "append": [2, 4, 6, 7, 9], "togeth": [2, 4, 9, 10, 11], "larger": [2, 6, 10, 11], "arrang": [2, 4], "write": [2, 4, 5, 6, 9, 10, 11, 14, 15], "971000000000000000e": 2, "03": [2, 5], "250000000000000000e": 2, "130514785642591278e": 2, "249999999999916326e": 2, "972000000000000000e": 2, "500000000000000000e": [2, 4], "590908400344571419e": 2, "181980515339620069e": 2, "973000000000000000e": 2, "238793840142739100e": 2, "500000000000097316e": 2, "conclus": [2, 4, 9, 11], "ha": [2, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15], "maintain": [2, 15], "consist": [2, 10, 11, 13, 15], "time": [2, 3, 5, 6, 7, 8, 9, 10, 11], "01": [2, 4, 5, 7, 9], "2019": [2, 5, 7], "revis": 2, "sai": [2, 10, 11, 13], "should": [2, 3, 4, 6, 7, 8, 9, 11, 12, 13, 14, 15], "hold": [2, 11], "until": [2, 7, 9], "enabl": [2, 7], "industri": [2, 14], "comput": [2, 5, 6, 7, 8, 9, 10, 11, 13, 14], "power": [2, 3, 6, 7, 9, 10, 15], "small": [2, 8, 9, 10, 13, 14], "insight": [2, 10], "incred": 2, "been": [2, 7, 8, 9, 13, 14], "over": [2, 5, 6, 7, 8, 9, 10, 14], "half": 2, "centuri": 2, "wikipedia": [2, 10], "articl": [2, 6, 7, 9], "access": [2, 4, 8, 10, 13, 15], "oct": 2, "2020": [2, 5, 7, 8], "04": [2, 5, 10], "19": [2, 5, 6, 7], "cram": 2, "compon": [2, 9, 11, 13, 14], "integr": 2, "circuit": 2, "electron": [2, 7], "magazin": 2, "retriev": [2, 9, 14], "april": 2, "courtland": 2, "rachel": [2, 6, 9], "man": 2, "ieee": 2, "spectrum": 2, "30": [2, 5, 14], "mar": 2, "sync": [3, 15], "json": 3, "markdown": [3, 12, 15], "drawback": 3, "numpi": [3, 5, 7, 8, 9, 10, 13, 14, 15], "store": [3, 5, 6, 7, 9], "disk": [3, 7], "veri": [3, 6, 7, 8, 9, 10, 13, 14, 15], "allow": [3, 9, 10, 15], "almost": 3, "ani": [3, 4, 5, 7, 8, 9, 11, 12], "input": [3, 5, 6, 7, 9, 10, 12, 13], "librari": [3, 4, 5, 6, 7, 11, 13], "hard": [3, 10], "see": [3, 4, 5, 6, 9, 10, 11, 13, 15, 17], "when": [3, 4, 6, 7, 9, 10, 11, 13, 14], "pull": [3, 15], "request": [3, 6, 15], "onli": [3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "raw": [3, 14], "lightweight": 3, "markup": 3, "languag": [3, 7, 9, 15], "Its": 3, "kei": [3, 4, 5, 6, 9], "goal": [3, 6, 7, 10, 11, 17], "readabl": [3, 8], "code": [3, 6, 7, 8, 9, 10, 13, 17], "open": [3, 4, 6, 7, 9, 12, 15, 17], "must": [3, 11, 13], "common": [3, 7, 9, 13, 15], "mark": [3, 9], "cell": [3, 6, 7, 9, 12, 13, 14, 15], "render": [3, 7, 15], "support": [3, 5, 6, 7, 9, 13], "varieti": 3, "restructur": [3, 17], "direct": [3, 7, 9, 11, 12], "sphinx": 3, "built": [3, 6, 7, 9, 10, 13, 16], "websit": [3, 6, 9, 12, 15], "local": [3, 6, 7, 9, 14, 17], "binder": [3, 7, 15, 17], "version": [3, 5, 8, 10, 13, 17], "simpl": [3, 5, 6, 7, 8, 9, 10, 11, 14], "exampl": [3, 6, 7, 8, 9, 10, 13, 14], "thing": [3, 4, 9, 10, 12], "explain": [3, 7, 10, 12], "calcul": [3, 7, 8, 9, 10, 11, 14], "side": 3, "cell_typ": 3, "metadata": 3, "sourc": [3, 7, 9, 11, 15, 17], "execution_count": 3, "stdout": 3, "output_typ": 3, "stream": [3, 6], "kernelspec": 3, "display_nam": 3, "python3": 3, "language_info": 3, "codemirror_mod": 3, "ipython": [3, 4, 7, 12, 13], "file_extens": 3, "mimetyp": 3, "nbconvert_export": 3, "pygments_lex": 3, "ipython3": 3, "nbformat": 3, "nbformat_minor": 3, "text_represent": 3, "extens": [3, 9], "format_nam": 3, "format_vers": 3, "jupytext_vers": 3, "shorter": [3, 7], "doe": [3, 5, 6, 8, 9, 10, 11, 13], "submit": 3, "also": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17], "To": [3, 4, 5, 6, 7, 8, 9, 10, 13, 14, 17], "instal": [3, 5, 7, 13], "pip": [3, 7], "conda": [3, 6, 7, 9, 14], "c": [3, 9, 10, 11, 13], "forg": 3, "lab": 3, "browser": 3, "launch": [3, 15, 17], "ask": [3, 9], "rebuild": [3, 13], "either": [3, 8, 9, 17], "With": [3, 5, 6, 7, 10], "interfac": [3, 7], "automat": [3, 6, 7, 8, 9], "right": [3, 6, 7, 8, 9, 10, 11, 12, 13, 17], "click": [3, 17], "choos": [3, 5, 6, 7, 8, 9, 10, 13], "saw": [3, 10], "both": [3, 4, 5, 6, 8, 9, 10, 11, 14, 15, 17], "editor": [3, 4], "vim": 3, "emac": 3, "continu": 3, "handl": [3, 6, 8, 9], "zip": [4, 6, 9, 10, 14], "comma": [4, 12], "workspac": 4, "compress": [4, 13], "serv": [4, 14], "most": [4, 5, 6, 7, 8, 9, 12, 13], "storag": 4, "binari": [4, 9, 10], "finish": [4, 6, 7, 9], "skill": [4, 12], "directori": [4, 7, 9, 15], "necessari": [4, 5, 7, 9, 10], "magic": 4, "arang": [4, 6, 8], "del": 4, "who": [4, 6, 7, 9, 12, 13, 15], "coupl": [4, 10], "let": [4, 5, 6, 7, 8, 9, 10, 11, 13, 14], "integ": [4, 6, 7, 8, 10, 13, 14], "9": [4, 5, 6, 7, 8, 9, 10, 14], "25": [4, 5, 8, 9], "36": 4, "49": [4, 5], "64": [4, 5, 9], "81": [4, 5], "x_axi": [4, 9], "y_axi": 4, "current": [4, 7, 8, 9, 10], "clear": [4, 8, 12, 15], "valu": [4, 6, 7, 8, 9, 10, 13, 14], "npy": [4, 9], "nativ": [4, 12], "cannot": [4, 8, 9], "standard": [4, 5, 6, 7, 8, 9, 12, 14], "spreadsheet": 4, "workspaec": 4, "info": [4, 7, 8], "modul": [4, 5, 6, 7, 8, 9, 12, 13, 14], "ho": 4, "kage": 4, "__init__": 4, "load_xi": 4, "ve": [4, 9, 14], "delet": [4, 8], "nice": 4, "scenario": [4, 9], "peopl": [4, 9, 13, 15], "program": [4, 9, 10], "mai": [4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 17], "separ": [4, 7, 8, 13], "result": [4, 5, 6, 9, 10, 11, 13], "compos": [4, 10], "ascii": [4, 7], "charact": [4, 8, 9], "filetyp": 4, "complex": [4, 7, 9, 10], "multipl": [4, 5, 6, 7, 9, 10, 13], "forc": [4, 7, 9, 11], "array_out": 4, "tell": [4, 5, 7, 12], "place": [4, 6, 9, 10, 12], "000000000000000000e": 4, "600000000000000000e": 4, "900000000000000000e": 4, "400000000000000000e": 4, "100000000000000000e": 4, "There": [4, 5, 7, 8, 9, 11], "featur": [4, 6, 9, 10, 13, 14, 17], "shoud": 4, "notic": [4, 7, 13, 15], "ignor": [4, 9], "re": [4, 7, 8, 9, 12, 14, 17], "skip": [4, 8, 9, 13], "number_of_header_lin": 4, "written": [4, 7, 10], "scientif": [4, 15], "notat": [4, 6, 10], "fmt": 4, "gener": [4, 5, 6, 7, 8, 9, 11, 12, 13], "preserv": [4, 8, 9], "int": [4, 6, 9], "y_squar": 4, "dtype": [4, 5, 6, 8, 10, 13, 14], "float64": [4, 6, 13, 14], "collabor": 4, "pickl": [4, 6], "futur": 4, "miss": [4, 5, 7], "genfromtext": 4, "about": [4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15], "io": [4, 7, 8, 9], "concept": [5, 6, 7, 9, 11], "interpret": [5, 14], "scipi": [5, 13, 14], "environ": [5, 6, 7, 9, 14, 15], "basic": [5, 6, 8, 9, 10, 13, 14], "popul": [5, 9], "deviat": [5, 7, 14], "etc": [5, 10], "promin": 5, "face": [5, 13], "immedi": 5, "effect": 5, "daili": [5, 9], "live": [5, 9, 10, 17], "covid": 5, "pandem": 5, "world": [5, 6, 7, 9, 13], "offer": [5, 7, 12], "rare": 5, "opportun": 5, "studi": 5, "human": [5, 7, 9], "activ": [5, 6, 7, 9], "lack": [5, 9], "thereof": 5, "worst": 5, "affect": [5, 6, 9, 14], "citi": 5, "dure": [5, 6, 7, 9, 12], "march": 5, "june": 5, "For": [5, 6, 7, 8, 9, 10, 13, 14, 15], "hour": [5, 7], "It": [5, 6, 7, 8, 9, 10, 11, 13, 14], "u": [5, 10, 11, 13, 14], "improv": [5, 7, 9], "due": [5, 7, 9, 11, 13], "intuit": [5, 10], "random": [5, 6, 7, 9], "default_rng": [5, 6, 7, 9], "stat": 5, "condens": 5, "hourli": 5, "level": [5, 6, 7, 9, 10, 12, 13], "variou": [5, 6, 7, 9, 10, 14], "station": 5, "across": [5, 9, 13], "avail": [5, 7, 8, 15], "31": [5, 8], "requir": [5, 7, 10, 11, 12], "few": [5, 6, 7, 8, 9], "particul": 5, "matter": 5, "nitrogen": 5, "dioxid": 5, "no2": 5, "ammonia": 5, "nh3": 5, "sulfur": 5, "so2": 5, "carbon": 5, "monoxid": 5, "co": [5, 9, 10], "ozon": 5, "o3": 5, "oxid": 5, "nox": 5, "nitric": 5, "NO": 5, "benzen": 5, "toluen": 5, "xylen": 5, "glimps": 5, "csv": [5, 8, 9], "datetim": 5, "pm2": 5, "pm10": 5, "05": [5, 14], "103": 5, "26": [5, 8], "305": 5, "46": 5, "94": [5, 13], "71": 5, "43": 5, "06": 5, "178": 5, "152": 5, "73": [5, 13], "13": [5, 6, 7, 8], "65": 5, "83": 5, "47": 5, "54": 5, "104": 5, "309": [5, 8], "74": 5, "66": 5, "08": 5, "27": [5, 6, 8], "02": 5, "69": 5, "106": [5, 11], "79": 5, "76": 5, "91": 5, "90": [5, 14], "314": 5, "48": [5, 6], "32": [5, 14], "45": 5, "59": [5, 6], "78": 5, "356": 5, "44": [5, 17], "22": [5, 6, 8], "41": [5, 10], "80": [5, 7], "372": 5, "23": [5, 8], "68": [5, 6], "92": 5, "15": [5, 6, 7, 8, 10, 13, 14], "39": 5, "62": [5, 6], "389": 5, "97": [5, 6, 13], "17": [5, 6, 7, 8], "56": [5, 10], "371": 5, "61": 5, "87": [5, 13], "84": 5, "29": [5, 8], "24": [5, 8], "37": 5, "07": 5, "77": 5, "361": 5, "88": 5, "63": 5, "86": 5, "96": 5, "377": 5, "purpos": [5, 6, 7, 11], "concern": [5, 9], "viz": 5, "particular": [5, 8, 9, 10, 13, 14], "pollutants_a": 5, "pollutants_b": 5, "slightli": [5, 10, 11, 13], "later": [5, 6, 8, 9], "pollutant_data": 5, "9528": 5, "might": [5, 8, 13, 15], "denot": [5, 10, 11], "nan": [5, 8], "quick": [5, 7, 10], "isfinit": 5, "true": [5, 6, 7, 8, 9, 13, 14], "successfulli": 5, "complet": [5, 6, 7, 10, 12, 13], "adopt": [5, 9], "central": 5, "control": [5, 6, 7, 9], "board": 5, "summar": [5, 6, 8, 9], "concentr": 5, "ip": 5, "ihi": 5, "ilo": 5, "bphi": 5, "bplo": 5, "cp": 5, "breakpoint": 5, "greater": [5, 9, 14], "equal": 5, "less": [5, 10, 11, 13, 14], "correspond": [5, 6, 8, 9, 10, 11, 13, 14], "help": [5, 6, 7, 9, 10, 11, 12, 13, 14, 15], "shown": [5, 6, 9, 12], "chart": 5, "arrai": [5, 6, 7, 9, 10, 11, 12, 16, 17], "51": 5, "101": 5, "201": 5, "301": 5, "401": 5, "501": 5, "121": [5, 13], "251": 5, "351": 5, "431": 5, "181": 5, "281": 5, "801": [5, 6], "1201": 5, "1801": 5, "381": 5, "1601": 5, "169": 5, "209": 5, "749": 5, "window": 5, "moving_mean": 5, "cumsum": 5, "achiev": 5, "sure": [5, 7, 8, 9, 12, 13, 15], "length": [5, 9, 11], "truncat": 5, "pollutants_b_8hr_avg": 5, "accord": [5, 7, 13], "pollutants_a_24hr_avg": 5, "ensur": [5, 6, 8, 9], "period": [5, 8], "def": [5, 6, 7, 9, 10], "ret": 5, "join": [5, 6, 8, 9, 14], "concaten": [5, 9], "wise": [5, 9], "subindic": 5, "relationship": [5, 6, 7], "compute_indic": 5, "fetch": [5, 9], "upper": [5, 9, 17], "lower": [5, 6, 9], "bound": [5, 10], "categori": [5, 9], "feed": [5, 6, 7], "pol": 5, "con": 5, "bp": 5, "inc": 5, "els": [5, 7, 11], "bl": 5, "bh": 5, "ih": 5, "il": 5, "elif": 5, "util": [5, 6, 7, 9, 11, 13], "simpli": [5, 14], "loop": [5, 6, 7, 9, 10, 13], "ourselv": [5, 8, 9, 10], "advantag": [5, 7, 10], "vcompute_indic": 5, "call": [5, 6, 7, 8, 9, 10, 12, 14], "stack": [5, 9, 13, 14], "sub_indic": 5, "which": [5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "aqi_arrai": 5, "31st": 5, "descript": 5, "decis": [5, 9, 10], "signific": [5, 7, 10], "after": [5, 6, 7, 8, 9, 10, 13, 14], "impos": 5, "tail": 5, "critic": [5, 7, 9], "datetime64": 5, "subset": [5, 6, 8, 10], "m8": 5, "h": [5, 7, 10, 13], "total": [5, 6, 7, 8, 9, 10], "commenc": [5, 9], "24th": [5, 8], "after_lock": 5, "24t00": 5, "before_lock": 5, "21t00": 5, "2376": 5, "approxim": [5, 7, 8, 10], "normal": [5, 6, 7, 9, 10, 11, 13, 14], "distribut": [5, 6, 7, 14], "size": [5, 6, 7, 9, 10, 13], "before_sampl": 5, "after_sampl": 5, "drawn": [5, 6, 9], "choic": [5, 6, 7, 9, 10, 12, 15], "rng": [5, 6, 7, 9], "replac": [5, 6, 8, 9, 12], "fals": [5, 6, 7, 8, 9, 14], "null": [5, 7], "altern": [5, 12, 13], "mathemat": [5, 9, 10], "h_": [5, 9], "mu_": 5, "evalu": [5, 6, 9], "sqrt": [5, 7, 9], "sigma": [5, 13, 14], "varianc": [5, 7], "t_test": 5, "diff": 5, "var": 5, "ddof": 5, "num": 5, "denom": 5, "len": [5, 6, 7, 8, 9], "divid": [5, 6, 10, 13], "t_valu": 5, "cdf": 5, "argument": [5, 8], "freedom": 5, "dof": 5, "p_valu": 5, "84285569186369": 5, "2266697972219608e": 5, "699": 5, "confid": 5, "95": [5, 13], "clearli": 5, "safe": 5, "reject": 5, "usual": [5, 6, 7, 12, 14, 15], "chosen": [5, 6, 9, 12], "accept": [5, 9, 15], "enough": [5, 10, 12], "evid": 5, "word": [5, 7, 9, 12], "fail": 5, "panda": [5, 9], "seri": 5, "provid": [5, 6, 7, 8, 9, 12, 14, 17], "ttest_rel": 5, "life": [5, 9, 15], "non": [5, 6, 7, 9, 13], "wilcoxon": 5, "host": [5, 14, 15], "characterist": [5, 9], "gentl": 5, "demonstr": [6, 7, 9, 11, 12], "feedforward": [6, 7], "hidden": [6, 7, 9], "layer": [6, 7, 9], "recogn": 6, "handwritten": 6, "artifici": [6, 7, 9], "resembl": 6, "multi": [6, 9, 14], "perceptron": [6, 9], "classifi": [6, 9], "60": [6, 10], "784": 6, "28x28": 6, "supervis": [6, 7, 9], "revers": [6, 7, 9], "mode": [6, 7], "differenti": [6, 7, 9], "score": 6, "adapt": [6, 7, 13], "andrew": [6, 7, 9], "trask": 6, "author": [6, 9], "permiss": 6, "reader": [6, 7, 9, 12, 14], "some": [6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "knowledg": [6, 7, 10, 14], "manipul": [6, 7, 9, 11, 13, 14], "algebra": [6, 7, 9, 11, 16, 17], "addit": [6, 7, 9, 12, 14], "familiar": [6, 7, 8, 9, 10, 12], "main": [6, 7, 12, 15, 17], "refresh": [6, 8, 9, 13, 14], "advis": 6, "paper": [6, 7, 14], "publish": [6, 7, 14], "yann": [6, 7], "lecun": [6, 7], "yoshua": [6, 7], "bengio": [6, 7], "geoffrei": [6, 7], "hinton": [6, 7], "regard": [6, 7], "pioneer": [6, 7], "field": [6, 7], "grokk": 6, "teach": [6, 12, 17], "urllib": 6, "url": [6, 9], "gzip": 6, "file": [6, 7, 8, 9, 12, 14, 15, 17], "decompress": 6, "well": [6, 7, 9, 11, 12, 14], "visual": [6, 7, 9, 10, 11, 14], "run": [6, 7, 8, 9, 12, 13, 14], "isol": [6, 7, 9, 11, 14], "virtualenv": [6, 7, 9, 14], "jupyterlab": [6, 7, 9, 14], "forget": [6, 9], "section": [6, 7, 9, 10, 12, 17], "download": [6, 8, 9, 14, 17], "split": [6, 9], "list": [6, 7, 9, 10, 12], "data_sourc": 6, "training_imag": 6, "idx3": 6, "ubyt": 6, "gz": 6, "test_imag": 6, "t10k": 6, "training_label": 6, "idx1": 6, "test_label": 6, "o": [6, 8, 9, 12, 14], "data_dir": 6, "_data": 6, "makedir": 6, "exist_ok": 6, "base_url": [6, 9], "github": [6, 7, 9, 15], "rossbar": 6, "mirror": 6, "blob": 6, "fname": 6, "fpath": 6, "path": [6, 8, 9, 14], "exist": [6, 11, 13, 15, 17], "resp": 6, "request_opt": 6, "raise_for_statu": 6, "succes": 6, "wb": 6, "fh": [6, 9], "chunk": 6, "iter_cont": 6, "chunk_siz": 6, "128": 6, "ndarrai": [6, 8, 13, 14], "need": [6, 7, 9, 13, 14], "reshap": [6, 7, 9], "multipli": [6, 7, 11, 13], "mnist_dataset": 6, "rb": [6, 9], "mnist_fil": 6, "frombuff": 6, "uint8": [6, 7, 13, 14], "offset": 6, "x_train": [6, 9], "x_test": [6, 9], "y_train": [6, 9], "y_test": [6, 9], "confirm": 6, "60000": 6, "10000": [6, 8], "And": [6, 7], "000th": 6, "999": [6, 9], "valid": [6, 8, 9, 13], "displai": [6, 7, 13, 14], "mnist_imag": 6, "59999": 6, "color": [6, 7, 8, 10, 11, 14], "map": [6, 7, 9, 10, 14], "grayscal": [6, 7, 13, 14], "black": 6, "imshow": [6, 7, 10, 13, 14], "cmap": [6, 7, 10, 13, 14], "grai": [6, 7, 13, 14], "num_exampl": 6, "seed": [6, 7], "147197952744": 6, "fig": [6, 9, 10, 11, 14], "subplot": [6, 10, 14], "sampl": [6, 7, 9, 14], "taken": [6, 9], "hand": [6, 10, 12], "arab": 6, "numer": [6, 7, 8, 9], "exact": 6, "randomli": [6, 7, 9], "quit": [6, 7, 10], "198": 6, "243": 6, "254": 6, "212": 6, "tensor": [6, 7], "multidimension": [6, 7], "convers": 6, "alreadi": [6, 9, 10], "challeng": [6, 7, 14], "procedur": [6, 10], "speed": [6, 7], "One": [6, 7, 8, 10], "practic": [6, 7, 9, 13], "nvidia": 6, "googl": [6, 7], "cloud": [6, 7, 10], "blog": [6, 7, 9, 17], "post": [6, 7, 9, 17], "255": [6, 13, 14], "interv": 6, "thu": [6, 12], "promot": 6, "train_label": 6, "reduc": [6, 7, 10], "training_sampl": 6, "test_sampl": 6, "success": [6, 7, 9], "01176471": 6, "07058824": 6, "49411765": 6, "53333333": 6, "68627451": 6, "10196078": 6, "65098039": 6, "96862745": 6, "49803922": 6, "emb": 6, "zero": [6, 7, 9, 10, 11, 12, 13], "As": [6, 8, 10, 11, 12, 13, 14], "posit": [6, 7, 9, 10], "similar": [6, 7, 9, 10, 11, 14], "one_hot_encod": 6, "one_hot_label": 6, "none": [6, 7, 9], "astyp": [6, 7, 14], "examin": [6, 8], "yourself": [6, 9, 12], "high": [6, 7, 9, 14, 17], "refer": [6, 7, 9, 12, 13, 14], "research": [6, 7, 9, 10, 14], "public": [6, 9, 14], "afterward": [6, 9], "construct": [6, 9], "identifi": [6, 8, 9, 14], "certain": [6, 7, 9, 10, 11, 14], "accuraci": [6, 9], "filter": [6, 8], "represent": [6, 9], "target": [6, 9], "gradient": [6, 7, 9], "deriv": [6, 9, 10], "loss": [6, 7, 9], "backward": [6, 7, 9], "middl": 6, "weight": [6, 7, 9], "dot": [6, 7, 9, 13], "simplic": [6, 7, 9, 14], "bia": [6, 9], "omit": 6, "adjust": [6, 7, 10], "fine": [6, 7, 8, 9, 12], "tune": [6, 7, 9], "optim": [6, 7, 9, 11], "descent": [6, 7, 9], "highest": 6, "lowest": 6, "capabl": [6, 9], "appli": [6, 7, 8, 9, 10, 11], "rectifi": [6, 7], "unit": [6, 7, 9, 11], "relu": [6, 7], "regular": [6, 8, 9, 17], "techniqu": [6, 7, 9, 14], "prevent": [6, 7, 9], "overfit": [6, 9], "dropout": 6, "dilut": 6, "truth": [6, 9], "final_layer_output": 6, "image_label": 6, "metric": 6, "abil": [6, 9], "hasn": 6, "seen": [6, 9, 11], "previous": [6, 7, 10], "layer_0": 6, "layer_1": 6, "previou": [6, 7, 9, 13], "weights_1": 6, "layer_2": 6, "ingest": 6, "repeat": [6, 7, 13], "weights_2": 6, "end": [6, 7, 9, 11, 12, 14], "signal": [6, 7], "technic": 6, "matric": [6, 11, 13, 14], "chain": [6, 9], "rule": [6, 7, 9, 13], "iter": [6, 9, 10, 12], "epoch": [6, 9], "cycl": [6, 9, 10], "reflect": [6, 9, 12], "maxim": [6, 7], "cover": [6, 7, 8, 15], "ll": [6, 7, 9, 13, 14, 15], "884736743": 6, "otherwis": [6, 7, 10, 11, 13, 14, 15], "relu2deriv": 6, "hyperparamet": [6, 9], "learning_r": [6, 7, 9], "magnitud": [6, 7, 11], "overcorrect": [6, 7], "neg": [6, 7, 8, 9, 13], "longer": [6, 7, 9], "computation": 6, "intens": [6, 13, 14], "task": [6, 7], "low": [6, 14], "meaning": 6, "hidden_s": 6, "pixels_per_imag": 6, "establish": [6, 9], "num_label": 6, "indic": [6, 7, 8, 9, 13], "occur": [6, 9], "005": 6, "100": [6, 7, 9, 10, 12, 14], "experi": [6, 7, 9, 10, 11, 13], "track": [6, 8, 10], "accur": [6, 9], "store_training_loss": 6, "store_training_accurate_pr": 6, "store_test_loss": 6, "store_test_accurate_pr": 6, "j": [6, 10, 13], "training_loss": [6, 9], "training_accurate_predict": 6, "accordingli": 6, "dropout_mask": 6, "increment": 6, "argmax": 6, "layer_2_delta": 6, "layer_1_delta": 6, "outer": [6, 7], "unlik": [6, 7, 9, 12], "modifi": [6, 8, 9], "batch": [6, 7, 9, 14], "manner": 6, "elimin": [6, 8, 13], "test_loss": 6, "test_accurate_predict": 6, "3f": 6, "898": 6, "397": 6, "680": 6, "582": 6, "656": 6, "633": 6, "607": 6, "641": 6, "592": 6, "569": 6, "679": 6, "556": [6, 8], "541": 6, "708": 6, "534": [6, 8], "732": 6, "526": 6, "729": 6, "515": 6, "715": 6, "739": 6, "495": 6, "748": 6, "487": 6, "753": 6, "483": 6, "769": 6, "486": 6, "747": 6, "473": 6, "776": 6, "752": 6, "460": 6, "788": 6, "462": 6, "762": 6, "465": 6, "767": 6, "443": 6, "456": 6, "775": 6, "448": 6, "795": 6, "455": 6, "772": 6, "438": 6, "787": 6, "453": 6, "778": 6, "446": [6, 8], "791": 6, "450": 6, "779": 6, "441": 6, "452": 6, "437": 6, "786": 6, "436": 6, "794": 6, "449": 6, "433": 6, "774": 6, "429": 6, "785": 6, "mani": [6, 7, 8, 9, 10, 12, 13, 14], "minut": [6, 9], "machin": [6, 7, 9, 12, 14], "wait": [6, 15], "reset": [6, 7], "runtim": 6, "instanc": [6, 7, 9], "epoch_rang": 6, "training_metr": 6, "asarrai": 6, "test_metr": 6, "nrow": [6, 14], "ncol": [6, 14], "figsiz": [6, 10, 14], "item": [6, 7, 9], "capit": [6, 12], "set_titl": [6, 10, 14], "set_xlabel": [6, 9, 10], "decreas": 6, "reach": [6, 7], "somewhat": 6, "plausibl": 6, "cross": [6, 7, 11, 12], "entropi": [6, 7], "possibl": [6, 7, 8, 13, 15], "solut": [6, 7, 8, 9], "discuss": [6, 7, 9], "just": [6, 8, 9, 10, 11, 12, 13, 14], "further": [6, 7, 9], "enhanc": [6, 7, 9], "mixtur": [6, 9], "mini": 6, "alter": [6, 9], "deeper": [6, 9], "softmax": [6, 7], "convolut": [6, 7, 14], "earli": [6, 9], "stop": [6, 7, 9, 10], "unbias": [6, 9], "valuat": 6, "faster": [6, 9, 10], "stabl": [6, 9, 11], "howev": [6, 7, 8, 9, 11, 13], "applic": [6, 7, 8, 9, 13, 15, 17], "special": [6, 7, 9, 13], "framework": [6, 7, 9, 12], "pytorch": [6, 7, 9], "jax": [6, 7, 9], "tensorflow": [6, 7, 9], "mxnet": [6, 7, 9], "api": [6, 7, 9, 10], "gpu": [6, 7, 9], "develop": [6, 7, 9, 12, 17], "think": [6, 8], "potenti": 6, "issu": [6, 7, 8, 9, 17], "avoid": [6, 8], "mitig": [6, 9], "those": [6, 8, 9, 11, 13, 14], "document": [6, 7, 8, 12, 13, 15, 17], "card": 6, "margaret": 6, "mitchel": 6, "et": [6, 7], "al": [6, 7], "datasheet": 6, "timnit": 6, "gebru": 6, "talk": [6, 9], "pratyusha": [6, 9], "kalluri": [6, 9], "resourc": [6, 9], "thoma": [6, 9], "radic": [6, 9], "ai": [6, 7, 9], "podcast": [6, 9], "credit": [6, 12], "hsjeong5": 6, "without": [6, 8, 9, 10, 11, 13], "extern": 6, "test": [7, 9, 13], "licens": [7, 12, 15], "underli": [7, 9], "gym": 7, "atari": 7, "footprint": 7, "implement": [7, 8, 9, 14], "plai": [7, 9, 10], "game": 7, "screen": [7, 14], "go": [7, 8, 9, 10, 12, 13, 15], "player": 7, "racket": 7, "tenni": 7, "move": [7, 9, 11, 13], "down": [7, 8, 9, 12], "tri": 7, "hit": 7, "ball": 7, "oppon": 7, "touch": 7, "goe": [7, 13], "past": [7, 9], "shot": 7, "win": [7, 12], "andrej": 7, "karpathi": 7, "bootcamp": 7, "uc": 7, "berkelei": 7, "mechan": [7, 9, 11], "theori": [7, 10, 13], "openai": 7, "while": [7, 9, 10, 12, 13], "simul": 7, "try": [7, 8, 9, 10, 13, 15], "literatur": 7, "link": [7, 10, 12], "conveni": [7, 9, 10, 14], "free": [7, 12], "colaboratori": 7, "tpu": 7, "acceler": [7, 11], "trial": 7, "interact": [7, 8, 9, 11, 15], "gain": [7, 10], "action": 7, "receiv": 7, "proce": [7, 13], "happen": [7, 9, 10, 13], "deem": 7, "present": [7, 9, 12, 14, 15], "what": [7, 9, 13, 15], "overal": 7, "detail": [7, 9, 10, 12, 13, 14, 15], "introductori": 7, "book": [7, 9], "richard": 7, "sutton": 7, "barton": 7, "concis": 7, "remain": [7, 10, 11], "finit": 7, "horizon": 7, "explor": [7, 10], "exploit": 7, "feedback": 7, "partial": 7, "instead": [7, 8, 9, 11, 13, 14, 15], "cumul": [7, 8], "known": [7, 10, 14], "estim": [7, 8, 14], "visit": [7, 9, 10], "probabl": [7, 9], "versu": 7, "often": [7, 9, 10], "99": 7, "sequenc": [7, 9], "sometim": [7, 8, 10], "trajectori": 7, "yield": [7, 10], "algorithm": [7, 9, 14], "belong": [7, 9, 14], "famili": [7, 9], "typic": [7, 12], "wide": 7, "ascent": 7, "object": [7, 11, 14], "monitor": 7, "wrapper": 7, "instanti": [7, 9], "env": 7, "v0": 7, "action_spac": 7, "get_action_mean": 7, "leftfir": 7, "rightfir": 7, "noop": 7, "fire": 7, "mp4": 7, "wrap": [7, 10], "around": [7, 8, 9, 10, 14], "kind": [7, 8, 9, 12, 13, 15], "rather": [7, 10, 12], "digest": 7, "fed": 7, "deepmind": 7, "dqn": 7, "210x160": 7, "encod": [7, 8], "box": [7, 14], "observation_spac": 7, "discret": 7, "fix": [7, 15], "class": [7, 9, 10, 17], "ed": 7, "core": 7, "random_fram": 7, "rgb_arrai": 7, "400": [7, 10], "80x80x1": 7, "ravel": [7, 10], "flatten": 7, "helper": [7, 9], "frame_preprocess": 7, "observation_fram": 7, "crop": 7, "195": [7, 11, 14], "downsampl": 7, "remov": [7, 8, 9, 13, 14], "144": [7, 13], "eras": 7, "109": 7, "earlier": [7, 9], "80x80": 7, "preprocessed_random_fram": 7, "product": [7, 11, 12], "send": 7, "12288743": 7, "d": [7, 9, 11, 15], "neuron": 7, "200": [7, 14], "empti": [7, 11], "xavier": [7, 9], "standard_norm": [7, 9], "w1": 7, "w2": [7, 9], "outlin": [7, 15], "policy_forward": 7, "sigmoid": [7, 9], "logit": 7, "p": [7, 10], "exponenti": [7, 9], "policy_backward": 7, "eph": 7, "epdlogp": 7, "dw2": [7, 9], "dh": 7, "dw1": 7, "epx": 7, "intermedi": [7, 9], "sever": [7, 9], "dlogp": 7, "dr": 7, "manual": 7, "full": [7, 13], "vstack": [7, 9], "stage": [7, 9], "toward": [7, 9, 14], "rmsprop": 7, "decai": [7, 9], "decay_r": 7, "zeros_lik": 7, "buffer": 7, "grad_buff": 7, "k": [7, 9, 13], "v": [7, 8, 9, 11, 13], "rmsprop_cach": 7, "discount_reward": 7, "gamma": 7, "r": [7, 8, 9, 10, 11, 13], "discounted_r": 7, "running_add": 7, "pseudocod": 7, "predefin": [7, 9], "sign": 7, "lead": [7, 10], "appropri": [7, 8, 10, 13, 15], "setup": [7, 13], "demo": 7, "hardwar": [7, 13], "cpu": 7, "beyond": [7, 10], "comparison": 7, "took": [7, 9, 10], "max_episod": 7, "dictat": 7, "At": [7, 12], "batch_siz": 7, "1e": [7, 9], "debug": 7, "prev_x": 7, "running_reward": 7, "reward_sum": 7, "episode_numb": 7, "motion": 7, "update_input": 7, "cur_x": 7, "tag": [7, 9], "output_scrol": 7, "cours": [7, 10, 12, 13], "aprob": 7, "uniform": [7, 9], "cach": [7, 9], "recal": [7, 13], "done": [7, 9, 10, 11, 12, 13], "epr": 7, "discounted_epr": 7, "std": 7, "grad": [7, 9], "henc": [7, 9], "throw": 7, "traini": 7, "shut": 7, "uncom": 7, "doesn": [7, 8, 9, 12], "span": 7, "reason": [7, 10, 13, 15], "simplifi": [7, 11], "everyth": 7, "autodiff": 7, "autograd": 7, "lot": [7, 10], "problem": [7, 8, 9, 11], "ineffici": 7, "account": [7, 8, 9, 14], "larg": [7, 9, 10], "amount": [7, 10, 14], "million": 7, "node": [7, 9], "being": [7, 9, 11, 12, 17], "assist": 7, "alwai": [7, 9, 13], "advanc": [7, 10], "sensit": [7, 9], "resolv": 7, "self": [7, 9, 17], "proxim": 7, "ppo": 7, "john": [7, 13], "schulman": 7, "month": 7, "dota": 7, "competit": [7, 14], "Of": [7, 10, 13], "smaller": [7, 10, 11], "fast": [7, 8], "matthew": 7, "botvinick": 7, "sam": 7, "ritter": 7, "jane": 7, "wang": 7, "zeb": 7, "kurth": 7, "nelson": 7, "charl": 7, "blundel": 7, "demi": 7, "hassabi": 7, "educ": [7, 9, 17], "materi": [7, 14, 15, 17], "spin": 7, "lectur": [7, 13, 14], "taught": 7, "practition": 7, "david": 7, "silver": 7, "ucl": 7, "recognit": 7, "translat": 7, "classif": [7, 9], "explicit": 7, "wrong": [7, 8], "reli": 7, "had": [7, 9, 13], "major": 7, "2013": 7, "alexnet": 7, "breakthrough": 7, "vision": [7, 9, 14], "volodymyr": 7, "mnih": 7, "colleagu": 7, "abl": [7, 8, 10, 12, 13], "classic": 7, "arcad": 7, "Their": 7, "q": 7, "replai": 7, "off": [7, 14], "alphago": 7, "mont": 7, "carlo": 7, "tree": [7, 17], "search": [7, 14], "2000": [7, 9], "influenc": [7, 9, 10], "ronald": 7, "william": 7, "1992": 7, "1986": 7, "1990": 7, "gerald": 7, "tesauro": 7, "tempor": 7, "td": 7, "gammon": 7, "1995": 7, "ibm": 7, "backgammon": 7, "ji": 7, "lin": 7, "robot": 7, "1993": 7, "solv": 7, "alphazero": 7, "master": 7, "chess": 7, "shogi": 7, "2018": 7, "alphastar": 7, "starcraft": 7, "actor": 7, "imit": 7, "distil": 7, "oriol": 7, "vinyal": 7, "battlefield": 7, "art": [7, 9], "dice": 7, "why": [7, 9, 17], "popular": [7, 9], "remot": [7, 9], "helicopt": 7, "pieter": 7, "abbeel": 7, "2006": 7, "virtual": 7, "safer": 7, "implic": 7, "neurosci": 7, "tool": [7, 11], "docker": 7, "freeglut3": 7, "dev": 7, "xvfb": 7, "x11": 7, "apt": 7, "txt": [7, 9], "configur": 7, "yml": [7, 15], "under": [7, 9, 11, 12, 13, 14], "channel": [7, 13, 14], "pyvirtualdisplai": 7, "anyth": [7, 12], "ffmpeg": 7, "pyopengl": 7, "ipythondisplai": 7, "html": [7, 9], "400x300": 7, "visibl": 7, "300": 7, "echo": 7, "star": 7, "sy": 7, "glob": 7, "base64": 7, "show_any_video": 7, "mp4video": 7, "mp4list": 7, "b64encod": 7, "alt": 7, "autoplai": 7, "height": 7, "400px": 7, "src": 7, "decod": 7, "gameplai": 7, "insid": [7, 8, 9, 10, 12], "instruct": [7, 10], "linux": 7, "maco": 7, "termin": 7, "offici": [7, 8, 9], "deal": [8, 9], "decid": [8, 9], "invalid": 8, "entri": [8, 11, 13, 15], "flag": 8, "unwant": 8, "somehow": 8, "nomask": 8, "associ": 8, "whether": [8, 9], "said": 8, "unmask": 8, "maskedarrai": 8, "datatyp": 8, "fill_valu": 8, "order": [8, 10, 11, 12, 13], "situat": 8, "copi": [8, 10, 17], "own": [8, 9, 13, 14, 17], "bug": 8, "possibli": 8, "compact": 8, "wish": [8, 9, 13], "exclud": 8, "Not": [8, 12], "specif": [8, 9, 10], "univers": [8, 9, 10, 13, 14], "ufunc": 8, "kaggl": [8, 14], "outbreak": 8, "begin": [8, 9, 10, 11, 12, 14], "late": 8, "getcwd": 8, "folder": [8, 9, 14], "filepath": 8, "filenam": 8, "mostli": 8, "seventh": 8, "summari": [8, 12], "extend": 8, "rightmost": 8, "lowermost": 8, "dai": 8, "record": [8, 9], "gather": 8, "genfromtxt": 8, "select": [8, 10, 13, 15, 17], "extract": [8, 9, 13, 14], "skip_head": 8, "portion": [8, 13], "str_": 8, "max_row": 8, "utf": 8, "sig": 8, "geograph": 8, "six": [8, 11], "nbcase": 8, "int_": 8, "string": [8, 9], "whole": [8, 9], "tick": 8, "transpos": [8, 13], "dash": 8, "selected_d": 8, "xtick": 8, "jan": 8, "feb": 8, "graph": [8, 11, 13], "strang": 8, "januari": 8, "februari": 8, "1st": 8, "know": [8, 9, 12, 13], "region": [8, 10, 14], "countri": [8, 9], "provinc": 8, "china": 8, "sens": [8, 13], "group": [8, 9], "totals_row": 8, "china_tot": 8, "247": 8, "288": 8, "817": 8, "11820": 8, "14410": 8, "17237": 8, "someth": [8, 13], "suppos": 8, "258": 8, "270": 8, "375": 8, "7153": 8, "9074": 8, "11177": 8, "520": 8, "604": 8, "683": 8, "422": 8, "493": 8, "566": 8, "attempt": [8, 9], "obvious": 8, "interfer": 8, "nbcases_ma": 8, "masked_valu": 8, "masked_arrai": 8, "mention": [8, 10], "attribut": 8, "mind": [8, 9, 13], "hubei": 8, "china_mask": 8, "278": 8, "574": 8, "835": 8, "11821": 8, "14411": 8, "17238": 8, "999999": 8, "directli": 8, "seem": [8, 9, 10], "agre": 8, "mainland": 8, "hong": 8, "kong": 8, "taiwan": 8, "macau": 8, "unspecifi": 8, "mayb": 8, "nonzero": 8, "correctli": 8, "308": 8, "440": 8, "11791": 8, "14380": 8, "17205": 8, "focus": [8, 9, 14], "mischaracter": 8, "evolut": 8, "curv": [8, 9], "interpol": 8, "int64": 8, "logic": 8, "negat": 8, "u7": 8, "cubic": 8, "line2d": 8, "0x7f1b1c4e7970": 8, "elabor": 8, "unavail": 8, "28th": 8, "ytick": 8, "17500": 8, "ncubic": 8, "substitut": 8, "far": [8, 14], "usemask": 8, "topic": [8, 9], "found": [8, 10, 13, 17], "hardmask": 8, "softmask": 8, "ensheng": 8, "dong": 8, "hongru": 8, "du": 8, "lauren": 8, "gardner": 8, "web": [8, 9], "dashboard": 8, "lancet": 8, "infecti": 8, "diseas": 8, "volum": 8, "page": [8, 9, 10, 12, 13], "533": 8, "issn": 8, "1473": 8, "3099": 8, "doi": [8, 9], "org": 8, "1016": 8, "s1473": 8, "30120": 8, "social": 9, "relev": [9, 11], "acquir": 9, "recurr": 9, "piec": 9, "50": [9, 10, 13], "movi": 9, "sequenti": 9, "todai": [9, 10], "everydai": 9, "discriminatori": 9, "fair": 9, "consider": [9, 10], "consum": 9, "throughout": [9, 10], "question": [9, 10, 12], "pipelin": 9, "calculu": 9, "recommend": 9, "d2l": 9, "datafram": 9, "pooch": 9, "pointer": 9, "tend": [9, 10], "histor": 9, "skew": 9, "imbalanc": 9, "protect": 9, "bias": 9, "outcom": 9, "absenc": 9, "anonym": 9, "trevisan": 9, "reilli": 9, "care": [9, 13], "along": [9, 12, 14], "person": 9, "routin": 9, "impair": 9, "medic": [9, 14], "emot": 9, "pain": 9, "chronic": 9, "ill": 9, "financi": 9, "incom": 9, "welfar": 9, "payment": 9, "discrimin": 9, "abus": 9, "prais": 9, "healthcar": [9, 14], "servic": 9, "suicid": 9, "especi": [9, 14], "compromis": 9, "safeti": 9, "fingerprint": 9, "voic": 9, "difficult": 9, "consent": 9, "platform": 9, "necess": 9, "pseudonym": 9, "curat": [9, 15], "activist": 9, "former": 9, "latter": 9, "maa": 9, "eas": 9, "zenodo": 9, "usag": 9, "commerci": 9, "aforement": 9, "pertain": [9, 16], "globe": 9, "climat": 9, "femin": 9, "lgbtqa": 9, "racism": 9, "newspap": 9, "nation": [9, 14], "archiv": 9, "cite": 9, "transcrib": 9, "speaker": 9, "demograph": 9, "focu": [9, 10, 14], "barnard": 9, "colleg": 9, "leymah": 9, "gbowe": 9, "un": 9, "youth": 9, "malala": 9, "yousafzai": 9, "guardian": 9, "remark": 9, "unga": 9, "racial": 9, "linda": 9, "greenfield": 9, "mission": 9, "dare": 9, "greta": 9, "thunberg": 9, "nbc": 9, "silenc": 9, "severn": 9, "suzuki": 9, "earth": 9, "charter": 9, "hope": 9, "harvei": 9, "milk": 9, "museum": 9, "boston": 9, "thrive": 9, "confer": [9, 14], "ellen": 9, "huffpost": 9, "dream": 9, "martin": 9, "luther": 9, "king": 9, "marshal": 9, "crucial": [9, 11], "dive": 9, "brief": 9, "undertak": 9, "clean": 9, "denois": 9, "unhelp": 9, "nois": [9, 14], "lowercas": 9, "bracket": [9, 12], "sentenc": [9, 12], "cluster": 9, "embed": 9, "space": [9, 11], "glove": 9, "unsupervis": 9, "stanford": 9, "global": 9, "corpu": 9, "edu": 9, "project": [9, 10, 11, 17], "billion": 9, "token": 9, "840": 9, "exhibit": 9, "stereotyp": 9, "gender": 9, "trace": 9, "occup": 9, "problemat": 9, "nearest": 9, "de": [9, 14], "cs224n": 9, "1184": 9, "6835575": 9, "pdf": 9, "pd": 9, "zipfil": 9, "textpreprocess": 9, "txt_to_df": 9, "str": 9, "imdb_train": 9, "in_fil": 9, "strip": 9, "df": [9, 10], "reset_index": 9, "drop": 9, "unzipp": 9, "to_extract": 9, "outdir": 9, "output_fil": 9, "cleantext": 9, "text_column": 9, "remove_stopword": 9, "remove_punc": 9, "hous": 9, "bool": [9, 14], "stopword": 9, "punctuat": 9, "symbol": 9, "gist": 9, "sebleier": 9, "554280": 9, "am": 9, "he": 9, "her": 9, "herself": 9, "him": 9, "himself": 9, "m": [9, 11, 13], "itself": [9, 10], "me": 9, "my": 9, "myself": 9, "nor": 9, "ought": 9, "she": 9, "theirs": 9, "themselv": [9, 10], "too": 9, "whom": 9, "yourselv": 9, "remove_tag": 9, "sub": 9, "data_without_stopword": 9, "clean_": 9, "cw": 9, "regex": 9, "to_numpi": 9, "sent_tokenis": 9, "w": [9, 11], "pop": 9, "sentences_clean": 9, "word_tokenis": 9, "loadglovemodel": 9, "emb_path": 9, "dict": 9, "glovemodel": 9, "splitlin": 9, "wordembed": 9, "text_to_para": 9, "para_len": 9, "paragraph": 9, "no_para": 9, "ceil": 9, "aggreg": 9, "divmod": 9, "agg_sent": 9, "para": 9, "sent": 9, "scientist": 9, "registri": 9, "system": [9, 10, 11, 12], "os_cach": 9, "hash": 9, "uncorrupt": 9, "6a38ea6ab5e1902cc03f6b9294ceea5e8ab985af991f35bcabd301a08ea5b3f0": 9, "imdb_test": 9, "7363ef08ad996bf4233b115008d6d7f9814b7cc0f4d13ab570b938701eadefeb": 9, "6b": 9, "50d": 9, "617afb2fe6cbd085c235baf7a465b96f4112bd7f7ccb2b2cbd649fed9cbcf2fb": 9, "custom": 9, "5281": 9, "4117827": 9, "textproc": 9, "train_df": 9, "test_df": 9, "occurr": 9, "ahead": [9, 13], "refrain": 9, "speech_data_path": 9, "speech_df": 9, "read_csv": 9, "x_pred": 9, "unzip": 9, "act": [9, 11], "300d": 9, "emb_matrix": 9, "plain": 9, "suitabl": 9, "multilay": 9, "mlp": 9, "straight": 9, "never": [9, 12], "share": [9, 12, 16, 17], "moreov": 9, "vari": [9, 10, 11], "rnn": 9, "regardless": [9, 13], "retain": [9, 13], "blow": 9, "connect": 9, "shortcom": 9, "vanish": 9, "address": 9, "gif": [9, 14], "rectangl": [9, 13], "respons": [9, 11], "rememb": [9, 15], "via": [9, 14], "c_": 9, "dedic": 9, "gate": 9, "initialise_param": 9, "hidden_dim": 9, "input_dim": 9, "wf": 9, "bf": 9, "wi": 9, "bi": [9, 10], "candid": 9, "wcm": 9, "bcm": 9, "wo": 9, "bo": 9, "b2": 9, "forgotten": 9, "similarli": [9, 11, 13], "stai": 9, "fmin": 9, "ab": [9, 10, 11], "old": 9, "attent": 9, "fp_forget_g": 9, "concat": 9, "ft": 9, "govern": 9, "tanh": 9, "regul": 9, "flow": 9, "fp_input_g": 9, "cmt": 9, "fp_output_g": 9, "next_c": 9, "ot": 9, "next_h": 9, "firstli": 9, "fp_fc_layer": 9, "last_h": 9, "z2": 9, "a2": 9, "forward_prop": 9, "x_vec": 9, "time_step": 9, "initialis": 9, "prev_h": 9, "prev_c": 9, "lstm_valu": 9, "fc_valu": 9, "happi": 9, "xt": 9, "lstm_cach": 9, "fc_cach": 9, "accumul": [9, 13], "straightforward": [9, 12, 14], "nonetheless": 9, "initialize_grad": 9, "param": 9, "behind": [9, 10], "suggest": [9, 12, 14], "christina": 9, "kouridi": 9, "bp_forget_g": 9, "dh_prev": 9, "dc_prev": 9, "dft": 9, "dl": 9, "da2": 9, "dz2": 9, "dwf": 9, "dbf": 9, "keepdim": 9, "dh_f": 9, "bp_input_g": 9, "dit": 9, "dcmt": 9, "dwi": 9, "dwcm": 9, "dbi": 9, "dbcm": 9, "dhi": 9, "dh_i": 9, "dhcm": 9, "dh_cm": 9, "bp_output_g": 9, "dwo": 9, "dbo": 9, "dho": 9, "dh_o": 9, "bp_fc_layer": 9, "db2": 9, "dh_last": 9, "backprop": 9, "relat": [9, 10, 11, 13], "prev": 9, "adam": 9, "stochast": 9, "recent": [9, 12], "broader": 9, "beta1": 9, "beta2": 9, "converg": [9, 10], "robust": 9, "initialise_mav": 9, "update_paramet": 9, "001": 9, "impli": 9, "poorli": 9, "behav": 9, "likelihood": 9, "loss_f": 9, "epsilon": 9, "divis": [9, 12], "squeez": 9, "testing_loss": 9, "train_j": 9, "y_pred": 9, "test_j": 9, "mean_train_cost": 9, "mean_test_cost": 9, "diagnos": 9, "add_subplot": [9, 11], "111": [9, 13], "set_ylabel": [9, 10], "break": [9, 11], "isfil": 9, "allow_pickl": 9, "enumer": [9, 10], "pred": 9, "para_token": 9, "sent_prob": 9, "threshold": [9, 10, 14], "pos_indic": 9, "neg_indic": 9, "pos_para": 9, "neg_para": 9, "no_pos_para": 9, "no_neg_para": 9, "percentag": 9, "pos_perc": 9, "bar": 9, "carri": 9, "priorit": 9, "clariti": 9, "neighbor": 9, "context": [9, 14], "led": 9, "encourag": [9, 10, 13], "tweak": [9, 10], "easi": [9, 12], "primarili": 9, "express": [9, 10, 12], "ironi": 9, "sarcasm": 9, "humor": 9, "media": 9, "abbrevi": 9, "neatli": 9, "convei": [9, 10, 11], "ag": 9, "grow": [9, 10], "induct": 9, "essenti": 9, "contextu": 9, "aris": [9, 10], "societ": 9, "creep": 9, "amplifi": [9, 12], "femal": 9, "male": 9, "awar": [9, 13], "demand": 9, "drill": 9, "ethnic": 9, "hopefulli": 9, "explod": [9, 10], "bidirect": 9, "nowadai": 9, "tackl": 9, "plagu": 9, "transfer": 9, "parallel": 9, "lengthi": 9, "ture": 9, "institut": [9, 14], "www": 9, "ac": [9, 11], "uk": 9, "intellig": 9, "shift": 9, "beauti": 10, "compel": 10, "oftentim": 10, "rel": [10, 14], "coastlin": 10, "seashel": 10, "fern": 10, "antenna": 10, "realli": 10, "began": 10, "truli": 10, "appreci": 10, "1970": 10, "graphic": [10, 12], "accident": 10, "discoveri": 10, "beno\u00eet": 10, "stumbl": 10, "mystifi": 10, "possess": 10, "ever": 10, "effici": 10, "variat": 10, "uniqu": 10, "make_axis_locat": 10, "mpl_toolkit": 10, "axes_grid1": 10, "make_axes_locat": 10, "elementari": 10, "expon": 10, "sin": 10, "shortli": 10, "behaviour": 10, "2j": 10, "4j": 10, "shrink": 10, "plane": 10, "mesh": 10, "meshgrid": 10, "1j": 10, "greatli": 10, "absolut": 10, "modulu": 10, "3d": [10, 11], "scatterplot": 10, "imaginari": 10, "set_zlabel": 10, "rough": [10, 15], "closest": 10, "0i": 10, "lose": 10, "impress": 10, "mundan": 10, "meet": [10, 17], "ey": 10, "exot": 10, "z_1": 10, "4i": 10, "z_2": 10, "z_3": 10, "1i": 10, "selected_valu": 10, "41j": 10, "num_it": 10, "colorbar": 10, "bottom": [10, 12], "surpris": 10, "hypothesi": 10, "prime": 10, "chaotic": 10, "jump": 10, "despit": [10, 11], "tini": 10, "diverg": 10, "although": [10, 13], "uncertain": 10, "surpass": 10, "distanc": [10, 11, 14], "doom": 10, "radiu": [10, 11], "quantifi": 10, "answer": [10, 12], "pose": 10, "talli": 10, "divergence_r": 10, "diverge_len": 10, "conv_mask": 10, "confus": 10, "glanc": 10, "quicker": 10, "suffici": 10, "unbeat": 10, "condition": 10, "resort": 10, "colour": 10, "im": 10, "extent": 10, "cax": 10, "append_ax": 10, "pad": 10, "stun": 10, "yellow": 10, "purpl": 10, "pattern": 10, "border": 10, "fascin": 10, "realiz": 10, "fill": [10, 12], "likewis": 10, "boundari": 10, "greenish": 10, "wider": 10, "reus": 10, "rest": 10, "small_mesh": 10, "plot_fract": 10, "rainbow": 10, "newli": 10, "kwarg": 10, "pi": [10, 14], "eleg": 10, "plasma": 10, "75": 10, "greens_r": 10, "famou": 10, "equival": 10, "infinit": 10, "renam": 10, "complex128": 10, "hot": [10, 14], "general_julia": 10, "cool": 10, "emerg": 10, "stick": 10, "rais": 10, "base_degre": 10, "tight_layout": 10, "needless": 10, "fiddl": 10, "densiti": 10, "involv": [10, 11], "subtract": 10, "ratio": 10, "newton_fract": 10, "pz": 10, "dp": 10, "effortlessli": 10, "lightgrai": 10, "15z": 10, "8z": 10, "60z": 10, "copper": 10, "tan": 10, "dz": 10, "sec": 10, "f_tan": 10, "d_tan": 10, "neat": 10, "wild": 10, "sum_": 10, "sin_sum": 10, "d_sin_sum": 10, "wacki": 10, "fun": 10, "terrain": [10, 14], "distinct": [10, 12], "yet": 10, "excit": 10, "gist_stern": 10, "sine": 10, "plasma_r": 10, "jet": 10, "got": 10, "accid": 10, "mistak": 10, "endless": 10, "suppli": 10, "creation": 10, "tinker": 10, "complic": [10, 11], "verifi": 10, "recap": 10, "hausdorff": 10, "treatment": 10, "floor": 11, "beam": 11, "reaction": 11, "resist": 11, "movement": 11, "cabl": 11, "unkown": 11, "comand": 11, "linalg": [11, 13], "norm": [11, 13], "mass": 11, "awai": 11, "f_x": 11, "f_y": 11, "f_z": 11, "r_x": 11, "r_y": 11, "r_z": 11, "centroid": 11, "forcea": 11, "forceb": 11, "quiver": 11, "d3": 11, "set_xlim": 11, "set_ylim": 11, "set_zlim": 11, "eman": 11, "meant": 11, "easili": 11, "forcec": 11, "counteract": 11, "prior": 11, "broken": 11, "nullifi": 11, "signifi": 11, "outli": 11, "rotat": 11, "experienc": 11, "coordin": 11, "stationari": 11, "pole": 11, "secur": 11, "ground": 11, "5n": 11, "perpendicularli": 11, "2m": 11, "wire": 11, "attach": 11, "tension": 11, "cord": 11, "3m": 11, "polebas": 11, "cordbas": 11, "cordconnect": 11, "poledirect": 11, "corddirect": 11, "cordunit": 11, "83205029": 11, "5547002": 11, "cordtens": 11, "forcecord": 11, "16025147": 11, "77350098": 11, "momentcord": 11, "32050294": 11, "meter": 11, "bd": 11, "BE": 11, "cf": 11, "unitbd": 11, "unitb": 11, "unitcf": 11, "radbd": 11, "radb": 11, "radcf": 11, "t_": 11, "r_": 11, "390": 11, "130": [11, 13], "780": 11, "1170": 11, "f_": 11, "m_": 11, "2t_": 11, "unknown": 11, "780n": 11, "390n": 11, "195n": 11, "1170n": 11, "130n": 11, "kinet": 11, "veloc": 11, "beer": 11, "johnston": 11, "mazurek": 11, "daniel": 12, "procida": 12, "di\u00e1taxi": 12, "cc": 12, "BY": 12, "sa": 12, "templat": 12, "craft": 12, "distinguish": [12, 13], "portrait": 12, "intend": 12, "school": 12, "bullet": 12, "overexplain": 12, "bog": 12, "obscur": 12, "knew": 12, "enthusiasm": 12, "imagin": 12, "audienc": 12, "willing": 12, "incomplet": 12, "english": [12, 15], "ordinarili": 12, "abstract": 12, "tipoff": 12, "bake": 12, "cake": 12, "endpoint": 12, "payoff": 12, "recip": 12, "ingredi": 12, "readi": [12, 13], "oven": 12, "expert": 12, "writer": 12, "learner": 12, "fall": 12, "grade": 12, "ye": 12, "assur": 12, "except": [12, 13], "invit": 12, "artist": 12, "toolset": 12, "aren": 12, "scan": 12, "somebodi": 12, "polish": [12, 15], "decor": 12, "likeli": 12, "engag": [12, 15], "towner": 12, "feel": 12, "pick": 12, "destin": 12, "sight": 12, "recur": 12, "crossrefer": 12, "strengthen": 12, "bad": 12, "traceback": 12, "comment": [12, 15], "tripl": 12, "backquot": 12, "won": 12, "angl": 12, "lt": 12, "gt": 12, "zerodivisionerror": 12, "bbe761e74a70": 12, "exercis": 12, "perhap": 12, "footnot": 12, "spoiler": 12, "ideal": 12, "bare": 12, "inspir": 12, "decomposit": 13, "singular": 13, "misc": 13, "img": [13, 14], "tmp": 13, "ipykernel_432": 13, "2202046956": 13, "deprecationwarn": 13, "deprec": 13, "v1": 13, "imread": [13, 14], "submodul": 13, "imageio": 13, "treat": 13, "crash": 13, "scikit": [13, 14], "inlin": 13, "forth": 13, "768": 13, "1024": [13, 14], "tupl": 13, "fact": 13, "rgb": 13, "768x1024": 13, "furthermor": 13, "ndim": 13, "3rd": 13, "syntax": 13, "138": 13, "153": 13, "119": 13, "131": 13, "139": 13, "89": 13, "110": 13, "118": 13, "134": 13, "146": 13, "115": 13, "117": 13, "133": 13, "107": 13, "120": 13, "85": 13, "112": 13, "img_arrai": 13, "scalar": [13, 14], "broadcast": 13, "img_as_float": 13, "inquir": 13, "minimum": [13, 14], "red_arrai": 13, "green_arrai": 13, "blue_arrai": 13, "diagon": 13, "largest": 13, "smallest": 13, "colorimetri": 13, "fairli": 13, "2126": 13, "7152": 13, "0722": 13, "matmul": 13, "img_grai": 13, "colormap": [13, 14], "vt": 13, "worri": [13, 15], "pretti": 13, "compat": [13, 14], "valueerror": 13, "econom": 13, "reconstruct": 13, "768x768": 13, "1024x1024": [13, 14], "fill_diagon": 13, "explan": 13, "43712046073728e": 13, "allclos": 13, "150th": 13, "intact": 13, "approx": 13, "wors": 13, "instinct": 13, "mxn": 13, "permut": 13, "fortun": 13, "reorder": 13, "img_array_transpos": 13, "reassembl": 13, "interchang": 13, "indistinguish": 13, "outsid": 13, "558487697898684e": 13, "0000000000000053": 13, "clip": 13, "excis": 13, "peform": 13, "hood": 13, "warn": 13, "messag": 13, "approx_img": 13, "unfamiliar": 13, "ellipsi": 13, "placehold": 13, "sharp": 13, "golub": 13, "van": 13, "loan": 13, "baltimor": 13, "hopkin": 13, "press": 13, "1985": 13, "matlab": 13, "idl": 13, "workflow": [14, 15], "pneumonia": 14, "particularli": 14, "radiologi": 14, "chestx": 14, "ray8": 14, "health": 14, "nih": 14, "png": 14, "patient": 14, "repositori": [14, 15, 17], "cvpr": 14, "gigabyt": 14, "quickstart": 14, "dicom": 14, "suit": 14, "ndimag": 14, "00000011_001": 14, "dir": 14, "xray_imag": 14, "v3": 14, "008": 14, "num_img": 14, "combined_xray_images_1": 14, "00000011_00": 14, "anim": 14, "mimwrit": 14, "gif_path": 14, "durat": 14, "biomed": 14, "emphas": 14, "rapid": 14, "smooth": 14, "gaussian_laplac": 14, "xray_image_laplace_gaussian": 14, "frequenc": 14, "gaussian_gradient_magnitud": 14, "x_ray_image_gaussian_gradi": 14, "spatial": 14, "horizont": 14, "vertic": 14, "3x3": 14, "kernel": 14, "pythagorean": 14, "theorem": 14, "hypot": 14, "rescal": 14, "output_channel": 14, "input_channel": 14, "min_valu": 14, "max_valu": 14, "x_sobel": 14, "y_sobel": 14, "xray_image_sobel": 14, "float16": 14, "float32": 14, "cmrmap": 14, "fourier": 14, "smoothen": 14, "prewitt": 14, "fourier_gaussian": 14, "x_prewitt": 14, "y_prewitt": 14, "xray_image_canni": 14, "prism": 14, "nipy_spectr": 14, "array_lik": 14, "median": 14, "172": 14, "52233219146729": 14, "256": 14, "histogram": 14, "pixel_intensity_distribut": 14, "bin": 14, "240": 14, "exceed": 14, "150": 14, "xray_image_mask_noisi": 14, "xray_image_mask_less_noisi": 14, "noisi": 14, "openi": 14, "databas": 14, "bandwidth": 14, "restrict": 14, "segment": 14, "pydicom": 14, "quest": 14, "datacamp": 14, "raspberri": 14, "maker": 14, "portal": 14, "slide": 14, "cs6670": 14, "cornel": 14, "carpentri": 14, "385": 14, "carnegi": 14, "mellon": 14, "welcom": 15, "propos": 15, "pleas": 15, "draft": 15, "commun": [15, 17], "effort": 15, "artwork": 15, "myst": 15, "nb": 15, "jupytext": 15, "commonmark": 15, "repo": 15, "restructuredtext": 15, "rst": 15, "barrier": 15, "ipynb": [15, 17], "plan": 15, "respond": 15, "quickli": 15, "fork": 15, "haven": 15, "branch": 15, "readm": 15, "edit": 15, "secret": 15, "properli": 15, "submiss": 15, "mask": [16, 17], "button": 17, "rocket": 17, "icon": 17, "corner": 17, "conduct": 17, "team": 17, "nep": 17}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"numpi": [0, 2, 4, 6, 11, 12, 16, 17], "applic": [0, 11], "articl": [1, 17], "help": [1, 17], "improv": [1, 17], "tutori": [1, 12, 15, 17], "determin": [2, 11], "moor": 2, "": [2, 4, 5, 9, 11, 12], "law": [2, 11], "real": [2, 12], "data": [2, 4, 6, 8, 9], "what": [2, 3, 4, 5, 8, 10, 11, 12], "you": [2, 3, 4, 5, 8, 9, 10, 11, 12], "ll": [2, 3, 4, 5, 8, 10, 11, 12], "do": [2, 3, 4, 5, 8, 9, 10, 11, 12], "skill": 2, "learn": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "need": [2, 3, 4, 5, 8, 10, 11, 12], "build": [2, 5, 6, 9], "an": [2, 9, 13, 14, 15], "exponenti": 2, "function": [2, 7], "load": [2, 4, 6, 9], "histor": 2, "manufactur": 2, "your": [2, 3, 4, 7, 10, 12, 15], "workspac": 2, "calcul": [2, 5], "growth": 2, "curv": 2, "transistor": 2, "share": [2, 4], "result": [2, 14], "zip": 2, "arrai": [2, 4, 8, 13, 14], "csv": [2, 4], "file": [2, 3, 4], "creat": [2, 4, 7, 10, 15], "own": [2, 10, 12, 15], "comma": 2, "separ": 2, "valu": [2, 5, 11], "wrap": [2, 3, 4, 11], "up": [2, 3, 4, 7, 11], "refer": [2, 8, 11], "pair": [3, 5], "jupyt": [3, 7, 15], "notebook": [3, 7, 12, 15], "myst": 3, "nb": 3, "background": 3, "ipynb": 3, "md": 3, "1": [3, 6, 9], "classic": 3, "jupytext": 3, "2": [3, 6, 9], "jupyterlab": 3, "3": [3, 6, 9], "command": 3, "line": 3, "save": 4, "savez": 4, "remov": 4, "them": 4, "back": 4, "reassign": 4, "npzfile": 4, "x": [4, 14], "y": 4, "success": 4, "anoth": [4, 11], "option": 4, "human": 4, "readabl": 4, "rearrang": 4, "singl": 4, "2d": 4, "us": [4, 8, 12, 14, 17], "savetxt": 4, "our": [4, 9, 15], "rememb": 4, "type": 4, "analyz": 5, "impact": 5, "lockdown": 5, "air": 5, "qualiti": 5, "delhi": 5, "india": 5, "The": [5, 12, 14], "problem": 5, "pollut": 5, "dataset": [5, 6, 9, 12], "index": 5, "move": 5, "averag": 5, "sub": 5, "indic": 5, "student": 5, "t": 5, "test": [5, 6], "aqi": 5, "sampl": 5, "defin": [5, 7], "hypothesi": 5, "statist": 5, "p": 5, "mean": 5, "In": [5, 8, 10, 12], "practic": [5, 8, 12], "further": [5, 8, 10, 12, 13], "read": [5, 8, 10, 12, 13], "deep": [6, 7, 9], "mnist": 6, "prerequisit": [6, 7, 9, 13, 14], "tabl": [6, 7, 9, 14], "content": [6, 7, 9, 13, 14, 15, 17], "preprocess": [6, 7, 9], "convert": 6, "imag": [6, 14], "float": 6, "point": 6, "format": 6, "label": 6, "through": 6, "categor": 6, "one": 6, "hot": 6, "encod": 6, "train": [6, 7, 9], "small": 6, "neural": [6, 7, 9], "network": [6, 7, 9], "from": [6, 7, 9], "scratch": 6, "block": 6, "model": [6, 9], "architectur": [6, 9], "summari": 6, "compos": 6, "begin": 6, "next": [6, 7, 9, 14], "step": [6, 7, 9, 14], "reinforc": 7, "pong": 7, "pixel": 7, "A": 7, "note": [7, 15], "rl": 7, "glossari": 7, "set": [7, 10], "frame": 7, "observ": 7, "polici": 7, "forward": [7, 9], "pass": 7, "updat": [7, 9], "backpropag": [7, 9], "discount": 7, "reward": 7, "expect": 7, "return": 7, "agent": 7, "number": 7, "episod": 7, "appendix": 7, "how": [7, 9, 12], "video": 7, "playback": 7, "mask": [8, 14], "ar": [8, 12], "when": [8, 12], "can": 8, "thei": 8, "see": 8, "covid": 8, "19": 8, "explor": 8, "miss": 8, "fit": 8, "sentiment": 9, "analysi": 9, "notabl": 9, "speech": 9, "last": 9, "decad": 9, "collect": 9, "imdb": 9, "review": 9, "transcript": 9, "introduct": 9, "long": 9, "short": 9, "term": 9, "memori": 9, "overview": 9, "propag": 9, "But": 9, "obtain": 9, "lstm": 9, "output": 9, "paramet": 9, "look": 9, "ethic": 9, "perspect": 9, "plot": [10, 12], "fractal": 10, "warmup": 10, "julia": 10, "mandelbrot": 10, "gener": 10, "newton": [10, 11], "conclus": 10, "On": [10, 12], "static": 11, "equilibrium": 11, "solv": 11, "second": [11, 14], "sum": 11, "moment": 11, "find": 11, "physic": 11, "properti": [11, 13], "exampl": 11, "addit": 11, "write": 12, "after": 12, "horizont": 12, "rule": 12, "start": 12, "head": 12, "titl": 12, "have": 12, "verb": 12, "lowercas": 12, "sai": 12, "why": [12, 15], "differ": 12, "avoid": 12, "asid": 12, "illustr": 12, "possibl": 12, "similar": 12, "make": 12, "googl": 12, "doc": 12, "style": 12, "guid": 12, "must": 12, "fulli": 12, "execut": [12, 17], "linear": 13, "algebra": 13, "n": 13, "dimension": 13, "learner": 13, "profil": 13, "object": 13, "shape": 13, "axi": 13, "oper": [13, 14], "approxim": 13, "appli": [13, 14], "all": 13, "color": 13, "product": 13, "final": 13, "word": 13, "rai": 14, "process": 14, "examin": 14, "imageio": 14, "combin": 14, "multidimension": 14, "demonstr": 14, "progress": 14, "edg": 14, "detect": 14, "laplacian": 14, "gaussian": 14, "gradient": 14, "sobel": 14, "canni": 14, "filter": 14, "laplac": 14, "deriv": 14, "magnitud": 14, "method": 14, "feldman": 14, "np": 14, "where": 14, "compar": 14, "contribut": 15, "ad": 15, "issu": 15, "check": 15, "out": 15, "suggest": 15, "templat": 15, "upload": 15, "featur": 16, "non": 17, "link": 17, "resourc": 17}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 60}, "alltitles": {"NumPy Applications": [[0, "numpy-applications"]], "Articles": [[1, "articles"]], "Help improve the tutorials!": [[1, null], [17, null]], "Determining Moore\u2019s Law with real data in NumPy": [[2, "determining-moore-s-law-with-real-data-in-numpy"]], "What you\u2019ll do": [[2, "what-you-ll-do"], [3, "what-you-ll-do"], [4, "what-you-ll-do"], [5, "what-you-ll-do"], [8, "what-you-ll-do"], [10, "what-you-ll-do"], [12, "what-you-ll-do"]], "Skills you\u2019ll learn": [[2, "skills-you-ll-learn"]], "What you\u2019ll need": [[2, "what-you-ll-need"], [3, "what-you-ll-need"], [4, "what-you-ll-need"], [5, "what-you-ll-need"], [8, "what-you-ll-need"], [10, "what-you-ll-need"], [12, "what-you-ll-need"]], "Building Moore\u2019s law as an exponential function": [[2, "building-moore-s-law-as-an-exponential-function"]], "Loading historical manufacturing data to your workspace": [[2, "loading-historical-manufacturing-data-to-your-workspace"]], "Calculating the historical growth curve for transistors": [[2, "calculating-the-historical-growth-curve-for-transistors"]], "Sharing your results as zipped arrays and a csv": [[2, "sharing-your-results-as-zipped-arrays-and-a-csv"]], "Zipping the arrays into a file": [[2, "zipping-the-arrays-into-a-file"]], "Creating your own comma separated value file": [[2, "creating-your-own-comma-separated-value-file"]], "Wrapping up": [[2, "wrapping-up"], [3, "wrapping-up"], [4, "wrapping-up"], [11, "wrapping-up"]], "References": [[2, "references"], [11, "references"]], "Pairing Jupyter notebooks and MyST-NB": [[3, "pairing-jupyter-notebooks-and-myst-nb"]], "What you\u2019ll learn": [[3, "what-you-ll-learn"], [4, "what-you-ll-learn"], [5, "what-you-ll-learn"], [8, "what-you-ll-learn"], [10, "what-you-ll-learn"], [12, "what-you-ll-learn"]], "Background": [[3, "background"]], "Pair your notebook files .ipynb and .md": [[3, "pair-your-notebook-files-ipynb-and-md"]], "1. Classic Jupyter Jupytext pairing": [[3, null]], "2. JupyterLab Jupytext pairing": [[3, null]], "3. Command line Jupytext pairing": [[3, null]], "Saving and sharing your NumPy arrays": [[4, "saving-and-sharing-your-numpy-arrays"]], "Create your arrays": [[4, "create-your-arrays"]], "Save your arrays with NumPy\u2019s savez": [[4, "save-your-arrays-with-numpy-s-savez"]], "Remove the saved arrays and load them back with NumPy\u2019s load": [[4, "remove-the-saved-arrays-and-load-them-back-with-numpy-s-load"]], "Reassign the NpzFile arrays to x and y": [[4, "reassign-the-npzfile-arrays-to-x-and-y"]], "Success": [[4, "success"]], "Another option: saving to human-readable csv": [[4, "another-option-saving-to-human-readable-csv"]], "Rearrange the data into a single 2D array": [[4, "rearrange-the-data-into-a-single-2d-array"]], "Save the data to csv file using savetxt": [[4, "save-the-data-to-csv-file-using-savetxt"]], "Our arrays as a csv file": [[4, "our-arrays-as-a-csv-file"]], "Success, but remember your types": [[4, "success-but-remember-your-types"]], "Analyzing the impact of the lockdown on air quality in Delhi, India": [[5, "analyzing-the-impact-of-the-lockdown-on-air-quality-in-delhi-india"]], "The problem of air pollution": [[5, "the-problem-of-air-pollution"]], "Building the dataset": [[5, "building-the-dataset"]], "Calculating the Air Quality Index": [[5, "calculating-the-air-quality-index"]], "Moving averages": [[5, "moving-averages"]], "Sub-indices": [[5, "sub-indices"]], "Air quality indices": [[5, "air-quality-indices"]], "Paired Student\u2019s t-test on the AQIs": [[5, "paired-student-s-t-test-on-the-aqis"]], "Sampling": [[5, "sampling"]], "Defining the hypothesis": [[5, "defining-the-hypothesis"]], "Calculating the test statistics": [[5, "calculating-the-test-statistics"]], "What do the t and p values mean?": [[5, "what-do-the-t-and-p-values-mean"]], "In practice\u2026": [[5, "in-practice"], [12, "in-practice"]], "Further reading": [[5, "further-reading"], [8, "further-reading"], [10, "further-reading"], [12, "further-reading"], [13, "further-reading"]], "Deep learning on MNIST": [[6, "deep-learning-on-mnist"]], "Prerequisites": [[6, "prerequisites"], [7, "prerequisites"], [9, "prerequisites"], [13, "prerequisites"], [14, "prerequisites"]], "Table of contents": [[6, "table-of-contents"], [7, "table-of-contents"], [9, "table-of-contents"], [14, "table-of-contents"]], "1. Load the MNIST dataset": [[6, "load-the-mnist-dataset"]], "2. Preprocess the data": [[6, "preprocess-the-data"]], "Convert the image data to the floating-point format": [[6, "convert-the-image-data-to-the-floating-point-format"]], "Convert the labels to floating point through categorical/one-hot encoding": [[6, "convert-the-labels-to-floating-point-through-categorical-one-hot-encoding"]], "3. Build and train a small neural network from scratch": [[6, "build-and-train-a-small-neural-network-from-scratch"]], "Neural network building blocks with NumPy": [[6, "neural-network-building-blocks-with-numpy"]], "Model architecture and training summary": [[6, "model-architecture-and-training-summary"]], "Compose the model and begin training and testing it": [[6, "compose-the-model-and-begin-training-and-testing-it"]], "Next steps": [[6, "next-steps"], [7, "next-steps"], [14, "next-steps"]], "Deep reinforcement learning with Pong from pixels": [[7, "deep-reinforcement-learning-with-pong-from-pixels"]], "A note on RL and deep RL": [[7, "a-note-on-rl-and-deep-rl"]], "Deep RL glossary": [[7, "deep-rl-glossary"]], "Set up Pong": [[7, "set-up-pong"]], "Preprocess frames (the observation)": [[7, "preprocess-frames-the-observation"]], "Create the policy (the neural network) and the forward pass": [[7, "create-the-policy-the-neural-network-and-the-forward-pass"]], "Set up the update step (backpropagation)": [[7, "set-up-the-update-step-backpropagation"]], "Define the discounted rewards (expected return) function": [[7, "define-the-discounted-rewards-expected-return-function"]], "Train the agent for a number of episodes": [[7, "train-the-agent-for-a-number-of-episodes"]], "Appendix": [[7, "appendix"]], "Notes on RL and deep RL": [[7, "notes-on-rl-and-deep-rl"]], "How to set up video playback in your Jupyter notebook": [[7, "how-to-set-up-video-playback-in-your-jupyter-notebook"]], "Masked Arrays": [[8, "masked-arrays"]], "What are masked arrays?": [[8, "what-are-masked-arrays"]], "When can they be useful?": [[8, "when-can-they-be-useful"]], "Using masked arrays to see COVID-19 data": [[8, "using-masked-arrays-to-see-covid-19-data"]], "Exploring the data": [[8, "exploring-the-data"]], "Missing data": [[8, "missing-data"]], "Fitting Data": [[8, "fitting-data"]], "In practice": [[8, "in-practice"]], "Reference": [[8, "reference"]], "Sentiment Analysis on notable speeches of the last decade": [[9, "sentiment-analysis-on-notable-speeches-of-the-last-decade"]], "1. Data Collection": [[9, "data-collection"]], "Collecting the IMDb reviews dataset": [[9, "collecting-the-imdb-reviews-dataset"]], "Collecting and loading the speech transcripts": [[9, "collecting-and-loading-the-speech-transcripts"]], "2. Preprocess the datasets": [[9, "preprocess-the-datasets"]], "3. Build the Deep Learning Model\u00b6": [[9, "build-the-deep-learning-model"]], "Introduction to a Long Short Term Memory Network": [[9, "introduction-to-a-long-short-term-memory-network"]], "Overview of the Model Architecture": [[9, "overview-of-the-model-architecture"]], "Forward Propagation": [[9, "forward-propagation"]], "But how do you obtain sentiment from the LSTM\u2019s output?": [[9, "but-how-do-you-obtain-sentiment-from-the-lstm-s-output"]], "Backpropagation": [[9, "backpropagation"]], "Updating the Parameters": [[9, "updating-the-parameters"]], "Training the Network": [[9, "training-the-network"]], "Sentiment Analysis on the Speech Data": [[9, "sentiment-analysis-on-the-speech-data"]], "Looking at our Neural Network from an ethical perspective": [[9, "looking-at-our-neural-network-from-an-ethical-perspective"]], "Next Steps": [[9, "next-steps"]], "Plotting Fractals": [[10, "plotting-fractals"]], "Warmup": [[10, "warmup"]], "Julia set": [[10, "julia-set"]], "Mandelbrot set": [[10, "mandelbrot-set"]], "Generalizing the Julia set": [[10, "generalizing-the-julia-set"]], "Newton Fractals": [[10, "newton-fractals"]], "Creating your own fractals": [[10, "creating-your-own-fractals"]], "In conclusion": [[10, "in-conclusion"]], "On your own": [[10, "on-your-own"], [12, "on-your-own"]], "Determining Static Equilibrium in NumPy": [[11, "determining-static-equilibrium-in-numpy"]], "What you\u2019ll do:": [[11, "what-you-ll-do"]], "What you\u2019ll learn:": [[11, "what-you-ll-learn"]], "What you\u2019ll need:": [[11, "what-you-ll-need"]], "Solving equilibrium with Newton\u2019s second law": [[11, "solving-equilibrium-with-newton-s-second-law"]], "Solving Equilibrium as a sum of moments": [[11, "solving-equilibrium-as-a-sum-of-moments"]], "Finding values with physical properties": [[11, "finding-values-with-physical-properties"]], "Another Example": [[11, "another-example"]], "Additional Applications": [[11, "additional-applications"]], "Learn to write a NumPy tutorial": [[12, "learn-to-write-a-numpy-tutorial"]], "After a horizontal rule, start your own headings": [[12, "after-a-horizontal-rule-start-your-own-headings"]], "Titles have verbs": [[12, "titles-have-verbs"]], "Titles are lowercase": [[12, "titles-are-lowercase"]], "What to say in \u201cWhat you\u2019ll learn\u201d": [[12, "what-to-say-in-what-you-ll-learn"]], "Why are \u201cWhat you\u2019ll do\u201d and \u201cWhat you\u2019ll learn\u201d different?": [[12, "why-are-what-you-ll-do-and-what-you-ll-learn-different"]], "Avoid asides": [[12, "avoid-asides"]], "Use plots and illustrations": [[12, "use-plots-and-illustrations"]], "Use real datasets when possible": [[12, "use-real-datasets-when-possible"]], "Tutorials and how-to\u2019s \u2013 similar but different": [[12, "tutorials-and-how-to-s-similar-but-different"]], "Make use of the Google doc style guide": [[12, "make-use-of-the-google-doc-style-guide"]], "The notebook must be fully executable": [[12, "the-notebook-must-be-fully-executable"]], "Linear algebra on n-dimensional arrays": [[13, "linear-algebra-on-n-dimensional-arrays"]], "Learner profile": [[13, "learner-profile"]], "Learning Objectives": [[13, "learning-objectives"]], "Content": [[13, "content"], [17, "content"]], "Shape, axis and array properties": [[13, "shape-axis-and-array-properties"]], "Operations on an axis": [[13, "operations-on-an-axis"]], "Approximation": [[13, "approximation"]], "Applying to all colors": [[13, "applying-to-all-colors"]], "Products with n-dimensional arrays": [[13, "products-with-n-dimensional-arrays"]], "Final words": [[13, "final-words"]], "X-ray image processing": [[14, "x-ray-image-processing"]], "Examine an X-ray with imageio": [[14, "examine-an-x-ray-with-imageio"]], "Combine images into a multidimensional array to demonstrate progression": [[14, "combine-images-into-a-multidimensional-array-to-demonstrate-progression"]], "Edge detection using the Laplacian-Gaussian, Gaussian gradient, Sobel, and Canny filters": [[14, "edge-detection-using-the-laplacian-gaussian-gaussian-gradient-sobel-and-canny-filters"]], "The Laplace filter with Gaussian second derivatives": [[14, "the-laplace-filter-with-gaussian-second-derivatives"]], "The Gaussian gradient magnitude method": [[14, "the-gaussian-gradient-magnitude-method"]], "The Sobel-Feldman operator (the Sobel filter)": [[14, "the-sobel-feldman-operator-the-sobel-filter"]], "The Canny filter": [[14, "the-canny-filter"]], "Apply masks to X-rays with np.where()": [[14, "apply-masks-to-x-rays-with-np-where"]], "Compare the results": [[14, "compare-the-results"]], "Contributing": [[15, "contributing"]], "Why Jupyter Notebooks?": [[15, "why-jupyter-notebooks"]], "Note": [[15, "note"]], "Adding your own tutorials": [[15, "adding-your-own-tutorials"]], "Create an issue": [[15, "create-an-issue"]], "Check out our suggested template": [[15, "check-out-our-suggested-template"]], "Upload your content": [[15, "upload-your-content"]], "NumPy Features": [[16, "numpy-features"]], "NumPy tutorials": [[17, "numpy-tutorials"]], "Non-executable articles": [[17, "non-executable-articles"]], "Useful links and resources": [[17, "useful-links-and-resources"]]}, "indexentries": {}}) \ No newline at end of file +Search.setIndex({"docnames": ["applications", "articles", "content/mooreslaw-tutorial", "content/pairing", "content/save-load-arrays", "content/tutorial-air-quality-analysis", "content/tutorial-deep-learning-on-mnist", "content/tutorial-deep-reinforcement-learning-with-pong-from-pixels", "content/tutorial-ma", "content/tutorial-nlp-from-scratch", "content/tutorial-plotting-fractals", "content/tutorial-static_equilibrium", "content/tutorial-style-guide", "content/tutorial-svd", "content/tutorial-x-ray-image-processing", "contributing", "features", "index"], "filenames": ["applications.md", "articles.md", "content/mooreslaw-tutorial.md", "content/pairing.md", "content/save-load-arrays.md", "content/tutorial-air-quality-analysis.md", "content/tutorial-deep-learning-on-mnist.md", "content/tutorial-deep-reinforcement-learning-with-pong-from-pixels.md", "content/tutorial-ma.md", "content/tutorial-nlp-from-scratch.md", "content/tutorial-plotting-fractals.md", "content/tutorial-static_equilibrium.md", "content/tutorial-style-guide.md", "content/tutorial-svd.md", "content/tutorial-x-ray-image-processing.md", "contributing.md", "features.md", "index.md"], "titles": ["NumPy Applications", "Articles", "Determining Moore\u2019s Law with real data in NumPy", "Pairing Jupyter notebooks and MyST-NB", "Saving and sharing your NumPy arrays", "Analyzing the impact of the lockdown on air quality in Delhi, India", "Deep learning on MNIST", "Deep reinforcement learning with Pong from pixels", "Masked Arrays", "Sentiment Analysis on notable speeches of the last decade", "Plotting Fractals", "Determining Static Equilibrium in NumPy", "Learn to write a NumPy tutorial", "Linear algebra on n-dimensional arrays", "X-ray image processing", "Contributing", "NumPy Features", "NumPy tutorials"], "terms": {"A": [0, 1, 2, 3, 5, 8, 9, 10, 11, 12, 13, 16], "collect": [0, 1, 5, 7, 15, 16], "highlight": 0, "us": [0, 2, 3, 5, 6, 7, 9, 10, 11, 13, 15], "scienc": [0, 14], "engin": [0, 2, 7, 11], "data": [0, 1, 5, 7, 10, 12, 13, 14, 15, 17], "analysi": [0, 1, 2, 5, 8, 14, 17], "determin": [0, 6, 7, 8, 9, 17], "moor": [0, 17], "": [0, 1, 3, 6, 7, 8, 10, 13, 14, 17], "law": [0, 17], "real": [0, 5, 6, 7, 8, 9, 10, 13, 15, 17], "deep": [0, 1, 2, 14, 17], "learn": [0, 1, 14, 15, 17], "mnist": [0, 2, 9, 17], "x": [0, 2, 3, 5, 6, 7, 8, 9, 10, 11, 13, 17], "rai": [0, 2, 17], "imag": [0, 2, 7, 9, 10, 12, 13, 15, 17], "process": [0, 2, 4, 5, 6, 7, 8, 9, 11, 17], "static": [0, 3, 15, 17], "equilibrium": [0, 17], "plot": [0, 2, 6, 7, 8, 9, 11, 13, 14, 17], "fractal": [0, 2, 17], "analyz": [0, 8, 11, 14, 17], "impact": [0, 6, 17], "lockdown": [0, 17], "air": [0, 2, 17], "qualiti": [0, 2, 6, 7, 17], "delhi": [0, 17], "india": [0, 17], "want": [1, 2, 4, 5, 7, 8, 10, 11, 12, 13, 14, 15, 17], "make": [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 17], "valuabl": [1, 17], "contribut": [1, 17], "consid": [1, 2, 3, 4, 6, 8, 9, 10, 11, 12, 13, 14, 17], "work": [1, 3, 4, 6, 7, 8, 9, 10, 13, 14], "so": [1, 2, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15], "thei": [1, 2, 3, 6, 7, 9, 10, 11, 12, 13, 14], "becom": [1, 10], "fulli": [1, 9, 17], "execut": [1, 3, 6, 9, 13], "reproduc": [1, 6, 7, 9, 17], "reinforc": [1, 2, 9, 17], "pong": [1, 2, 17], "from": [1, 2, 4, 5, 8, 10, 11, 12, 13, 14, 17], "pixel": [1, 2, 6, 13, 14, 17], "prerequisit": [1, 12], "tabl": [1, 2, 5], "content": [1, 3], "note": [1, 2, 3, 5, 6, 8, 10, 11, 12, 13, 14, 17], "rl": 1, "glossari": 1, "set": [1, 2, 3, 5, 6, 8, 9, 13, 14, 17], "up": [1, 5, 6, 8, 9, 10, 14, 15], "preprocess": 1, "frame": [1, 14], "observ": [1, 2, 5, 8, 9, 11], "creat": [1, 3, 5, 6, 8, 9, 11, 14], "polici": [1, 9], "neural": 1, "network": 1, "forward": [1, 6], "pass": [1, 5, 6, 9, 10], "updat": [1, 3, 6, 15], "step": [1, 2, 4, 5, 12, 13, 15], "backpropag": [1, 6], "defin": [1, 2, 4, 6, 9, 10, 11, 13], "discount": 1, "reward": 1, "expect": [1, 2, 6, 9, 10, 13], "return": [1, 5, 6, 8, 9, 10, 12, 14], "function": [1, 4, 5, 6, 8, 9, 10, 11, 13, 16], "train": 1, "agent": 1, "number": [1, 2, 4, 6, 8, 9, 10, 11, 13, 14], "episod": [1, 9], "next": [1, 2, 4, 5, 8, 10, 11, 12], "appendix": 1, "how": [1, 2, 3, 5, 6, 8, 10, 11, 13, 14, 15], "video": 1, "playback": 1, "your": [1, 5, 6, 8, 9, 11, 13, 14, 16, 17], "jupyt": [1, 4, 6, 9, 14, 17], "notebook": [1, 6, 9, 14, 16, 17], "sentiment": [1, 17], "notabl": [1, 7, 10, 17], "speech": [1, 17], "last": [1, 2, 6, 7, 10, 12, 13, 17], "decad": [1, 2, 17], "1": [1, 2, 4, 5, 7, 8, 10, 11, 12, 13, 14], "imdb": 1, "review": [1, 3, 7, 15], "dataset": [1, 4, 8, 13, 14], "load": [1, 14], "transcript": 1, "2": [1, 2, 4, 5, 7, 8, 10, 11, 13, 14], "3": [1, 2, 4, 5, 7, 8, 10, 11, 13, 14], "build": [1, 3, 7, 13, 14, 17], "model": [1, 2, 7, 8, 11], "introduct": [1, 2, 5, 8], "long": [1, 6, 7, 10, 12], "short": [1, 12], "term": [1, 2, 5, 6, 7, 13], "memori": [1, 6, 7, 8, 13, 14], "overview": 1, "architectur": [1, 13], "propag": [1, 6, 7], "But": [1, 12], "do": [1, 7, 13, 14, 15], "you": [1, 6, 7, 13, 14, 15, 17], "obtain": [1, 5, 7, 13, 14], "lstm": 1, "output": [1, 2, 3, 4, 6, 7, 8, 10, 13, 15], "paramet": [1, 2, 5, 6, 7, 8, 10, 14], "look": [1, 2, 3, 5, 6, 8, 10, 11, 13], "our": [1, 2, 5, 8, 10, 11, 13], "an": [1, 4, 5, 6, 7, 8, 10, 11, 12], "ethic": [1, 6], "perspect": 1, "The": [2, 3, 4, 6, 7, 8, 9, 10, 11, 13, 15, 17], "report": [2, 6, 9], "per": 2, "given": [2, 5, 7, 9, 10, 11, 13], "chip": 2, "log": [2, 7, 9], "scale": [2, 6, 10], "y": [2, 5, 6, 7, 9, 10, 11, 13, 14], "axi": [2, 5, 6, 8, 9, 10, 14], "date": [2, 8], "linear": [2, 5, 6, 7, 9, 11, 16, 17], "blue": [2, 7, 10, 13], "point": [2, 4, 7, 8, 9, 11, 12, 13, 14], "ar": [2, 3, 4, 5, 6, 7, 9, 10, 11, 13, 14, 15], "count": [2, 6, 7, 8, 10], "red": [2, 7, 13], "line": [2, 4, 7, 8, 9, 13], "i": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "ordinari": 2, "least": [2, 9, 14], "squar": [2, 4, 6, 9, 10, 13], "predict": [2, 6, 9], "orang": [2, 8], "In": [2, 3, 4, 6, 7, 9, 11, 13, 14, 15], "1965": 2, "gordon": 2, "would": [2, 5, 6, 8, 9, 10, 11, 12, 13, 15], "doubl": [2, 6, 12], "everi": [2, 5, 7, 9, 13], "two": [2, 3, 4, 5, 7, 8, 9, 10, 11, 13, 14, 15], "year": [2, 7], "come": [2, 7, 8, 9, 10, 11, 12, 15], "compar": [2, 3, 4, 5, 6, 13], "against": [2, 6, 7, 9], "actual": [2, 6, 7, 8, 9, 13], "53": [2, 5], "follow": [2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "hi": [2, 7, 9], "best": [2, 7, 8, 9, 13, 15], "fit": [2, 6, 9], "constant": [2, 10], "describ": [2, 7, 8, 12], "semiconductor": 2, "perform": [2, 5, 6, 7, 9, 10, 11, 13], "regress": 2, "between": [2, 3, 4, 5, 6, 7, 9, 11, 13, 14], "npz": [2, 4], "assess": 2, "amaz": 2, "progress": 2, "have": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15], "made": [2, 3, 9, 10, 14], "five": [2, 6, 7, 11], "These": [2, 3, 6, 7, 9, 11, 13, 15], "packag": [2, 7, 8, 9, 12, 14], "matplotlib": [2, 6, 7, 8, 9, 10, 11, 13, 14], "import": [2, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14], "command": [2, 4, 7, 8, 13], "pyplot": [2, 6, 7, 8, 9, 10, 11, 13, 14], "plt": [2, 6, 7, 8, 9, 10, 11, 13, 14], "np": [2, 4, 5, 6, 7, 8, 9, 10, 11, 13], "sinc": [2, 5, 6, 7, 8, 9, 10, 13, 14], "thi": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "littl": [2, 10], "background": [2, 6, 7], "math": [2, 7, 9], "natur": [2, 9, 10], "loadtxt": [2, 4, 5], "text": [2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 15], "take": [2, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "all": [2, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15], "element": [2, 5, 8, 10, 13], "exp": [2, 7, 9], "lambda": [2, 9, 10], "minim": [2, 6, 7], "definit": [2, 8, 10], "semilogi": 2, "onto": [2, 14], "figur": [2, 9, 10, 11, 12], "log_": 2, "10": [2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "ax": [2, 6, 9, 10, 13, 14], "slice": [2, 5, 13], "view": [2, 7, 9], "part": [2, 5, 7, 8, 9, 14, 17], "e": [2, 4, 5, 10, 11], "g": [2, 4, 7, 10, 11, 13], "first": [2, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15], "boolean": [2, 8, 10, 14], "index": [2, 6, 7, 8, 9, 10, 13], "match": [2, 10, 14], "condit": [2, 7, 8, 14], "oper": [2, 6, 8, 9, 10, 11], "block": [2, 4, 9], "combin": [2, 6, 7, 8, 10], "2d": [2, 7, 13, 14], "newaxi": [2, 4], "chang": [2, 3, 6, 8, 9, 10, 14], "1d": [2, 4, 6, 7, 13], "vector": [2, 4, 5, 6, 7, 8, 9, 11, 13], "row": [2, 4, 5, 8, 13], "column": [2, 4, 5, 8, 9, 13], "savez": 2, "savetxt": 2, "save": [2, 3, 6, 7, 8, 9, 10, 14, 16, 17], "format": [2, 3, 4, 5, 7, 9, 12, 14, 15], "respect": [2, 4, 6, 7, 9, 11], "empir": 2, "assum": [2, 5, 10, 11, 12, 14], "transistor_count": 2, "f": [2, 6, 9, 10, 11, 13, 14], "cdot": [2, 5, 10], "b": [2, 7, 9, 11, 13], "where": [2, 4, 5, 6, 7, 8, 9, 10, 11, 13], "find": [2, 5, 6, 7, 8, 14], "specifi": [2, 4, 9], "rate": [2, 6, 7, 9], "ad": [2, 7, 8, 10, 17], "give": [2, 7, 10, 11, 12, 13, 14, 15], "initi": [2, 6, 7, 8, 9], "state": [2, 7, 9, 11], "form": [2, 5, 6, 7, 9, 10, 13, 15], "a_m": 2, "b_m": 2, "start": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14], "2250": 2, "1971": 2, "dfrac": [2, 5, 10], "2a_m": 2, "rightarrow": 2, "frac": [2, 5, 9, 10, 11], "0": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "3466": 2, "675": 2, "4": [2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 14], "repres": [2, 8, 9, 10, 11, 13], "python": [2, 3, 4, 6, 7, 8, 9, 10, 12, 13, 14], "moores_law": 2, "were": [2, 4, 7, 9, 10], "intel": 2, "4004": 2, "check": [2, 5, 6, 7, 8, 10, 13, 14, 17], "1973": 2, "ml_1971": 2, "ml_1973": 2, "print": [2, 3, 4, 5, 6, 7, 9, 11, 12, 14], "0f": 2, "2f": 2, "more": [2, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15], "than": [2, 5, 7, 8, 9, 10, 12, 13, 14], "4500": 2, "x2": 2, "00": [2, 4, 5], "now": [2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 14], "base": [2, 6, 7, 8, 9, 11], "upon": [2, 9, 10, 11], "each": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 17], "transistor_data": 2, "befor": [2, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15], "its": [2, 6, 7, 8, 9, 10, 13, 14, 15], "good": [2, 6, 8, 9, 12], "idea": [2, 8, 10, 13, 15], "inspect": [2, 6], "structur": [2, 8, 9, 11], "Then": [2, 3, 5, 6, 7, 9, 11, 14], "locat": [2, 8, 9, 10, 11], "interest": [2, 7, 8, 10, 13, 14, 15, 17], "them": [2, 5, 6, 7, 8, 9, 10, 11, 14, 17], "variabl": [2, 4, 6, 7, 8, 9], "here": [2, 3, 4, 6, 8, 9, 10, 12, 13, 15], "out": [2, 5, 6, 7, 9, 10, 12, 13, 14], "processor": 2, "mo": 2, "design": [2, 3, 6, 7, 9, 10], "mosprocess": 2, "area": [2, 10], "bit": [2, 6, 7, 9, 10, 13, 14], "16": [2, 4, 5, 6, 7, 8, 10, 14], "pin": 2, "000": [2, 6, 7, 9, 14], "nm": 2, "12": [2, 3, 5, 6, 7, 8, 13], "mm\u00b2": 2, "head": [2, 4, 5], "8008": 2, "8": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14], "18": [2, 5, 6, 7, 8], "3500": 2, "1972": [2, 7], "14": [2, 5, 6, 7, 8], "nec": 2, "\u03bccom": 2, "42": [2, 5, 7], "2500": 2, "7": [2, 4, 5, 6, 7, 8, 10, 14], "500": [2, 6, 7], "4040": 2, "3000": 2, "1974": 2, "motorola": 2, "6800": 2, "40": 2, "4100": 2, "6": [2, 3, 4, 5, 6, 7, 8, 10, 11, 14], "8080": 2, "6000": 2, "20": [2, 5, 6, 7, 8, 10, 14], "tm": 2, "1000": [2, 6, 9, 14], "28": [2, 5, 6, 8], "8000": 2, "texa": 2, "instrument": 2, "11": [2, 5, 6, 7, 8], "technologi": 2, "6502": 2, "4528": 2, "1975": 2, "21": [2, 5, 7, 8], "intersil": 2, "im6100": 2, "clone": [2, 17], "pdp": 2, "4000": 2, "don": [2, 5, 6, 7, 8, 9, 10, 12, 13, 15], "t": [2, 6, 7, 8, 9, 10, 11, 12, 13, 15], "That": [2, 8], "leav": 2, "second": [2, 7, 8, 13], "third": [2, 10], "extra": [2, 9], "option": [2, 7, 9, 12, 15], "below": [2, 5, 6, 7, 8, 9, 12, 13, 14, 15], "put": [2, 9, 10, 12], "desir": 2, "delimit": [2, 4, 5, 8, 12], "delimet": 2, "default": [2, 4, 6, 7, 9, 13], "behavior": [2, 9, 10], "usecol": [2, 5, 8], "skiprow": [2, 4, 5], "becaus": [2, 3, 6, 7, 9, 11, 12, 13, 14], "header": [2, 4, 8], "entir": [2, 10], "histori": 2, "semiconduct": 2, "name": [2, 3, 4, 6, 8, 9], "four": [2, 8, 9], "digit": [2, 6], "easier": [2, 3, 4, 10], "read": [2, 4, 6, 7, 9, 14], "manag": [2, 9], "assign": [2, 4, 6, 7, 12, 13], "correct": [2, 5, 7, 9], "grab": 2, "tran": 2, "cnt": 2, "5000": 2, "independ": 2, "depend": [2, 6, 7, 9, 13, 15], "transform": [2, 6, 9, 13], "y_i": 2, "equat": [2, 10, 11], "yi": 2, "differ": [2, 3, 5, 6, 7, 8, 9, 10, 13, 14], "min": [2, 9, 13, 14], "sum": [2, 6, 7, 8, 9], "_i": 2, "error": [2, 6, 7, 9, 10, 13], "can": [2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17], "succinctli": 2, "mathbf": 2, "z": [2, 9, 10, 11], "polynomi": [2, 8, 10], "By": [2, 5], "regressor": 2, "matrix": [2, 6, 7, 9, 11, 13], "statist": [2, 7, 14], "degre": [2, 5, 10], "therefor": [2, 6, 7, 9, 11], "we": [2, 3, 5, 6, 8, 9, 10, 13, 15], "deg": [2, 8, 10], "domain": 2, "case": [2, 5, 8, 9, 10, 11, 12, 13], "coeffici": 2, "unscal": 2, "unshift": 2, "recov": [2, 13], "convert": [2, 3, 7, 9, 11, 13], "method": [2, 5, 6, 7, 8, 9, 11, 13], "mapsto": [2, 10], "666": 2, "32640635": 2, "34163208": 2, "individu": [2, 6, 9, 10, 11, 13, 17], "did": [2, 4, 9, 10, 13], "final": [2, 6, 7, 8, 9, 10, 14], "formula": [2, 5, 9, 13, 14], "xfactor": 2, "2a": 2, "increas": [2, 6, 7, 9, 10], "slope": 2, "semilog": 2, "98": [2, 5], "factor": [2, 6, 7, 9], "three": [2, 3, 4, 8, 10, 11, 12, 13, 14], "get": [2, 5, 6, 7, 8, 9, 10, 12, 13], "same": [2, 3, 5, 6, 7, 8, 9, 10, 11, 13, 14], "dimens": [2, 6, 7, 9, 10, 11, 13, 14], "179": 2, "_": 2, "Be": [2, 12, 13], "fivethirtyeight": 2, "style": [2, 4, 7, 8], "sheet": 2, "replic": 2, "http": [2, 6, 7, 8, 9, 13], "com": [2, 6, 9, 13], "transistor_count_predict": 2, "transistor_moores_law": 2, "label": [2, 4, 7, 9, 10, 11, 17], "titl": [2, 6, 8, 9, 10, 14], "microprocessor": 2, "n": [2, 3, 5, 6, 7, 8, 9, 10, 14, 16, 17], "wa": [2, 5, 6, 7, 8, 9, 10, 11, 13], "higher": [2, 4, 6, 7, 9, 10, 12], "xlabel": 2, "introduc": [2, 6, 7, 9], "legend": [2, 6, 8, 9, 11], "loc": [2, 9], "center": [2, 11], "left": [2, 5, 6, 7, 9, 11], "bbox_to_anchor": [2, 9], "5": [2, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14], "ylabel": 2, "nper": 2, "scatter": [2, 10], "captur": 2, "2015": [2, 6, 7], "claim": 2, "could": [2, 7, 9, 10, 13], "keep": [2, 3, 8, 9, 10, 11, 12, 13], "anymor": 2, "show": [2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "averag": [2, 9, 14], "x1": 2, "2017": [2, 7, 14], "abov": [2, 5, 6, 7, 9, 10, 11, 12, 13, 17], "plug": [2, 10], "great": [2, 6, 7, 9], "wai": [2, 4, 6, 7, 9, 10, 12, 13, 17], "measur": [2, 5, 6, 7, 9, 11, 12, 14], "rang": [2, 5, 6, 7, 8, 9, 10, 13, 14], "alpha": [2, 5, 10], "transpar": [2, 9], "opaqu": 2, "appear": [2, 7, 10, 12, 17], "lie": 2, "green": [2, 7, 13], "pm": [2, 5], "transistor_count2017": 2, "max": [2, 5, 13, 14], "mean": [2, 3, 7, 8, 9, 10, 11, 13, 14], "linspac": [2, 10], "2016": [2, 7], "your_model2017": 2, "moore_model2017": 2, "ones": [2, 5, 7, 8, 9, 10, 11, 14], "ro": 2, "markers": 2, "mew": 2, "19200000000": 2, "250000000": 2, "7050000000": 2, "0x7f87900fe950": 2, "close": [2, 7, 8, 9, 10, 12, 13], "closer": 2, "maximum": [2, 5, 6, 7, 13, 14], "produc": [2, 6, 11, 14, 15], "even": [2, 5, 7, 9, 10, 12, 13, 15], "though": [2, 5, 13], "thought": [2, 9], "slow": [2, 7], "onc": [2, 3, 9, 10, 13], "again": [2, 4, 6, 7, 9, 10, 13, 15], "approach": [2, 7, 9], "2025": 2, "still": [2, 4, 7, 8, 13], "nearli": [2, 10], "much": [2, 3, 4, 5, 6, 7, 9, 10, 13, 15], "better": [2, 4, 6, 8, 9, 10, 11, 13], "extrem": [2, 9, 10], "satisfi": 2, "new": [2, 4, 6, 7, 8, 9, 12, 14, 15], "other": [2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "session": [2, 3], "origin": [2, 5, 6, 7, 8, 9, 10, 11, 13, 14], "thousand": 2, "back": [2, 5, 6, 7, 9, 10, 13], "dictionari": [2, 4, 6, 7, 9, 13], "user": [2, 9, 12, 13, 15], "add": [2, 6, 7, 9, 10, 11, 13, 15], "one": [2, 4, 5, 7, 9, 10, 11, 12, 13, 14], "understand": [2, 5, 8, 9, 10, 11, 13], "includ": [2, 3, 4, 7, 8, 9, 12, 13, 15], "nyear": 2, "regression_cst": 2, "33": [2, 5, 8], "34": [2, 5], "38": [2, 6], "35": [2, 5, 7, 8], "mooreslaw_regress": 2, "3264063536233": 2, "l": [2, 9, 11], "mooreslaw": 2, "tutori": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14], "md": [2, 13, 15, 17], "pair": [2, 10, 15], "_static": 2, "text_preprocess": 2, "py": [2, 3, 4, 7], "ma": [2, 8], "nlp": [2, 9], "scratch": [2, 7, 9], "static_equilibrium": 2, "guid": [2, 3, 7, 8], "svd": [2, 13], "who_covid_19_sit_rep_time_seri": [2, 8], "x_y": [2, 4], "benefit": [2, 3, 6], "hundr": [2, 7], "shape": [2, 4, 5, 6, 7, 8, 9, 10, 14], "type": [2, 5, 6, 7, 8, 10, 13, 14], "precis": [2, 6], "float": [2, 4, 5, 7, 9, 13, 14], "prefer": [2, 5, 7, 13], "anoth": [2, 7, 10, 12, 14], "If": [2, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "limit": [2, 6, 7, 9], "like": [2, 3, 5, 6, 7, 8, 9, 10, 12, 13, 15], "prepar": [2, 6, 9, 14], "export": 2, "whose": [2, 9], "contain": [2, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14], "inform": [2, 6, 7, 8, 9, 10, 12, 13, 15], "singl": [2, 5, 7, 8, 11, 12], "tabular": 2, "inher": [2, 9], "dimension": [2, 4, 6, 7, 9, 11, 14, 16, 17], "organ": [2, 8, 13], "through": [2, 7, 8, 9, 10, 11, 13, 14], "fourth": [2, 8], "append": [2, 4, 6, 7, 9], "togeth": [2, 4, 9, 10, 11], "larger": [2, 6, 10, 11], "arrang": [2, 4], "write": [2, 4, 5, 6, 9, 10, 11, 14, 15], "971000000000000000e": 2, "03": [2, 5], "250000000000000000e": 2, "130514785642591278e": 2, "249999999999916326e": 2, "972000000000000000e": 2, "500000000000000000e": [2, 4], "590908400344571419e": 2, "181980515339620069e": 2, "973000000000000000e": 2, "238793840142739100e": 2, "500000000000097316e": 2, "conclus": [2, 4, 9, 11], "ha": [2, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15], "maintain": [2, 15], "consist": [2, 10, 11, 13, 15], "time": [2, 3, 5, 6, 7, 8, 9, 10, 11], "01": [2, 4, 5, 7, 9], "2019": [2, 5, 7], "revis": 2, "sai": [2, 10, 11, 13], "should": [2, 3, 4, 6, 7, 8, 9, 11, 12, 13, 14, 15], "hold": [2, 11], "until": [2, 7, 9], "enabl": [2, 7], "industri": [2, 14], "comput": [2, 5, 6, 7, 8, 9, 10, 11, 13, 14], "power": [2, 3, 6, 7, 9, 10, 15], "small": [2, 8, 9, 10, 13, 14], "insight": [2, 10], "incred": 2, "been": [2, 7, 8, 9, 14], "over": [2, 5, 6, 7, 8, 9, 10, 14], "half": 2, "centuri": 2, "wikipedia": [2, 10], "articl": [2, 6, 7, 9], "access": [2, 4, 8, 10, 13, 15], "oct": 2, "2020": [2, 5, 7, 8], "04": [2, 5, 10], "19": [2, 5, 6, 7], "cram": 2, "compon": [2, 9, 11, 13, 14], "integr": 2, "circuit": 2, "electron": [2, 7], "magazin": 2, "retriev": [2, 9, 14], "april": 2, "courtland": 2, "rachel": [2, 6, 9], "man": 2, "ieee": 2, "spectrum": 2, "30": [2, 5, 14], "mar": 2, "sync": [3, 15], "json": 3, "markdown": [3, 12, 15], "drawback": 3, "numpi": [3, 5, 7, 8, 9, 10, 13, 14, 15], "store": [3, 5, 6, 7, 9], "disk": [3, 7], "veri": [3, 6, 7, 8, 9, 10, 13, 14, 15], "allow": [3, 9, 10, 15], "almost": 3, "ani": [3, 4, 5, 7, 8, 9, 11, 12], "input": [3, 5, 6, 7, 9, 10, 12, 13], "librari": [3, 4, 5, 6, 7, 11, 13], "hard": [3, 10], "see": [3, 4, 5, 6, 9, 10, 11, 13, 15, 17], "when": [3, 4, 6, 7, 9, 10, 11, 13, 14], "pull": [3, 15], "request": [3, 6, 15], "onli": [3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "raw": [3, 13, 14], "lightweight": 3, "markup": 3, "languag": [3, 7, 9, 15], "Its": 3, "kei": [3, 4, 5, 6, 9], "goal": [3, 6, 7, 10, 11, 17], "readabl": [3, 8], "code": [3, 6, 7, 8, 9, 10, 13, 17], "open": [3, 4, 6, 7, 9, 12, 15, 17], "must": [3, 11, 13], "common": [3, 7, 9, 13, 15], "mark": [3, 9], "cell": [3, 6, 7, 9, 12, 13, 14, 15], "render": [3, 7, 15], "support": [3, 5, 6, 7, 9, 13], "varieti": 3, "restructur": [3, 17], "direct": [3, 7, 9, 11, 12], "sphinx": 3, "built": [3, 6, 7, 9, 10, 13, 16], "websit": [3, 6, 9, 12, 15], "local": [3, 6, 7, 9, 14, 17], "binder": [3, 7, 15, 17], "version": [3, 5, 8, 10, 13, 17], "simpl": [3, 5, 6, 7, 8, 9, 10, 11, 14], "exampl": [3, 6, 7, 8, 9, 10, 13, 14], "thing": [3, 4, 9, 10, 12], "explain": [3, 7, 10, 12], "calcul": [3, 7, 8, 9, 10, 11, 14], "side": 3, "cell_typ": 3, "metadata": 3, "sourc": [3, 7, 9, 11, 15, 17], "execution_count": 3, "stdout": 3, "output_typ": 3, "stream": [3, 6], "kernelspec": 3, "display_nam": 3, "python3": 3, "language_info": 3, "codemirror_mod": 3, "ipython": [3, 4, 7, 12, 13], "file_extens": 3, "mimetyp": 3, "nbconvert_export": 3, "pygments_lex": 3, "ipython3": 3, "nbformat": 3, "nbformat_minor": 3, "text_represent": 3, "extens": [3, 9], "format_nam": 3, "format_vers": 3, "jupytext_vers": 3, "shorter": [3, 7], "doe": [3, 5, 6, 8, 9, 10, 11, 13], "submit": 3, "also": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17], "To": [3, 4, 5, 6, 7, 8, 9, 10, 13, 14, 17], "instal": [3, 5, 7, 13], "pip": [3, 7], "conda": [3, 6, 7, 9, 14], "c": [3, 9, 10, 11, 13], "forg": 3, "lab": 3, "browser": 3, "launch": [3, 15, 17], "ask": [3, 9], "rebuild": [3, 13], "either": [3, 8, 9, 17], "With": [3, 5, 6, 7, 10], "interfac": [3, 7], "automat": [3, 6, 7, 8, 9], "right": [3, 6, 7, 8, 9, 10, 11, 12, 13, 17], "click": [3, 17], "choos": [3, 5, 6, 7, 8, 9, 10, 13], "saw": [3, 10], "both": [3, 4, 5, 6, 8, 9, 10, 11, 14, 15, 17], "editor": [3, 4], "vim": 3, "emac": 3, "continu": 3, "handl": [3, 6, 8, 9], "zip": [4, 6, 9, 10, 14], "comma": [4, 12], "workspac": 4, "compress": [4, 13], "serv": [4, 14], "most": [4, 5, 6, 7, 8, 9, 12, 13], "storag": 4, "binari": [4, 9, 10], "finish": [4, 6, 7, 9], "skill": [4, 12], "directori": [4, 7, 9, 15], "necessari": [4, 5, 7, 9, 10], "magic": 4, "arang": [4, 6, 8], "del": 4, "who": [4, 6, 7, 9, 12, 13, 15], "coupl": [4, 10], "let": [4, 5, 6, 7, 8, 9, 10, 11, 13, 14], "integ": [4, 6, 7, 8, 10, 13, 14], "9": [4, 5, 6, 7, 8, 9, 10, 14], "25": [4, 5, 8, 9], "36": 4, "49": [4, 5], "64": [4, 5, 9], "81": [4, 5], "x_axi": [4, 9], "y_axi": 4, "current": [4, 7, 8, 9, 10], "clear": [4, 8, 12, 15], "valu": [4, 6, 7, 8, 9, 10, 13, 14], "npy": [4, 9], "nativ": [4, 12], "cannot": [4, 8, 9], "standard": [4, 5, 6, 7, 8, 9, 12, 14], "spreadsheet": 4, "workspaec": 4, "info": [4, 7, 8], "modul": [4, 5, 6, 7, 8, 9, 12, 13, 14], "ho": 4, "kage": 4, "__init__": 4, "load_xi": 4, "ve": [4, 9, 14], "delet": [4, 8], "nice": 4, "scenario": [4, 9], "peopl": [4, 9, 13, 15], "program": [4, 9, 10], "mai": [4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 17], "separ": [4, 7, 8, 13], "result": [4, 5, 6, 9, 10, 11, 13], "compos": [4, 10], "ascii": [4, 7], "charact": [4, 8, 9], "filetyp": 4, "complex": [4, 7, 9, 10], "multipl": [4, 5, 6, 7, 9, 10, 13], "forc": [4, 7, 9, 11], "array_out": 4, "tell": [4, 5, 7, 12], "place": [4, 6, 9, 10, 12], "000000000000000000e": 4, "600000000000000000e": 4, "900000000000000000e": 4, "400000000000000000e": 4, "100000000000000000e": 4, "There": [4, 5, 7, 8, 9, 11], "featur": [4, 6, 9, 10, 13, 14, 17], "shoud": 4, "notic": [4, 7, 13, 15], "ignor": [4, 9], "re": [4, 7, 8, 9, 12, 14, 17], "skip": [4, 8, 9, 13], "number_of_header_lin": 4, "written": [4, 7, 10], "scientif": [4, 15], "notat": [4, 6, 10], "fmt": 4, "gener": [4, 5, 6, 7, 8, 9, 11, 12, 13], "preserv": [4, 8, 9], "int": [4, 6, 9], "y_squar": 4, "dtype": [4, 5, 6, 8, 10, 13, 14], "float64": [4, 6, 13, 14], "collabor": 4, "pickl": [4, 6], "futur": 4, "miss": [4, 5, 7], "genfromtext": 4, "about": [4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15], "io": [4, 7, 8, 9], "concept": [5, 6, 7, 9, 11], "interpret": [5, 14], "scipi": [5, 13, 14], "environ": [5, 6, 7, 9, 14, 15], "basic": [5, 6, 8, 9, 10, 13, 14], "popul": [5, 9], "deviat": [5, 7, 14], "etc": [5, 10], "promin": 5, "face": [5, 13], "immedi": 5, "effect": 5, "daili": [5, 9], "live": [5, 9, 10, 17], "covid": 5, "pandem": 5, "world": [5, 6, 7, 9, 13], "offer": [5, 7, 12], "rare": 5, "opportun": 5, "studi": 5, "human": [5, 7, 9], "activ": [5, 6, 7, 9], "lack": [5, 9], "thereof": 5, "worst": 5, "affect": [5, 6, 9, 14], "citi": 5, "dure": [5, 6, 7, 9, 12], "march": 5, "june": 5, "For": [5, 6, 7, 8, 9, 10, 13, 14, 15], "hour": [5, 7], "It": [5, 6, 7, 8, 9, 10, 11, 13, 14], "u": [5, 10, 11, 13, 14], "improv": [5, 7, 9], "due": [5, 7, 9, 11, 13], "intuit": [5, 10], "random": [5, 6, 7, 9], "default_rng": [5, 6, 7, 9], "stat": 5, "condens": 5, "hourli": 5, "level": [5, 6, 7, 9, 10, 12, 13], "variou": [5, 6, 7, 9, 10, 14], "station": 5, "across": [5, 9, 13], "avail": [5, 7, 8, 15], "31": [5, 8], "requir": [5, 7, 10, 11, 12], "few": [5, 6, 7, 8, 9], "particul": 5, "matter": 5, "nitrogen": 5, "dioxid": 5, "no2": 5, "ammonia": 5, "nh3": 5, "sulfur": 5, "so2": 5, "carbon": 5, "monoxid": 5, "co": [5, 9, 10], "ozon": 5, "o3": 5, "oxid": 5, "nox": 5, "nitric": 5, "NO": 5, "benzen": 5, "toluen": 5, "xylen": 5, "glimps": 5, "csv": [5, 8, 9], "datetim": 5, "pm2": 5, "pm10": 5, "05": [5, 14], "103": 5, "26": [5, 8], "305": 5, "46": 5, "94": [5, 13], "71": 5, "43": 5, "06": 5, "178": 5, "152": 5, "73": [5, 13], "13": [5, 6, 7, 8], "65": 5, "83": 5, "47": 5, "54": 5, "104": 5, "309": [5, 8], "74": 5, "66": 5, "08": 5, "27": [5, 6, 8], "02": 5, "69": 5, "106": [5, 11], "79": 5, "76": 5, "91": 5, "90": [5, 14], "314": 5, "48": [5, 6], "32": [5, 14], "45": 5, "59": [5, 6], "78": 5, "356": 5, "44": [5, 17], "22": [5, 6, 8], "41": [5, 10], "80": [5, 7], "372": 5, "23": [5, 8], "68": [5, 6], "92": 5, "15": [5, 6, 7, 8, 10, 13, 14], "39": 5, "62": [5, 6], "389": 5, "97": [5, 6, 13], "17": [5, 6, 7, 8], "56": [5, 10], "371": 5, "61": 5, "87": [5, 13], "84": 5, "29": [5, 8], "24": [5, 8], "37": 5, "07": 5, "77": 5, "361": 5, "88": 5, "63": 5, "86": 5, "96": 5, "377": 5, "purpos": [5, 6, 7, 11], "concern": [5, 9], "viz": 5, "particular": [5, 8, 9, 10, 13, 14], "pollutants_a": 5, "pollutants_b": 5, "slightli": [5, 10, 11, 13], "later": [5, 6, 8, 9], "pollutant_data": 5, "9528": 5, "might": [5, 8, 13, 15], "denot": [5, 10, 11], "nan": [5, 8], "quick": [5, 7, 10], "isfinit": 5, "true": [5, 6, 7, 8, 9, 13, 14], "successfulli": 5, "complet": [5, 6, 7, 10, 12], "adopt": [5, 9], "central": 5, "control": [5, 6, 7, 9], "board": 5, "summar": [5, 6, 8, 9], "concentr": 5, "ip": 5, "ihi": 5, "ilo": 5, "bphi": 5, "bplo": 5, "cp": 5, "breakpoint": 5, "greater": [5, 9, 14], "equal": 5, "less": [5, 10, 11, 13, 14], "correspond": [5, 6, 8, 9, 10, 11, 13, 14], "help": [5, 6, 7, 9, 10, 11, 12, 13, 14, 15], "shown": [5, 6, 9, 12], "chart": 5, "arrai": [5, 6, 7, 9, 10, 11, 12, 16, 17], "51": 5, "101": 5, "201": 5, "301": 5, "401": 5, "501": 5, "121": [5, 13], "251": 5, "351": 5, "431": 5, "181": 5, "281": 5, "801": [5, 6], "1201": 5, "1801": 5, "381": 5, "1601": 5, "169": 5, "209": 5, "749": 5, "window": 5, "moving_mean": 5, "cumsum": 5, "achiev": 5, "sure": [5, 7, 8, 9, 12, 13, 15], "length": [5, 9, 11], "truncat": 5, "pollutants_b_8hr_avg": 5, "accord": [5, 7, 13], "pollutants_a_24hr_avg": 5, "ensur": [5, 6, 8, 9], "period": [5, 8], "def": [5, 6, 7, 9, 10], "ret": 5, "join": [5, 6, 8, 9, 14], "concaten": [5, 9], "wise": [5, 9], "subindic": 5, "relationship": [5, 6, 7], "compute_indic": 5, "fetch": [5, 9], "upper": [5, 9, 17], "lower": [5, 6, 9], "bound": [5, 10], "categori": [5, 9], "feed": [5, 6, 7], "pol": 5, "con": 5, "bp": 5, "inc": 5, "els": [5, 7, 11], "bl": 5, "bh": 5, "ih": 5, "il": 5, "elif": 5, "util": [5, 6, 7, 9, 11, 13], "simpli": [5, 14], "loop": [5, 6, 7, 9, 10, 13], "ourselv": [5, 8, 9, 10], "advantag": [5, 7, 10], "vcompute_indic": 5, "call": [5, 6, 7, 8, 9, 10, 12, 14], "stack": [5, 9, 13, 14], "sub_indic": 5, "which": [5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "aqi_arrai": 5, "31st": 5, "descript": 5, "decis": [5, 9, 10], "signific": [5, 7, 10], "after": [5, 6, 7, 8, 9, 10, 13, 14], "impos": 5, "tail": 5, "critic": [5, 7, 9], "datetime64": 5, "subset": [5, 6, 8, 10], "m8": 5, "h": [5, 7, 10, 13], "total": [5, 6, 7, 8, 9, 10], "commenc": [5, 9], "24th": [5, 8], "after_lock": 5, "24t00": 5, "before_lock": 5, "21t00": 5, "2376": 5, "approxim": [5, 7, 8, 10], "normal": [5, 6, 7, 9, 10, 11, 13, 14], "distribut": [5, 6, 7, 14], "size": [5, 6, 7, 9, 10, 13], "before_sampl": 5, "after_sampl": 5, "drawn": [5, 6, 9], "choic": [5, 6, 7, 9, 10, 12, 15], "rng": [5, 6, 7, 9], "replac": [5, 6, 8, 9, 12], "fals": [5, 6, 7, 8, 9, 14], "null": [5, 7], "altern": [5, 12, 13], "mathemat": [5, 9, 10], "h_": [5, 9], "mu_": 5, "evalu": [5, 6, 9], "sqrt": [5, 7, 9], "sigma": [5, 13, 14], "varianc": [5, 7], "t_test": 5, "diff": 5, "var": 5, "ddof": 5, "num": 5, "denom": 5, "len": [5, 6, 7, 8, 9], "divid": [5, 6, 10, 13], "t_valu": 5, "cdf": 5, "argument": [5, 8], "freedom": 5, "dof": 5, "p_valu": 5, "836332143875384": 5, "071929048036322e": 5, "09": 5, "699": 5, "confid": 5, "95": [5, 13], "clearli": 5, "safe": 5, "reject": 5, "usual": [5, 6, 7, 12, 14, 15], "chosen": [5, 6, 9, 12], "accept": [5, 9, 15], "enough": [5, 10, 12], "evid": 5, "word": [5, 7, 9, 12], "fail": 5, "panda": [5, 9], "seri": 5, "provid": [5, 6, 7, 8, 9, 12, 14, 17], "ttest_rel": 5, "life": [5, 9, 15], "non": [5, 6, 7, 9, 13], "wilcoxon": 5, "host": [5, 14, 15], "characterist": [5, 9], "gentl": 5, "demonstr": [6, 7, 9, 11, 12], "feedforward": [6, 7], "hidden": [6, 7, 9], "layer": [6, 7, 9], "recogn": 6, "handwritten": 6, "artifici": [6, 7, 9], "resembl": 6, "multi": [6, 9, 14], "perceptron": [6, 9], "classifi": [6, 9], "60": [6, 10], "784": 6, "28x28": 6, "supervis": [6, 7, 9], "revers": [6, 7, 9], "mode": [6, 7], "differenti": [6, 7, 9], "score": 6, "adapt": [6, 7, 13], "andrew": [6, 7, 9], "trask": 6, "author": [6, 9], "permiss": 6, "reader": [6, 7, 9, 12, 14], "some": [6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "knowledg": [6, 7, 10, 14], "manipul": [6, 7, 9, 11, 13, 14], "algebra": [6, 7, 9, 11, 16, 17], "addit": [6, 7, 9, 12, 14], "familiar": [6, 7, 8, 9, 10, 12], "main": [6, 7, 12, 13, 15, 17], "refresh": [6, 8, 9, 13, 14], "advis": 6, "paper": [6, 7, 14], "publish": [6, 7, 14], "yann": [6, 7], "lecun": [6, 7], "yoshua": [6, 7], "bengio": [6, 7], "geoffrei": [6, 7], "hinton": [6, 7], "regard": [6, 7], "pioneer": [6, 7], "field": [6, 7], "grokk": 6, "teach": [6, 12, 17], "urllib": 6, "url": [6, 9], "gzip": 6, "file": [6, 7, 8, 9, 12, 13, 14, 15, 17], "decompress": 6, "well": [6, 7, 9, 11, 12, 14], "visual": [6, 7, 9, 10, 11, 14], "run": [6, 7, 8, 9, 12, 13, 14], "isol": [6, 7, 9, 11, 14], "virtualenv": [6, 7, 9, 14], "jupyterlab": [6, 7, 9, 14], "forget": [6, 9], "section": [6, 7, 9, 10, 12, 17], "download": [6, 8, 9, 13, 14, 17], "split": [6, 9], "list": [6, 7, 9, 10, 12], "data_sourc": 6, "training_imag": 6, "idx3": 6, "ubyt": 6, "gz": 6, "test_imag": 6, "t10k": 6, "training_label": 6, "idx1": 6, "test_label": 6, "o": [6, 8, 9, 12, 14], "data_dir": 6, "_data": 6, "makedir": 6, "exist_ok": 6, "base_url": [6, 9], "github": [6, 7, 9, 15], "rossbar": 6, "mirror": 6, "blob": 6, "fname": 6, "fpath": 6, "path": [6, 8, 9, 14], "exist": [6, 11, 13, 15, 17], "resp": 6, "request_opt": 6, "raise_for_statu": 6, "succes": 6, "wb": 6, "fh": [6, 9], "chunk": 6, "iter_cont": 6, "chunk_siz": 6, "128": 6, "ndarrai": [6, 8, 13, 14], "need": [6, 7, 9, 13, 14], "reshap": [6, 7, 9], "multipli": [6, 7, 11, 13], "mnist_dataset": 6, "rb": [6, 9], "mnist_fil": 6, "frombuff": 6, "uint8": [6, 7, 13, 14], "offset": 6, "x_train": [6, 9], "x_test": [6, 9], "y_train": [6, 9], "y_test": [6, 9], "confirm": 6, "60000": 6, "10000": [6, 8], "And": [6, 7], "000th": 6, "999": [6, 9], "valid": [6, 8, 9, 13], "displai": [6, 7, 13, 14], "mnist_imag": 6, "59999": 6, "color": [6, 7, 8, 10, 11, 14], "map": [6, 7, 9, 10, 14], "grayscal": [6, 7, 13, 14], "black": 6, "imshow": [6, 7, 10, 13, 14], "cmap": [6, 7, 10, 13, 14], "grai": [6, 7, 13, 14], "num_exampl": 6, "seed": [6, 7], "147197952744": 6, "fig": [6, 9, 10, 11, 14], "subplot": [6, 10, 14], "sampl": [6, 7, 9, 14], "taken": [6, 9], "hand": [6, 10, 12], "arab": 6, "numer": [6, 7, 8, 9], "exact": 6, "randomli": [6, 7, 9], "quit": [6, 7, 10], "198": 6, "243": 6, "254": 6, "212": 6, "tensor": [6, 7], "multidimension": [6, 7], "convers": 6, "alreadi": [6, 9, 10], "challeng": [6, 7, 14], "procedur": [6, 10], "speed": [6, 7], "One": [6, 7, 8, 10], "practic": [6, 7, 9, 13], "nvidia": 6, "googl": [6, 7], "cloud": [6, 7, 10], "blog": [6, 7, 9, 17], "post": [6, 7, 9, 17], "255": [6, 13, 14], "interv": 6, "thu": [6, 12], "promot": 6, "train_label": 6, "reduc": [6, 7, 10], "training_sampl": 6, "test_sampl": 6, "success": [6, 7, 9], "01176471": 6, "07058824": 6, "49411765": 6, "53333333": 6, "68627451": 6, "10196078": 6, "65098039": 6, "96862745": 6, "49803922": 6, "emb": 6, "zero": [6, 7, 9, 10, 11, 12, 13], "As": [6, 8, 10, 11, 12, 13, 14], "posit": [6, 7, 9, 10], "similar": [6, 7, 9, 10, 11, 14], "one_hot_encod": 6, "one_hot_label": 6, "none": [6, 7, 9], "astyp": [6, 7, 14], "examin": [6, 8], "yourself": [6, 9, 12], "high": [6, 7, 9, 14, 17], "refer": [6, 7, 9, 12, 13, 14], "research": [6, 7, 9, 10, 14], "public": [6, 9, 14], "afterward": [6, 9], "construct": [6, 9], "identifi": [6, 8, 9, 14], "certain": [6, 7, 9, 10, 11, 14], "accuraci": [6, 9], "filter": [6, 8], "represent": [6, 9], "target": [6, 9], "gradient": [6, 7, 9], "deriv": [6, 9, 10], "loss": [6, 7, 9], "backward": [6, 7, 9], "middl": 6, "weight": [6, 7, 9], "dot": [6, 7, 9, 13], "simplic": [6, 7, 9, 14], "bia": [6, 9], "omit": 6, "adjust": [6, 7, 10], "fine": [6, 7, 8, 9, 12], "tune": [6, 7, 9], "optim": [6, 7, 9, 11], "descent": [6, 7, 9], "highest": 6, "lowest": 6, "capabl": [6, 9], "appli": [6, 7, 8, 9, 10, 11], "rectifi": [6, 7], "unit": [6, 7, 9, 11], "relu": [6, 7], "regular": [6, 8, 9, 17], "techniqu": [6, 7, 9, 14], "prevent": [6, 7, 9], "overfit": [6, 9], "dropout": 6, "dilut": 6, "truth": [6, 9], "final_layer_output": 6, "image_label": 6, "metric": 6, "abil": [6, 9], "hasn": 6, "seen": [6, 9, 11], "previous": [6, 7, 10], "layer_0": 6, "layer_1": 6, "previou": [6, 7, 9, 13], "weights_1": 6, "layer_2": 6, "ingest": 6, "repeat": [6, 7, 13], "weights_2": 6, "end": [6, 7, 9, 11, 12, 14], "signal": [6, 7], "technic": 6, "matric": [6, 11, 13, 14], "chain": [6, 9], "rule": [6, 7, 9, 13], "iter": [6, 9, 10, 12], "epoch": [6, 9], "cycl": [6, 9, 10], "reflect": [6, 9, 12], "maxim": [6, 7], "cover": [6, 7, 8, 15], "ll": [6, 7, 9, 13, 14, 15], "884736743": 6, "otherwis": [6, 7, 10, 11, 13, 14, 15], "relu2deriv": 6, "hyperparamet": [6, 9], "learning_r": [6, 7, 9], "magnitud": [6, 7, 11], "overcorrect": [6, 7], "neg": [6, 7, 8, 9, 13], "longer": [6, 7, 9], "computation": 6, "intens": [6, 13, 14], "task": [6, 7], "low": [6, 14], "meaning": 6, "hidden_s": 6, "pixels_per_imag": 6, "establish": [6, 9], "num_label": 6, "indic": [6, 7, 8, 9, 13], "occur": [6, 9], "005": 6, "100": [6, 7, 9, 10, 12, 14], "experi": [6, 7, 9, 10, 11, 13], "track": [6, 8, 10], "accur": [6, 9], "store_training_loss": 6, "store_training_accurate_pr": 6, "store_test_loss": 6, "store_test_accurate_pr": 6, "j": [6, 10, 13], "training_loss": [6, 9], "training_accurate_predict": 6, "accordingli": 6, "dropout_mask": 6, "increment": 6, "argmax": 6, "layer_2_delta": 6, "layer_1_delta": 6, "outer": [6, 7], "unlik": [6, 7, 9, 12], "modifi": [6, 8, 9], "batch": [6, 7, 9, 14], "manner": 6, "elimin": [6, 8, 13], "test_loss": 6, "test_accurate_predict": 6, "3f": 6, "898": 6, "397": 6, "680": 6, "582": 6, "656": 6, "633": 6, "607": 6, "641": 6, "592": 6, "569": 6, "679": 6, "556": [6, 8], "541": 6, "708": 6, "534": [6, 8], "732": 6, "526": 6, "729": 6, "515": 6, "715": 6, "739": 6, "495": 6, "748": 6, "487": 6, "753": 6, "483": 6, "769": 6, "486": 6, "747": 6, "473": 6, "776": 6, "752": 6, "460": 6, "788": 6, "462": 6, "762": 6, "465": 6, "767": 6, "443": 6, "456": 6, "775": 6, "448": 6, "795": 6, "455": 6, "772": 6, "438": 6, "787": 6, "453": 6, "778": 6, "446": [6, 8], "791": 6, "450": 6, "779": 6, "441": 6, "452": 6, "437": 6, "786": 6, "436": 6, "794": 6, "449": 6, "433": 6, "774": 6, "429": 6, "785": 6, "mani": [6, 7, 8, 9, 10, 12, 13, 14], "minut": [6, 9], "machin": [6, 7, 9, 12, 14], "wait": [6, 15], "reset": [6, 7], "runtim": 6, "instanc": [6, 7, 9], "epoch_rang": 6, "training_metr": 6, "asarrai": 6, "test_metr": 6, "nrow": [6, 14], "ncol": [6, 14], "figsiz": [6, 10, 14], "item": [6, 7, 9], "capit": [6, 12], "set_titl": [6, 10, 14], "set_xlabel": [6, 9, 10], "decreas": 6, "reach": [6, 7], "somewhat": 6, "plausibl": 6, "cross": [6, 7, 11, 12], "entropi": [6, 7], "possibl": [6, 7, 8, 13, 15], "solut": [6, 7, 8, 9], "discuss": [6, 7, 9], "just": [6, 8, 9, 10, 11, 12, 13, 14], "further": [6, 7, 9], "enhanc": [6, 7, 9], "mixtur": [6, 9], "mini": 6, "alter": [6, 9], "deeper": [6, 9], "softmax": [6, 7], "convolut": [6, 7, 14], "earli": [6, 9], "stop": [6, 7, 9, 10], "unbias": [6, 9], "valuat": 6, "faster": [6, 9, 10], "stabl": [6, 9, 11], "howev": [6, 7, 8, 9, 11, 13], "applic": [6, 7, 8, 9, 13, 15, 17], "special": [6, 7, 9, 13], "framework": [6, 7, 9, 12], "pytorch": [6, 7, 9], "jax": [6, 7, 9], "tensorflow": [6, 7, 9], "mxnet": [6, 7, 9], "api": [6, 7, 9, 10], "gpu": [6, 7, 9], "develop": [6, 7, 9, 12, 17], "think": [6, 8], "potenti": 6, "issu": [6, 7, 8, 9, 17], "avoid": [6, 8], "mitig": [6, 9], "those": [6, 8, 9, 11, 13, 14], "document": [6, 7, 8, 12, 13, 15, 17], "card": 6, "margaret": 6, "mitchel": 6, "et": [6, 7], "al": [6, 7], "datasheet": 6, "timnit": 6, "gebru": 6, "talk": [6, 9], "pratyusha": [6, 9], "kalluri": [6, 9], "resourc": [6, 9], "thoma": [6, 9], "radic": [6, 9], "ai": [6, 7, 9], "podcast": [6, 9], "credit": [6, 12], "hsjeong5": 6, "without": [6, 8, 9, 10, 11, 13], "extern": 6, "test": [7, 9, 13], "licens": [7, 12, 15], "underli": [7, 9], "gym": 7, "atari": 7, "footprint": 7, "implement": [7, 8, 9, 14], "plai": [7, 9, 10], "game": 7, "screen": [7, 14], "go": [7, 8, 9, 10, 12, 13, 15], "player": 7, "racket": 7, "tenni": 7, "move": [7, 9, 11], "down": [7, 8, 9, 12], "tri": 7, "hit": 7, "ball": 7, "oppon": 7, "touch": 7, "goe": [7, 13], "past": [7, 9], "shot": 7, "win": [7, 12], "andrej": 7, "karpathi": 7, "bootcamp": 7, "uc": 7, "berkelei": 7, "mechan": [7, 9, 11], "theori": [7, 10, 13], "openai": 7, "while": [7, 9, 10, 12, 13], "simul": 7, "try": [7, 8, 9, 10, 13, 15], "literatur": 7, "link": [7, 10, 12], "conveni": [7, 9, 10, 14], "free": [7, 12], "colaboratori": 7, "tpu": 7, "acceler": [7, 11], "trial": 7, "interact": [7, 8, 9, 11, 15], "gain": [7, 10], "action": 7, "receiv": 7, "proce": [7, 13], "happen": [7, 9, 10, 13], "deem": 7, "present": [7, 9, 12, 14, 15], "what": [7, 9, 13, 15], "overal": 7, "detail": [7, 9, 10, 12, 13, 14, 15], "introductori": 7, "book": [7, 9], "richard": 7, "sutton": 7, "barton": 7, "concis": 7, "remain": [7, 10, 11], "finit": 7, "horizon": 7, "explor": [7, 10], "exploit": 7, "feedback": 7, "partial": 7, "instead": [7, 8, 9, 11, 13, 14, 15], "cumul": [7, 8], "known": [7, 10, 14], "estim": [7, 8, 14], "visit": [7, 9, 10], "probabl": [7, 9], "versu": 7, "often": [7, 9, 10], "99": 7, "sequenc": [7, 9], "sometim": [7, 8, 10], "trajectori": 7, "yield": [7, 10], "algorithm": [7, 9, 14], "belong": [7, 9, 14], "famili": [7, 9], "typic": [7, 12], "wide": 7, "ascent": 7, "object": [7, 11, 14], "monitor": 7, "wrapper": 7, "instanti": [7, 9], "env": 7, "v0": 7, "action_spac": 7, "get_action_mean": 7, "leftfir": 7, "rightfir": 7, "noop": 7, "fire": 7, "mp4": 7, "wrap": [7, 10], "around": [7, 8, 9, 10, 14], "kind": [7, 8, 9, 12, 13, 15], "rather": [7, 10, 12], "digest": 7, "fed": 7, "deepmind": 7, "dqn": 7, "210x160": 7, "encod": [7, 8], "box": [7, 14], "observation_spac": 7, "discret": 7, "fix": [7, 15], "class": [7, 9, 10, 17], "ed": 7, "core": 7, "random_fram": 7, "rgb_arrai": 7, "400": [7, 10], "80x80x1": 7, "ravel": [7, 10], "flatten": 7, "helper": [7, 9], "frame_preprocess": 7, "observation_fram": 7, "crop": 7, "195": [7, 11, 14], "downsampl": 7, "remov": [7, 8, 9, 14], "144": [7, 13], "eras": 7, "109": 7, "earlier": [7, 9], "80x80": 7, "preprocessed_random_fram": 7, "product": [7, 11, 12], "send": 7, "12288743": 7, "d": [7, 9, 11, 15], "neuron": 7, "200": [7, 14], "empti": [7, 11], "xavier": [7, 9], "standard_norm": [7, 9], "w1": 7, "w2": [7, 9], "outlin": [7, 15], "policy_forward": 7, "sigmoid": [7, 9], "logit": 7, "p": [7, 10], "exponenti": [7, 9], "policy_backward": 7, "eph": 7, "epdlogp": 7, "dw2": [7, 9], "dh": 7, "dw1": 7, "epx": 7, "intermedi": [7, 9], "sever": [7, 9], "dlogp": 7, "dr": 7, "manual": 7, "full": [7, 13], "vstack": [7, 9], "stage": [7, 9], "toward": [7, 9, 14], "rmsprop": 7, "decai": [7, 9], "decay_r": 7, "zeros_lik": 7, "buffer": 7, "grad_buff": 7, "k": [7, 9, 13], "v": [7, 8, 9, 11, 13], "rmsprop_cach": 7, "discount_reward": 7, "gamma": 7, "r": [7, 8, 9, 10, 11, 13], "discounted_r": 7, "running_add": 7, "pseudocod": 7, "predefin": [7, 9], "sign": 7, "lead": [7, 10], "appropri": [7, 8, 10, 13, 15], "setup": [7, 13], "demo": 7, "hardwar": [7, 13], "cpu": 7, "beyond": [7, 10], "comparison": 7, "took": [7, 9, 10], "max_episod": 7, "dictat": 7, "At": [7, 12], "batch_siz": 7, "1e": [7, 9], "debug": 7, "prev_x": 7, "running_reward": 7, "reward_sum": 7, "episode_numb": 7, "motion": 7, "update_input": 7, "cur_x": 7, "tag": [7, 9], "output_scrol": 7, "cours": [7, 10, 12, 13], "aprob": 7, "uniform": [7, 9], "cach": [7, 9, 13], "recal": [7, 13], "done": [7, 9, 10, 11, 12, 13], "epr": 7, "discounted_epr": 7, "std": 7, "grad": [7, 9], "henc": [7, 9], "throw": 7, "traini": 7, "shut": 7, "uncom": 7, "doesn": [7, 8, 9, 12], "span": 7, "reason": [7, 10, 13, 15], "simplifi": [7, 11], "everyth": 7, "autodiff": 7, "autograd": 7, "lot": [7, 10], "problem": [7, 8, 9, 11], "ineffici": 7, "account": [7, 8, 9, 14], "larg": [7, 9, 10], "amount": [7, 10, 14], "million": 7, "node": [7, 9], "being": [7, 9, 11, 12, 17], "assist": 7, "alwai": [7, 9, 13], "advanc": [7, 10], "sensit": [7, 9], "resolv": 7, "self": [7, 9, 17], "proxim": 7, "ppo": 7, "john": [7, 13], "schulman": 7, "month": 7, "dota": 7, "competit": [7, 14], "Of": [7, 10, 13], "smaller": [7, 10, 11], "fast": [7, 8], "matthew": 7, "botvinick": 7, "sam": 7, "ritter": 7, "jane": 7, "wang": 7, "zeb": 7, "kurth": 7, "nelson": 7, "charl": 7, "blundel": 7, "demi": 7, "hassabi": 7, "educ": [7, 9, 17], "materi": [7, 14, 15, 17], "spin": 7, "lectur": [7, 13, 14], "taught": 7, "practition": 7, "david": 7, "silver": 7, "ucl": 7, "recognit": 7, "translat": 7, "classif": [7, 9], "explicit": 7, "wrong": [7, 8], "reli": 7, "had": [7, 9, 13], "major": 7, "2013": 7, "alexnet": 7, "breakthrough": 7, "vision": [7, 9, 14], "volodymyr": 7, "mnih": 7, "colleagu": 7, "abl": [7, 8, 10, 12, 13], "classic": 7, "arcad": 7, "Their": 7, "q": 7, "replai": 7, "off": [7, 14], "alphago": 7, "mont": 7, "carlo": 7, "tree": [7, 17], "search": [7, 14], "2000": [7, 9], "influenc": [7, 9, 10], "ronald": 7, "william": 7, "1992": 7, "1986": 7, "1990": 7, "gerald": 7, "tesauro": 7, "tempor": 7, "td": 7, "gammon": 7, "1995": 7, "ibm": 7, "backgammon": 7, "ji": 7, "lin": 7, "robot": 7, "1993": 7, "solv": 7, "alphazero": 7, "master": 7, "chess": 7, "shogi": 7, "2018": 7, "alphastar": 7, "starcraft": 7, "actor": 7, "imit": 7, "distil": 7, "oriol": 7, "vinyal": 7, "battlefield": 7, "art": [7, 9], "dice": 7, "why": [7, 9, 17], "popular": [7, 9], "remot": [7, 9], "helicopt": 7, "pieter": 7, "abbeel": 7, "2006": 7, "virtual": 7, "safer": 7, "implic": 7, "neurosci": 7, "tool": [7, 11], "docker": 7, "freeglut3": 7, "dev": 7, "xvfb": 7, "x11": 7, "apt": 7, "txt": [7, 9], "configur": 7, "yml": [7, 15], "under": [7, 9, 11, 12, 13, 14], "channel": [7, 13, 14], "pyvirtualdisplai": 7, "anyth": [7, 12], "ffmpeg": 7, "pyopengl": 7, "ipythondisplai": 7, "html": [7, 9], "400x300": 7, "visibl": 7, "300": 7, "echo": 7, "star": 7, "sy": 7, "glob": 7, "base64": 7, "show_any_video": 7, "mp4video": 7, "mp4list": 7, "b64encod": 7, "alt": 7, "autoplai": 7, "height": 7, "400px": 7, "src": 7, "decod": 7, "gameplai": 7, "insid": [7, 8, 9, 10, 12], "instruct": [7, 10], "linux": 7, "maco": 7, "termin": 7, "offici": [7, 8, 9], "deal": [8, 9], "decid": [8, 9], "invalid": 8, "entri": [8, 11, 13, 15], "flag": 8, "unwant": 8, "somehow": 8, "nomask": 8, "associ": 8, "whether": [8, 9], "said": 8, "unmask": 8, "maskedarrai": 8, "datatyp": 8, "fill_valu": 8, "order": [8, 10, 11, 12, 13], "situat": 8, "copi": [8, 10, 17], "own": [8, 9, 13, 14, 17], "bug": 8, "possibli": 8, "compact": 8, "wish": [8, 9, 13], "exclud": 8, "Not": [8, 12], "specif": [8, 9, 10], "univers": [8, 9, 10, 13, 14], "ufunc": 8, "kaggl": [8, 14], "outbreak": 8, "begin": [8, 9, 10, 11, 12, 14], "late": 8, "getcwd": 8, "folder": [8, 9, 14], "filepath": 8, "filenam": 8, "mostli": 8, "seventh": 8, "summari": [8, 12], "extend": 8, "rightmost": 8, "lowermost": 8, "dai": 8, "record": [8, 9], "gather": 8, "genfromtxt": 8, "select": [8, 10, 13, 15, 17], "extract": [8, 9, 13, 14], "skip_head": 8, "portion": [8, 13], "str_": 8, "max_row": 8, "utf": 8, "sig": 8, "geograph": 8, "six": [8, 11], "nbcase": 8, "int_": 8, "string": [8, 9], "whole": [8, 9], "tick": 8, "transpos": [8, 13], "dash": 8, "selected_d": 8, "xtick": 8, "jan": 8, "feb": 8, "graph": [8, 11, 13], "strang": 8, "januari": 8, "februari": 8, "1st": 8, "know": [8, 9, 12, 13], "region": [8, 10, 14], "countri": [8, 9], "provinc": 8, "china": 8, "sens": [8, 13], "group": [8, 9], "totals_row": 8, "china_tot": 8, "247": 8, "288": 8, "817": 8, "11820": 8, "14410": 8, "17237": 8, "someth": [8, 13], "suppos": 8, "258": 8, "270": 8, "375": 8, "7153": 8, "9074": 8, "11177": 8, "520": 8, "604": 8, "683": 8, "422": 8, "493": 8, "566": 8, "attempt": [8, 9], "obvious": 8, "interfer": 8, "nbcases_ma": 8, "masked_valu": 8, "masked_arrai": 8, "mention": [8, 10], "attribut": 8, "mind": [8, 9, 13], "hubei": 8, "china_mask": 8, "278": 8, "574": 8, "835": 8, "11821": 8, "14411": 8, "17238": 8, "999999": 8, "directli": 8, "seem": [8, 9, 10], "agre": 8, "mainland": 8, "hong": 8, "kong": 8, "taiwan": 8, "macau": 8, "unspecifi": 8, "mayb": 8, "nonzero": 8, "correctli": 8, "308": 8, "440": 8, "11791": 8, "14380": 8, "17205": 8, "focus": [8, 9, 14], "mischaracter": 8, "evolut": 8, "curv": [8, 9], "interpol": 8, "int64": 8, "logic": 8, "negat": 8, "u7": 8, "cubic": 8, "line2d": 8, "0x7faaac7f7a60": 8, "elabor": 8, "unavail": 8, "28th": 8, "ytick": 8, "17500": 8, "ncubic": 8, "substitut": 8, "far": [8, 14], "usemask": 8, "topic": [8, 9], "found": [8, 10, 13, 17], "hardmask": 8, "softmask": 8, "ensheng": 8, "dong": 8, "hongru": 8, "du": 8, "lauren": 8, "gardner": 8, "web": [8, 9], "dashboard": 8, "lancet": 8, "infecti": 8, "diseas": 8, "volum": 8, "page": [8, 9, 10, 12, 13], "533": 8, "issn": 8, "1473": 8, "3099": 8, "doi": [8, 9], "org": 8, "1016": 8, "s1473": 8, "30120": 8, "social": 9, "relev": [9, 11], "acquir": 9, "recurr": 9, "piec": 9, "50": [9, 10, 13], "movi": 9, "sequenti": 9, "todai": [9, 10], "everydai": 9, "discriminatori": 9, "fair": 9, "consider": [9, 10], "consum": 9, "throughout": [9, 10], "question": [9, 10, 12], "pipelin": 9, "calculu": 9, "recommend": 9, "d2l": 9, "datafram": 9, "pooch": 9, "pointer": 9, "tend": [9, 10], "histor": 9, "skew": 9, "imbalanc": 9, "protect": 9, "bias": 9, "outcom": 9, "absenc": 9, "anonym": 9, "trevisan": 9, "reilli": 9, "care": [9, 13], "along": [9, 12, 14], "person": 9, "routin": 9, "impair": 9, "medic": [9, 14], "emot": 9, "pain": 9, "chronic": 9, "ill": 9, "financi": 9, "incom": 9, "welfar": 9, "payment": 9, "discrimin": 9, "abus": 9, "prais": 9, "healthcar": [9, 14], "servic": 9, "suicid": 9, "especi": [9, 14], "compromis": 9, "safeti": 9, "fingerprint": 9, "voic": 9, "difficult": 9, "consent": 9, "platform": 9, "necess": 9, "pseudonym": 9, "curat": [9, 15], "activist": 9, "former": 9, "latter": 9, "maa": 9, "eas": 9, "zenodo": 9, "usag": 9, "commerci": 9, "aforement": 9, "pertain": [9, 16], "globe": 9, "climat": 9, "femin": 9, "lgbtqa": 9, "racism": 9, "newspap": 9, "nation": [9, 14], "archiv": 9, "cite": 9, "transcrib": 9, "speaker": 9, "demograph": 9, "focu": [9, 10, 14], "barnard": 9, "colleg": 9, "leymah": 9, "gbowe": 9, "un": 9, "youth": 9, "malala": 9, "yousafzai": 9, "guardian": 9, "remark": 9, "unga": 9, "racial": 9, "linda": 9, "greenfield": 9, "mission": 9, "dare": 9, "greta": 9, "thunberg": 9, "nbc": 9, "silenc": 9, "severn": 9, "suzuki": 9, "earth": 9, "charter": 9, "hope": 9, "harvei": 9, "milk": 9, "museum": 9, "boston": 9, "thrive": 9, "confer": [9, 14], "ellen": 9, "huffpost": 9, "dream": 9, "martin": 9, "luther": 9, "king": 9, "marshal": 9, "crucial": [9, 11], "dive": 9, "brief": 9, "undertak": 9, "clean": 9, "denois": 9, "unhelp": 9, "nois": [9, 14], "lowercas": 9, "bracket": [9, 12], "sentenc": [9, 12], "cluster": 9, "embed": 9, "space": [9, 11], "glove": 9, "unsupervis": 9, "stanford": 9, "global": 9, "corpu": 9, "edu": 9, "project": [9, 10, 11, 17], "billion": 9, "token": 9, "840": 9, "exhibit": 9, "stereotyp": 9, "gender": 9, "trace": 9, "occup": 9, "problemat": 9, "nearest": 9, "de": [9, 14], "cs224n": 9, "1184": 9, "6835575": 9, "pdf": 9, "pd": 9, "zipfil": 9, "textpreprocess": 9, "txt_to_df": 9, "str": 9, "imdb_train": 9, "in_fil": 9, "strip": 9, "df": [9, 10], "reset_index": 9, "drop": 9, "unzipp": 9, "to_extract": 9, "outdir": 9, "output_fil": 9, "cleantext": 9, "text_column": 9, "remove_stopword": 9, "remove_punc": 9, "hous": 9, "bool": [9, 14], "stopword": 9, "punctuat": 9, "symbol": 9, "gist": 9, "sebleier": 9, "554280": 9, "am": 9, "he": 9, "her": 9, "herself": 9, "him": 9, "himself": 9, "m": [9, 11, 13], "itself": [9, 10], "me": 9, "my": 9, "myself": 9, "nor": 9, "ought": 9, "she": 9, "theirs": 9, "themselv": [9, 10], "too": 9, "whom": 9, "yourselv": 9, "remove_tag": 9, "sub": 9, "data_without_stopword": 9, "clean_": 9, "cw": 9, "regex": 9, "to_numpi": 9, "sent_tokenis": 9, "w": [9, 11], "pop": 9, "sentences_clean": 9, "word_tokenis": 9, "loadglovemodel": 9, "emb_path": 9, "dict": 9, "glovemodel": 9, "splitlin": 9, "wordembed": 9, "text_to_para": 9, "para_len": 9, "paragraph": 9, "no_para": 9, "ceil": 9, "aggreg": 9, "divmod": 9, "agg_sent": 9, "para": 9, "sent": 9, "scientist": 9, "registri": 9, "system": [9, 10, 11, 12], "os_cach": 9, "hash": 9, "uncorrupt": 9, "6a38ea6ab5e1902cc03f6b9294ceea5e8ab985af991f35bcabd301a08ea5b3f0": 9, "imdb_test": 9, "7363ef08ad996bf4233b115008d6d7f9814b7cc0f4d13ab570b938701eadefeb": 9, "6b": 9, "50d": 9, "617afb2fe6cbd085c235baf7a465b96f4112bd7f7ccb2b2cbd649fed9cbcf2fb": 9, "custom": 9, "5281": 9, "4117827": 9, "textproc": 9, "train_df": 9, "test_df": 9, "occurr": 9, "ahead": [9, 13], "refrain": 9, "speech_data_path": 9, "speech_df": 9, "read_csv": 9, "x_pred": 9, "unzip": 9, "act": [9, 11], "300d": 9, "emb_matrix": 9, "plain": 9, "suitabl": 9, "multilay": 9, "mlp": 9, "straight": 9, "never": [9, 12], "share": [9, 12, 16, 17], "moreov": 9, "vari": [9, 10, 11], "rnn": 9, "regardless": [9, 13], "retain": [9, 13], "blow": 9, "connect": 9, "shortcom": 9, "vanish": 9, "address": 9, "gif": [9, 14], "rectangl": [9, 13], "respons": [9, 11], "rememb": [9, 15], "via": [9, 14], "c_": 9, "dedic": 9, "gate": 9, "initialise_param": 9, "hidden_dim": 9, "input_dim": 9, "wf": 9, "bf": 9, "wi": 9, "bi": [9, 10], "candid": 9, "wcm": 9, "bcm": 9, "wo": 9, "bo": 9, "b2": 9, "forgotten": 9, "similarli": [9, 11, 13], "stai": 9, "fmin": 9, "ab": [9, 10, 11], "old": 9, "attent": 9, "fp_forget_g": 9, "concat": 9, "ft": 9, "govern": 9, "tanh": 9, "regul": 9, "flow": 9, "fp_input_g": 9, "cmt": 9, "fp_output_g": 9, "next_c": 9, "ot": 9, "next_h": 9, "firstli": 9, "fp_fc_layer": 9, "last_h": 9, "z2": 9, "a2": 9, "forward_prop": 9, "x_vec": 9, "time_step": 9, "initialis": 9, "prev_h": 9, "prev_c": 9, "lstm_valu": 9, "fc_valu": 9, "happi": 9, "xt": 9, "lstm_cach": 9, "fc_cach": 9, "accumul": [9, 13], "straightforward": [9, 12, 14], "nonetheless": 9, "initialize_grad": 9, "param": 9, "behind": [9, 10], "suggest": [9, 12, 14], "christina": 9, "kouridi": 9, "bp_forget_g": 9, "dh_prev": 9, "dc_prev": 9, "dft": 9, "dl": 9, "da2": 9, "dz2": 9, "dwf": 9, "dbf": 9, "keepdim": 9, "dh_f": 9, "bp_input_g": 9, "dit": 9, "dcmt": 9, "dwi": 9, "dwcm": 9, "dbi": 9, "dbcm": 9, "dhi": 9, "dh_i": 9, "dhcm": 9, "dh_cm": 9, "bp_output_g": 9, "dwo": 9, "dbo": 9, "dho": 9, "dh_o": 9, "bp_fc_layer": 9, "db2": 9, "dh_last": 9, "backprop": 9, "relat": [9, 10, 11, 13], "prev": 9, "adam": 9, "stochast": 9, "recent": [9, 12], "broader": 9, "beta1": 9, "beta2": 9, "converg": [9, 10], "robust": 9, "initialise_mav": 9, "update_paramet": 9, "001": 9, "impli": 9, "poorli": 9, "behav": 9, "likelihood": 9, "loss_f": 9, "epsilon": 9, "divis": [9, 12], "squeez": 9, "testing_loss": 9, "train_j": 9, "y_pred": 9, "test_j": 9, "mean_train_cost": 9, "mean_test_cost": 9, "diagnos": 9, "add_subplot": [9, 11], "111": [9, 13], "set_ylabel": [9, 10], "break": [9, 11], "isfil": 9, "allow_pickl": 9, "enumer": [9, 10], "pred": 9, "para_token": 9, "sent_prob": 9, "threshold": [9, 10, 14], "pos_indic": 9, "neg_indic": 9, "pos_para": 9, "neg_para": 9, "no_pos_para": 9, "no_neg_para": 9, "percentag": 9, "pos_perc": 9, "bar": 9, "carri": 9, "priorit": 9, "clariti": 9, "neighbor": 9, "context": [9, 14], "led": 9, "encourag": [9, 10, 13], "tweak": [9, 10], "easi": [9, 12], "primarili": 9, "express": [9, 10, 12], "ironi": 9, "sarcasm": 9, "humor": 9, "media": 9, "abbrevi": 9, "neatli": 9, "convei": [9, 10, 11], "ag": 9, "grow": [9, 10], "induct": 9, "essenti": 9, "contextu": 9, "aris": [9, 10], "societ": 9, "creep": 9, "amplifi": [9, 12], "femal": 9, "male": 9, "awar": [9, 13], "demand": 9, "drill": 9, "ethnic": 9, "hopefulli": 9, "explod": [9, 10], "bidirect": 9, "nowadai": 9, "tackl": 9, "plagu": 9, "transfer": 9, "parallel": 9, "lengthi": 9, "ture": 9, "institut": [9, 14], "www": 9, "ac": [9, 11], "uk": 9, "intellig": 9, "shift": 9, "beauti": 10, "compel": 10, "oftentim": 10, "rel": [10, 14], "coastlin": 10, "seashel": 10, "fern": 10, "antenna": 10, "realli": 10, "began": 10, "truli": 10, "appreci": 10, "1970": 10, "graphic": [10, 12], "accident": 10, "discoveri": 10, "beno\u00eet": 10, "stumbl": 10, "mystifi": 10, "possess": 10, "ever": 10, "effici": 10, "variat": 10, "uniqu": 10, "make_axis_locat": 10, "mpl_toolkit": 10, "axes_grid1": 10, "make_axes_locat": 10, "elementari": 10, "expon": 10, "sin": 10, "shortli": 10, "behaviour": 10, "2j": 10, "4j": 10, "shrink": 10, "plane": 10, "mesh": 10, "meshgrid": 10, "1j": 10, "greatli": 10, "absolut": 10, "modulu": 10, "3d": [10, 11], "scatterplot": 10, "imaginari": 10, "set_zlabel": 10, "rough": [10, 15], "closest": 10, "0i": 10, "lose": 10, "impress": 10, "mundan": 10, "meet": [10, 17], "ey": 10, "exot": 10, "z_1": 10, "4i": 10, "z_2": 10, "z_3": 10, "1i": 10, "selected_valu": 10, "41j": 10, "num_it": 10, "colorbar": 10, "bottom": [10, 12], "surpris": 10, "hypothesi": 10, "prime": 10, "chaotic": 10, "jump": 10, "despit": [10, 11], "tini": 10, "diverg": 10, "although": [10, 13], "uncertain": 10, "surpass": 10, "distanc": [10, 11, 14], "doom": 10, "radiu": [10, 11], "quantifi": 10, "answer": [10, 12], "pose": 10, "talli": 10, "divergence_r": 10, "diverge_len": 10, "conv_mask": 10, "confus": 10, "glanc": 10, "quicker": 10, "suffici": 10, "unbeat": 10, "condition": 10, "resort": 10, "colour": 10, "im": 10, "extent": 10, "cax": 10, "append_ax": 10, "pad": 10, "stun": 10, "yellow": 10, "purpl": 10, "pattern": 10, "border": 10, "fascin": 10, "realiz": 10, "fill": [10, 12], "likewis": 10, "boundari": 10, "greenish": 10, "wider": 10, "reus": 10, "rest": 10, "small_mesh": 10, "plot_fract": 10, "rainbow": 10, "newli": 10, "kwarg": 10, "pi": [10, 14], "eleg": 10, "plasma": 10, "75": 10, "greens_r": 10, "famou": 10, "equival": 10, "infinit": 10, "renam": 10, "complex128": 10, "hot": [10, 14], "general_julia": 10, "cool": 10, "emerg": 10, "stick": 10, "rais": 10, "base_degre": 10, "needless": 10, "fiddl": 10, "densiti": 10, "involv": [10, 11], "subtract": 10, "ratio": 10, "newton_fract": 10, "pz": 10, "dp": 10, "effortlessli": 10, "lightgrai": 10, "15z": 10, "8z": 10, "60z": 10, "copper": 10, "tan": 10, "dz": 10, "sec": 10, "f_tan": 10, "d_tan": 10, "neat": 10, "wild": 10, "sum_": 10, "sin_sum": 10, "d_sin_sum": 10, "wacki": 10, "fun": 10, "terrain": [10, 14], "distinct": [10, 12], "yet": 10, "excit": 10, "gist_stern": 10, "sine": 10, "plasma_r": 10, "jet": 10, "got": 10, "accid": 10, "mistak": 10, "endless": 10, "suppli": 10, "creation": 10, "tinker": 10, "complic": [10, 11], "verifi": 10, "recap": 10, "hausdorff": 10, "treatment": 10, "floor": 11, "beam": 11, "reaction": 11, "resist": 11, "movement": 11, "cabl": 11, "unkown": 11, "comand": 11, "linalg": [11, 13], "norm": [11, 13], "mass": 11, "awai": 11, "f_x": 11, "f_y": 11, "f_z": 11, "r_x": 11, "r_y": 11, "r_z": 11, "centroid": 11, "forcea": 11, "forceb": 11, "quiver": 11, "d3": 11, "set_xlim": 11, "set_ylim": 11, "set_zlim": 11, "eman": 11, "meant": 11, "easili": 11, "forcec": 11, "counteract": 11, "prior": [11, 13], "broken": 11, "nullifi": 11, "signifi": 11, "outli": 11, "rotat": 11, "experienc": 11, "coordin": 11, "stationari": 11, "pole": 11, "secur": 11, "ground": 11, "5n": 11, "perpendicularli": 11, "2m": 11, "wire": 11, "attach": 11, "tension": 11, "cord": 11, "3m": 11, "polebas": 11, "cordbas": 11, "cordconnect": 11, "poledirect": 11, "corddirect": 11, "cordunit": 11, "83205029": 11, "5547002": 11, "cordtens": 11, "forcecord": 11, "16025147": 11, "77350098": 11, "momentcord": 11, "32050294": 11, "meter": 11, "bd": 11, "BE": 11, "cf": 11, "unitbd": 11, "unitb": 11, "unitcf": 11, "radbd": 11, "radb": 11, "radcf": 11, "t_": 11, "r_": 11, "390": 11, "130": [11, 13], "780": 11, "1170": 11, "f_": 11, "m_": 11, "2t_": 11, "unknown": 11, "780n": 11, "390n": 11, "195n": 11, "1170n": 11, "130n": 11, "kinet": 11, "veloc": 11, "beer": 11, "johnston": 11, "mazurek": 11, "daniel": 12, "procida": 12, "di\u00e1taxi": 12, "cc": 12, "BY": 12, "sa": 12, "templat": 12, "craft": 12, "distinguish": [12, 13], "portrait": 12, "intend": 12, "school": 12, "bullet": 12, "overexplain": 12, "bog": 12, "obscur": 12, "knew": 12, "enthusiasm": 12, "imagin": 12, "audienc": 12, "willing": 12, "incomplet": 12, "english": [12, 15], "ordinarili": 12, "abstract": 12, "tipoff": 12, "bake": 12, "cake": 12, "endpoint": 12, "payoff": 12, "recip": 12, "ingredi": 12, "readi": [12, 13], "oven": 12, "expert": 12, "writer": 12, "learner": 12, "fall": 12, "grade": 12, "ye": 12, "assur": 12, "except": [12, 13], "invit": 12, "artist": 12, "toolset": 12, "aren": 12, "scan": 12, "somebodi": 12, "polish": [12, 15], "decor": 12, "likeli": 12, "engag": [12, 15], "towner": 12, "feel": 12, "pick": 12, "destin": 12, "sight": 12, "recur": 12, "crossrefer": 12, "strengthen": 12, "bad": 12, "traceback": 12, "comment": [12, 15], "tripl": 12, "backquot": 12, "won": 12, "angl": 12, "lt": 12, "gt": 12, "zerodivisionerror": 12, "bbe761e74a70": 12, "exercis": 12, "perhap": 12, "footnot": 12, "spoiler": 12, "ideal": 12, "bare": 12, "inspir": 12, "decomposit": 13, "singular": 13, "todo": 13, "rm": 13, "minimum": [13, 14], "importerror": 13, "misc": 13, "v1": 13, "img": [13, 14], "dat": 13, "githubusercont": 13, "home": 13, "circleci": 13, "imread": [13, 14], "submodul": 13, "imageio": 13, "treat": 13, "crash": 13, "scikit": [13, 14], "inlin": 13, "forth": 13, "768": 13, "1024": [13, 14], "tupl": 13, "fact": 13, "rgb": 13, "768x1024": 13, "furthermor": 13, "ndim": 13, "3rd": 13, "syntax": 13, "138": 13, "153": 13, "119": 13, "131": 13, "139": 13, "89": 13, "110": 13, "118": 13, "134": 13, "146": 13, "115": 13, "117": 13, "133": 13, "107": 13, "120": 13, "85": 13, "112": 13, "img_arrai": 13, "scalar": [13, 14], "broadcast": 13, "img_as_float": 13, "inquir": 13, "red_arrai": 13, "green_arrai": 13, "blue_arrai": 13, "diagon": 13, "largest": 13, "smallest": 13, "colorimetri": 13, "fairli": 13, "2126": 13, "7152": 13, "0722": 13, "matmul": 13, "img_grai": 13, "colormap": [13, 14], "vt": 13, "worri": [13, 15], "pretti": 13, "compat": [13, 14], "valueerror": 13, "econom": 13, "reconstruct": 13, "768x768": 13, "1024x1024": [13, 14], "fill_diagon": 13, "explan": 13, "43712046073728e": 13, "allclos": 13, "150th": 13, "intact": 13, "approx": 13, "wors": 13, "instinct": 13, "mxn": 13, "permut": 13, "fortun": 13, "reorder": 13, "img_array_transpos": 13, "reassembl": 13, "interchang": 13, "indistinguish": 13, "outsid": 13, "558487697898684e": 13, "0000000000000053": 13, "clip": 13, "excis": 13, "peform": 13, "hood": 13, "warn": 13, "messag": 13, "approx_img": 13, "unfamiliar": 13, "ellipsi": 13, "placehold": 13, "sharp": 13, "golub": 13, "van": 13, "loan": 13, "baltimor": 13, "hopkin": 13, "press": 13, "1985": 13, "matlab": 13, "idl": 13, "workflow": [14, 15], "pneumonia": 14, "particularli": 14, "radiologi": 14, "chestx": 14, "ray8": 14, "health": 14, "nih": 14, "png": 14, "patient": 14, "repositori": [14, 15, 17], "cvpr": 14, "gigabyt": 14, "quickstart": 14, "dicom": 14, "suit": 14, "ndimag": 14, "00000011_001": 14, "dir": 14, "xray_imag": 14, "v3": 14, "008": 14, "num_img": 14, "combined_xray_images_1": 14, "00000011_00": 14, "anim": 14, "mimwrit": 14, "gif_path": 14, "durat": 14, "biomed": 14, "emphas": 14, "rapid": 14, "smooth": 14, "gaussian_laplac": 14, "xray_image_laplace_gaussian": 14, "frequenc": 14, "gaussian_gradient_magnitud": 14, "x_ray_image_gaussian_gradi": 14, "spatial": 14, "horizont": 14, "vertic": 14, "3x3": 14, "kernel": 14, "pythagorean": 14, "theorem": 14, "hypot": 14, "rescal": 14, "output_channel": 14, "input_channel": 14, "min_valu": 14, "max_valu": 14, "x_sobel": 14, "y_sobel": 14, "xray_image_sobel": 14, "float16": 14, "float32": 14, "cmrmap": 14, "fourier": 14, "smoothen": 14, "prewitt": 14, "fourier_gaussian": 14, "x_prewitt": 14, "y_prewitt": 14, "xray_image_canni": 14, "prism": 14, "nipy_spectr": 14, "array_lik": 14, "median": 14, "172": 14, "52233219146729": 14, "256": 14, "histogram": 14, "pixel_intensity_distribut": 14, "bin": 14, "240": 14, "exceed": 14, "150": 14, "xray_image_mask_noisi": 14, "xray_image_mask_less_noisi": 14, "noisi": 14, "openi": 14, "databas": 14, "bandwidth": 14, "restrict": 14, "segment": 14, "pydicom": 14, "quest": 14, "datacamp": 14, "raspberri": 14, "maker": 14, "portal": 14, "slide": 14, "cs6670": 14, "cornel": 14, "carpentri": 14, "385": 14, "carnegi": 14, "mellon": 14, "welcom": 15, "propos": 15, "pleas": 15, "draft": 15, "commun": [15, 17], "effort": 15, "artwork": 15, "myst": 15, "nb": 15, "jupytext": 15, "commonmark": 15, "repo": 15, "restructuredtext": 15, "rst": 15, "barrier": 15, "ipynb": [15, 17], "plan": 15, "respond": 15, "quickli": 15, "fork": 15, "haven": 15, "branch": 15, "readm": 15, "edit": 15, "secret": 15, "properli": 15, "submiss": 15, "mask": [16, 17], "button": 17, "rocket": 17, "icon": 17, "corner": 17, "conduct": 17, "team": 17, "nep": 17}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"numpi": [0, 2, 4, 6, 11, 12, 16, 17], "applic": [0, 11], "articl": [1, 17], "help": [1, 17], "improv": [1, 17], "tutori": [1, 12, 15, 17], "determin": [2, 11], "moor": 2, "": [2, 4, 5, 9, 11, 12], "law": [2, 11], "real": [2, 12], "data": [2, 4, 6, 8, 9], "what": [2, 3, 4, 5, 8, 10, 11, 12], "you": [2, 3, 4, 5, 8, 9, 10, 11, 12], "ll": [2, 3, 4, 5, 8, 10, 11, 12], "do": [2, 3, 4, 5, 8, 9, 10, 11, 12], "skill": 2, "learn": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "need": [2, 3, 4, 5, 8, 10, 11, 12], "build": [2, 5, 6, 9], "an": [2, 9, 13, 14, 15], "exponenti": 2, "function": [2, 7], "load": [2, 4, 6, 9], "histor": 2, "manufactur": 2, "your": [2, 3, 4, 7, 10, 12, 15], "workspac": 2, "calcul": [2, 5], "growth": 2, "curv": 2, "transistor": 2, "share": [2, 4], "result": [2, 14], "zip": 2, "arrai": [2, 4, 8, 13, 14], "csv": [2, 4], "file": [2, 3, 4], "creat": [2, 4, 7, 10, 15], "own": [2, 10, 12, 15], "comma": 2, "separ": 2, "valu": [2, 5, 11], "wrap": [2, 3, 4, 11], "up": [2, 3, 4, 7, 11], "refer": [2, 8, 11], "pair": [3, 5], "jupyt": [3, 7, 15], "notebook": [3, 7, 12, 15], "myst": 3, "nb": 3, "background": 3, "ipynb": 3, "md": 3, "1": [3, 6, 9], "classic": 3, "jupytext": 3, "2": [3, 6, 9], "jupyterlab": 3, "3": [3, 6, 9], "command": 3, "line": 3, "save": 4, "savez": 4, "remov": 4, "them": 4, "back": 4, "reassign": 4, "npzfile": 4, "x": [4, 14], "y": 4, "success": 4, "anoth": [4, 11], "option": 4, "human": 4, "readabl": 4, "rearrang": 4, "singl": 4, "2d": 4, "us": [4, 8, 12, 14, 17], "savetxt": 4, "our": [4, 9, 15], "rememb": 4, "type": 4, "analyz": 5, "impact": 5, "lockdown": 5, "air": 5, "qualiti": 5, "delhi": 5, "india": 5, "The": [5, 12, 14], "problem": 5, "pollut": 5, "dataset": [5, 6, 9, 12], "index": 5, "move": 5, "averag": 5, "sub": 5, "indic": 5, "student": 5, "t": 5, "test": [5, 6], "aqi": 5, "sampl": 5, "defin": [5, 7], "hypothesi": 5, "statist": 5, "p": 5, "mean": 5, "In": [5, 8, 10, 12], "practic": [5, 8, 12], "further": [5, 8, 10, 12, 13], "read": [5, 8, 10, 12, 13], "deep": [6, 7, 9], "mnist": 6, "prerequisit": [6, 7, 9, 13, 14], "tabl": [6, 7, 9, 14], "content": [6, 7, 9, 13, 14, 15, 17], "preprocess": [6, 7, 9], "convert": 6, "imag": [6, 14], "float": 6, "point": 6, "format": 6, "label": 6, "through": 6, "categor": 6, "one": 6, "hot": 6, "encod": 6, "train": [6, 7, 9], "small": 6, "neural": [6, 7, 9], "network": [6, 7, 9], "from": [6, 7, 9], "scratch": 6, "block": 6, "model": [6, 9], "architectur": [6, 9], "summari": 6, "compos": 6, "begin": 6, "next": [6, 7, 9, 14], "step": [6, 7, 9, 14], "reinforc": 7, "pong": 7, "pixel": 7, "A": 7, "note": [7, 15], "rl": 7, "glossari": 7, "set": [7, 10], "frame": 7, "observ": 7, "polici": 7, "forward": [7, 9], "pass": 7, "updat": [7, 9], "backpropag": [7, 9], "discount": 7, "reward": 7, "expect": 7, "return": 7, "agent": 7, "number": 7, "episod": 7, "appendix": 7, "how": [7, 9, 12], "video": 7, "playback": 7, "mask": [8, 14], "ar": [8, 12], "when": [8, 12], "can": 8, "thei": 8, "see": 8, "covid": 8, "19": 8, "explor": 8, "miss": 8, "fit": 8, "sentiment": 9, "analysi": 9, "notabl": 9, "speech": 9, "last": 9, "decad": 9, "collect": 9, "imdb": 9, "review": 9, "transcript": 9, "introduct": 9, "long": 9, "short": 9, "term": 9, "memori": 9, "overview": 9, "propag": 9, "But": 9, "obtain": 9, "lstm": 9, "output": 9, "paramet": 9, "look": 9, "ethic": 9, "perspect": 9, "plot": [10, 12], "fractal": 10, "warmup": 10, "julia": 10, "mandelbrot": 10, "gener": 10, "newton": [10, 11], "conclus": 10, "On": [10, 12], "static": 11, "equilibrium": 11, "solv": 11, "second": [11, 14], "sum": 11, "moment": 11, "find": 11, "physic": 11, "properti": [11, 13], "exampl": 11, "addit": 11, "write": 12, "after": 12, "horizont": 12, "rule": 12, "start": 12, "head": 12, "titl": 12, "have": 12, "verb": 12, "lowercas": 12, "sai": 12, "why": [12, 15], "differ": 12, "avoid": 12, "asid": 12, "illustr": 12, "possibl": 12, "similar": 12, "make": 12, "googl": 12, "doc": 12, "style": 12, "guid": 12, "must": 12, "fulli": 12, "execut": [12, 17], "linear": 13, "algebra": 13, "n": 13, "dimension": 13, "learner": 13, "profil": 13, "object": 13, "shape": 13, "axi": 13, "oper": [13, 14], "approxim": 13, "appli": [13, 14], "all": 13, "color": 13, "product": 13, "final": 13, "word": 13, "rai": 14, "process": 14, "examin": 14, "imageio": 14, "combin": 14, "multidimension": 14, "demonstr": 14, "progress": 14, "edg": 14, "detect": 14, "laplacian": 14, "gaussian": 14, "gradient": 14, "sobel": 14, "canni": 14, "filter": 14, "laplac": 14, "deriv": 14, "magnitud": 14, "method": 14, "feldman": 14, "np": 14, "where": 14, "compar": 14, "contribut": 15, "ad": 15, "issu": 15, "check": 15, "out": 15, "suggest": 15, "templat": 15, "upload": 15, "featur": 16, "non": 17, "link": 17, "resourc": 17}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 60}, "alltitles": {"NumPy Applications": [[0, "numpy-applications"]], "Articles": [[1, "articles"]], "Help improve the tutorials!": [[1, null], [17, null]], "Determining Moore\u2019s Law with real data in NumPy": [[2, "determining-moore-s-law-with-real-data-in-numpy"]], "What you\u2019ll do": [[2, "what-you-ll-do"], [3, "what-you-ll-do"], [4, "what-you-ll-do"], [5, "what-you-ll-do"], [8, "what-you-ll-do"], [10, "what-you-ll-do"], [12, "what-you-ll-do"]], "Skills you\u2019ll learn": [[2, "skills-you-ll-learn"]], "What you\u2019ll need": [[2, "what-you-ll-need"], [3, "what-you-ll-need"], [4, "what-you-ll-need"], [5, "what-you-ll-need"], [8, "what-you-ll-need"], [10, "what-you-ll-need"], [12, "what-you-ll-need"]], "Building Moore\u2019s law as an exponential function": [[2, "building-moore-s-law-as-an-exponential-function"]], "Loading historical manufacturing data to your workspace": [[2, "loading-historical-manufacturing-data-to-your-workspace"]], "Calculating the historical growth curve for transistors": [[2, "calculating-the-historical-growth-curve-for-transistors"]], "Sharing your results as zipped arrays and a csv": [[2, "sharing-your-results-as-zipped-arrays-and-a-csv"]], "Zipping the arrays into a file": [[2, "zipping-the-arrays-into-a-file"]], "Creating your own comma separated value file": [[2, "creating-your-own-comma-separated-value-file"]], "Wrapping up": [[2, "wrapping-up"], [3, "wrapping-up"], [4, "wrapping-up"], [11, "wrapping-up"]], "References": [[2, "references"], [11, "references"]], "Pairing Jupyter notebooks and MyST-NB": [[3, "pairing-jupyter-notebooks-and-myst-nb"]], "What you\u2019ll learn": [[3, "what-you-ll-learn"], [4, "what-you-ll-learn"], [5, "what-you-ll-learn"], [8, "what-you-ll-learn"], [10, "what-you-ll-learn"], [12, "what-you-ll-learn"]], "Background": [[3, "background"]], "Pair your notebook files .ipynb and .md": [[3, "pair-your-notebook-files-ipynb-and-md"]], "1. Classic Jupyter Jupytext pairing": [[3, null]], "2. JupyterLab Jupytext pairing": [[3, null]], "3. Command line Jupytext pairing": [[3, null]], "Saving and sharing your NumPy arrays": [[4, "saving-and-sharing-your-numpy-arrays"]], "Create your arrays": [[4, "create-your-arrays"]], "Save your arrays with NumPy\u2019s savez": [[4, "save-your-arrays-with-numpy-s-savez"]], "Remove the saved arrays and load them back with NumPy\u2019s load": [[4, "remove-the-saved-arrays-and-load-them-back-with-numpy-s-load"]], "Reassign the NpzFile arrays to x and y": [[4, "reassign-the-npzfile-arrays-to-x-and-y"]], "Success": [[4, "success"]], "Another option: saving to human-readable csv": [[4, "another-option-saving-to-human-readable-csv"]], "Rearrange the data into a single 2D array": [[4, "rearrange-the-data-into-a-single-2d-array"]], "Save the data to csv file using savetxt": [[4, "save-the-data-to-csv-file-using-savetxt"]], "Our arrays as a csv file": [[4, "our-arrays-as-a-csv-file"]], "Success, but remember your types": [[4, "success-but-remember-your-types"]], "Analyzing the impact of the lockdown on air quality in Delhi, India": [[5, "analyzing-the-impact-of-the-lockdown-on-air-quality-in-delhi-india"]], "The problem of air pollution": [[5, "the-problem-of-air-pollution"]], "Building the dataset": [[5, "building-the-dataset"]], "Calculating the Air Quality Index": [[5, "calculating-the-air-quality-index"]], "Moving averages": [[5, "moving-averages"]], "Sub-indices": [[5, "sub-indices"]], "Air quality indices": [[5, "air-quality-indices"]], "Paired Student\u2019s t-test on the AQIs": [[5, "paired-student-s-t-test-on-the-aqis"]], "Sampling": [[5, "sampling"]], "Defining the hypothesis": [[5, "defining-the-hypothesis"]], "Calculating the test statistics": [[5, "calculating-the-test-statistics"]], "What do the t and p values mean?": [[5, "what-do-the-t-and-p-values-mean"]], "In practice\u2026": [[5, "in-practice"], [12, "in-practice"]], "Further reading": [[5, "further-reading"], [8, "further-reading"], [10, "further-reading"], [12, "further-reading"], [13, "further-reading"]], "Deep learning on MNIST": [[6, "deep-learning-on-mnist"]], "Prerequisites": [[6, "prerequisites"], [7, "prerequisites"], [9, "prerequisites"], [13, "prerequisites"], [14, "prerequisites"]], "Table of contents": [[6, "table-of-contents"], [7, "table-of-contents"], [9, "table-of-contents"], [14, "table-of-contents"]], "1. Load the MNIST dataset": [[6, "load-the-mnist-dataset"]], "2. Preprocess the data": [[6, "preprocess-the-data"]], "Convert the image data to the floating-point format": [[6, "convert-the-image-data-to-the-floating-point-format"]], "Convert the labels to floating point through categorical/one-hot encoding": [[6, "convert-the-labels-to-floating-point-through-categorical-one-hot-encoding"]], "3. Build and train a small neural network from scratch": [[6, "build-and-train-a-small-neural-network-from-scratch"]], "Neural network building blocks with NumPy": [[6, "neural-network-building-blocks-with-numpy"]], "Model architecture and training summary": [[6, "model-architecture-and-training-summary"]], "Compose the model and begin training and testing it": [[6, "compose-the-model-and-begin-training-and-testing-it"]], "Next steps": [[6, "next-steps"], [7, "next-steps"], [14, "next-steps"]], "Deep reinforcement learning with Pong from pixels": [[7, "deep-reinforcement-learning-with-pong-from-pixels"]], "A note on RL and deep RL": [[7, "a-note-on-rl-and-deep-rl"]], "Deep RL glossary": [[7, "deep-rl-glossary"]], "Set up Pong": [[7, "set-up-pong"]], "Preprocess frames (the observation)": [[7, "preprocess-frames-the-observation"]], "Create the policy (the neural network) and the forward pass": [[7, "create-the-policy-the-neural-network-and-the-forward-pass"]], "Set up the update step (backpropagation)": [[7, "set-up-the-update-step-backpropagation"]], "Define the discounted rewards (expected return) function": [[7, "define-the-discounted-rewards-expected-return-function"]], "Train the agent for a number of episodes": [[7, "train-the-agent-for-a-number-of-episodes"]], "Appendix": [[7, "appendix"]], "Notes on RL and deep RL": [[7, "notes-on-rl-and-deep-rl"]], "How to set up video playback in your Jupyter notebook": [[7, "how-to-set-up-video-playback-in-your-jupyter-notebook"]], "Masked Arrays": [[8, "masked-arrays"]], "What are masked arrays?": [[8, "what-are-masked-arrays"]], "When can they be useful?": [[8, "when-can-they-be-useful"]], "Using masked arrays to see COVID-19 data": [[8, "using-masked-arrays-to-see-covid-19-data"]], "Exploring the data": [[8, "exploring-the-data"]], "Missing data": [[8, "missing-data"]], "Fitting Data": [[8, "fitting-data"]], "In practice": [[8, "in-practice"]], "Reference": [[8, "reference"]], "Sentiment Analysis on notable speeches of the last decade": [[9, "sentiment-analysis-on-notable-speeches-of-the-last-decade"]], "1. Data Collection": [[9, "data-collection"]], "Collecting the IMDb reviews dataset": [[9, "collecting-the-imdb-reviews-dataset"]], "Collecting and loading the speech transcripts": [[9, "collecting-and-loading-the-speech-transcripts"]], "2. Preprocess the datasets": [[9, "preprocess-the-datasets"]], "3. Build the Deep Learning Model\u00b6": [[9, "build-the-deep-learning-model"]], "Introduction to a Long Short Term Memory Network": [[9, "introduction-to-a-long-short-term-memory-network"]], "Overview of the Model Architecture": [[9, "overview-of-the-model-architecture"]], "Forward Propagation": [[9, "forward-propagation"]], "But how do you obtain sentiment from the LSTM\u2019s output?": [[9, "but-how-do-you-obtain-sentiment-from-the-lstm-s-output"]], "Backpropagation": [[9, "backpropagation"]], "Updating the Parameters": [[9, "updating-the-parameters"]], "Training the Network": [[9, "training-the-network"]], "Sentiment Analysis on the Speech Data": [[9, "sentiment-analysis-on-the-speech-data"]], "Looking at our Neural Network from an ethical perspective": [[9, "looking-at-our-neural-network-from-an-ethical-perspective"]], "Next Steps": [[9, "next-steps"]], "Plotting Fractals": [[10, "plotting-fractals"]], "Warmup": [[10, "warmup"]], "Julia set": [[10, "julia-set"]], "Mandelbrot set": [[10, "mandelbrot-set"]], "Generalizing the Julia set": [[10, "generalizing-the-julia-set"]], "Newton Fractals": [[10, "newton-fractals"]], "Creating your own fractals": [[10, "creating-your-own-fractals"]], "In conclusion": [[10, "in-conclusion"]], "On your own": [[10, "on-your-own"], [12, "on-your-own"]], "Determining Static Equilibrium in NumPy": [[11, "determining-static-equilibrium-in-numpy"]], "What you\u2019ll do:": [[11, "what-you-ll-do"]], "What you\u2019ll learn:": [[11, "what-you-ll-learn"]], "What you\u2019ll need:": [[11, "what-you-ll-need"]], "Solving equilibrium with Newton\u2019s second law": [[11, "solving-equilibrium-with-newton-s-second-law"]], "Solving Equilibrium as a sum of moments": [[11, "solving-equilibrium-as-a-sum-of-moments"]], "Finding values with physical properties": [[11, "finding-values-with-physical-properties"]], "Another Example": [[11, "another-example"]], "Additional Applications": [[11, "additional-applications"]], "Learn to write a NumPy tutorial": [[12, "learn-to-write-a-numpy-tutorial"]], "After a horizontal rule, start your own headings": [[12, "after-a-horizontal-rule-start-your-own-headings"]], "Titles have verbs": [[12, "titles-have-verbs"]], "Titles are lowercase": [[12, "titles-are-lowercase"]], "What to say in \u201cWhat you\u2019ll learn\u201d": [[12, "what-to-say-in-what-you-ll-learn"]], "Why are \u201cWhat you\u2019ll do\u201d and \u201cWhat you\u2019ll learn\u201d different?": [[12, "why-are-what-you-ll-do-and-what-you-ll-learn-different"]], "Avoid asides": [[12, "avoid-asides"]], "Use plots and illustrations": [[12, "use-plots-and-illustrations"]], "Use real datasets when possible": [[12, "use-real-datasets-when-possible"]], "Tutorials and how-to\u2019s \u2013 similar but different": [[12, "tutorials-and-how-to-s-similar-but-different"]], "Make use of the Google doc style guide": [[12, "make-use-of-the-google-doc-style-guide"]], "The notebook must be fully executable": [[12, "the-notebook-must-be-fully-executable"]], "Linear algebra on n-dimensional arrays": [[13, "linear-algebra-on-n-dimensional-arrays"]], "Learner profile": [[13, "learner-profile"]], "Learning Objectives": [[13, "learning-objectives"]], "Content": [[13, "content"], [17, "content"]], "Shape, axis and array properties": [[13, "shape-axis-and-array-properties"]], "Operations on an axis": [[13, "operations-on-an-axis"]], "Approximation": [[13, "approximation"]], "Applying to all colors": [[13, "applying-to-all-colors"]], "Products with n-dimensional arrays": [[13, "products-with-n-dimensional-arrays"]], "Final words": [[13, "final-words"]], "X-ray image processing": [[14, "x-ray-image-processing"]], "Examine an X-ray with imageio": [[14, "examine-an-x-ray-with-imageio"]], "Combine images into a multidimensional array to demonstrate progression": [[14, "combine-images-into-a-multidimensional-array-to-demonstrate-progression"]], "Edge detection using the Laplacian-Gaussian, Gaussian gradient, Sobel, and Canny filters": [[14, "edge-detection-using-the-laplacian-gaussian-gaussian-gradient-sobel-and-canny-filters"]], "The Laplace filter with Gaussian second derivatives": [[14, "the-laplace-filter-with-gaussian-second-derivatives"]], "The Gaussian gradient magnitude method": [[14, "the-gaussian-gradient-magnitude-method"]], "The Sobel-Feldman operator (the Sobel filter)": [[14, "the-sobel-feldman-operator-the-sobel-filter"]], "The Canny filter": [[14, "the-canny-filter"]], "Apply masks to X-rays with np.where()": [[14, "apply-masks-to-x-rays-with-np-where"]], "Compare the results": [[14, "compare-the-results"]], "Contributing": [[15, "contributing"]], "Why Jupyter Notebooks?": [[15, "why-jupyter-notebooks"]], "Note": [[15, "note"]], "Adding your own tutorials": [[15, "adding-your-own-tutorials"]], "Create an issue": [[15, "create-an-issue"]], "Check out our suggested template": [[15, "check-out-our-suggested-template"]], "Upload your content": [[15, "upload-your-content"]], "NumPy Features": [[16, "numpy-features"]], "NumPy tutorials": [[17, "numpy-tutorials"]], "Non-executable articles": [[17, "non-executable-articles"]], "Useful links and resources": [[17, "useful-links-and-resources"]]}, "indexentries": {}}) \ No newline at end of file