diff --git a/.circleci/config.yml b/.circleci/config.yml index 716a2610..d87f81bf 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -6,7 +6,7 @@ jobs: build-docs: working_directory: ~/repo docker: - - image: cimg/python:3.10 + - image: cimg/python:3.10-node steps: - checkout @@ -17,7 +17,7 @@ jobs: python3 -m venv venv source venv/bin/activate pip install --upgrade pip wheel setuptools - pip install -r site/requirements.txt -r requirements.txt + pip install -r requirements.txt - restore_cache: keys: @@ -30,9 +30,14 @@ jobs: # NOTE: blas multithreading behaves badly on circleci export OMP_NUM_THREADS=1 source venv/bin/activate - # n = nitpicky (broken links), W = warnings as errors, - # T = full tracebacks, keep-going = run to completion even with errors - make -C site/ SPHINXOPTS="-nWT --keep-going" html + # Construct the BASE_URL using the CIRCLE_WORKFLOW_JOB_ID + export BASE_URL="/output/job/${CIRCLE_WORKFLOW_JOB_ID}/artifacts/0/_build/html" + + # Output the BASE_URL for debugging purposes + echo "BASE_URL is set to $BASE_URL" + + # Run your myst build command + myst build --html --execute - save_cache: key: cache-data @@ -40,42 +45,43 @@ jobs: - _data - store_artifacts: - path: site/_build/html + path: _build/html - persist_to_workspace: - root: site/_build + root: _build paths: html deploy-docs: working_directory: ~/repo docker: - - image: cimg/python:3.10 + - image: cimg/python:3.10-node steps: - checkout - attach_workspace: - at: site/_build + at: _build - run: name: install deploy deps command : | python3 -m pip install --user ghp-import - - run: - name: configure git - command: | - git config --global user.name "ci-doc-deploy-bot" - git config --global user.email "ci-doc-deploy-bot@nomail" - git config --global push.default simple - - - add_ssh_keys: - fingerprints: - 5c:54:62:37:75:7f:4d:14:f4:07:82:1c:50:0d:ee:9b - - - run: - name: deploy to gh-pages - command: | - ghp-import -n -f -p -m "[skip ci] docs build of $CIRCLE_SHA1" site/_build/html + # TODO! + # - run: + # name: configure git + # command: | + # git config --global user.name "ci-doc-deploy-bot" + # git config --global user.email "ci-doc-deploy-bot@nomail" + # git config --global push.default simple + # + # - add_ssh_keys: + # fingerprints: + # 5c:54:62:37:75:7f:4d:14:f4:07:82:1c:50:0d:ee:9b + # + # - run: + # name: deploy to gh-pages + # command: | + # ghp-import -n -f -p -m "[skip ci] docs build of $CIRCLE_SHA1" site/_build/html workflows: diff --git a/_toc.yml b/_toc.yml new file mode 100644 index 00000000..c49c8693 --- /dev/null +++ b/_toc.yml @@ -0,0 +1,52 @@ +# Table of Contents +# +# Myst will respect: +# 1. New pages +# - file: relative/path/to/page +# 2. New sections without an associated page +# - title: Folder Title +# sections: ... +# 3. New sections with an associated page +# - file: relative/path/to/page +# sections: ... +# +# Note: Titles defined on pages here are not recognized. +# +# This spec is based on the JupyterBook table of contents. +# Learn more at https://jupyterbook.org/customize/toc.html + +format: jb-book +root: content/index +chapters: + - title: Content + sections: + - title: Applications + sections: + - file: content/applications/index + - file: content/applications/mooreslaw-tutorial + - file: content/applications/tutorial-air-quality-analysis + - file: content/applications/tutorial-deep-learning-on-mnist + - file: content/applications/tutorial-plotting-fractals + - file: content/applications/tutorial-static_equilibrium + - file: content/applications/tutorial-x-ray-image-processing + - title: Articles + sections: + - file: content/articles/index + - file: >- + content/articles/tutorial-deep-reinforcement-learning-with-pong-from-pixels + - file: content/articles/tutorial-nlp-from-scratch + - title: Tutorial Nlp From Scratch + sections: + - file: content/articles/tutorial-nlp-from-scratch/README + - title: Features + sections: + - file: content/features/index + - file: content/features/save-load-arrays + - file: content/features/tutorial-ma + - file: content/features/tutorial-svd + - title: Contributing + sections: + - file: content/contributing/index + - file: content/contributing/pairing + - file: content/contributing/tutorial-style-guide + diff --git a/site/_static/01-fork.gif b/content/_static/01-fork.gif similarity index 100% rename from site/_static/01-fork.gif rename to content/_static/01-fork.gif diff --git a/site/_static/02-create_new_branch.gif b/content/_static/02-create_new_branch.gif similarity index 100% rename from site/_static/02-create_new_branch.gif rename to content/_static/02-create_new_branch.gif diff --git a/site/_static/03-upload.gif b/content/_static/03-upload.gif similarity index 100% rename from site/_static/03-upload.gif rename to content/_static/03-upload.gif diff --git a/site/_static/04-add_to_readme.gif b/content/_static/04-add_to_readme.gif similarity index 100% rename from site/_static/04-add_to_readme.gif rename to content/_static/04-add_to_readme.gif diff --git a/site/_static/05-create_PR.gif b/content/_static/05-create_PR.gif similarity index 100% rename from site/_static/05-create_PR.gif rename to content/_static/05-create_PR.gif diff --git a/site/_static/favicon.png b/content/_static/favicon.png similarity index 100% rename from site/_static/favicon.png rename to content/_static/favicon.png diff --git a/content/_static/numpylogo.svg b/content/_static/numpylogo.svg new file mode 100644 index 00000000..50810223 --- /dev/null +++ b/content/_static/numpylogo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/content/air-quality-data.csv b/content/applications/air-quality-data.csv similarity index 100% rename from content/air-quality-data.csv rename to content/applications/air-quality-data.csv diff --git a/content/applications/index.md b/content/applications/index.md new file mode 100644 index 00000000..2ecc7f92 --- /dev/null +++ b/content/applications/index.md @@ -0,0 +1,4 @@ +# NumPy Applications + +A collection of highlighting the use of NumPy for applications in science, +engineering, and data analysis. diff --git a/content/mooreslaw-tutorial.md b/content/applications/mooreslaw-tutorial.md similarity index 96% rename from content/mooreslaw-tutorial.md rename to content/applications/mooreslaw-tutorial.md index b9fefc8d..cc8135ae 100644 --- a/content/mooreslaw-tutorial.md +++ b/content/applications/mooreslaw-tutorial.md @@ -12,7 +12,7 @@ kernelspec: --- # Determining Moore's Law with real data in NumPy -![Scatter plot of MOS transistor count per microprocessor every two years as a demonstration of Moore's Law.](_static/01-mooreslaw-tutorial-intro.png) +![Scatter plot of MOS transistor count per microprocessor every two years as a demonstration of Moore's Law.](../_static/01-mooreslaw-tutorial-intro.png) _The number of transistors reported per a given chip plotted on a log scale in the y axis with the date of introduction on the linear scale x-axis. The blue data points are from a [transistor count table](https://en.wikipedia.org/wiki/Transistor_count#Microprocessors). The red line is an ordinary least squares prediction and the orange line is Moore's law._ @@ -77,7 +77,7 @@ You'll use these NumPy and Matplotlib functions: Your empirical model assumes that the number of transistors per semiconductor follows an exponential growth, -$\log(\text{transistor_count})= f(\text{year}) = A\cdot \text{year}+B,$ +$\log(\text{transistor\_count})= f(\text{year}) = A\cdot \text{year}+B,$ where $A$ and $B$ are fitting constants. You use semiconductor manufacturers' data to find the fitting constants. @@ -87,17 +87,17 @@ rate for added transistors, 2, and giving an initial number of transistors for a You state Moore's law in an exponential form as follows, -$\text{transistor_count}= e^{A_M\cdot \text{year} +B_M}.$ +$\text{transistor\_count}= e^{A_M\cdot \text{year} +B_M}.$ Where $A_M$ and $B_M$ are constants that double the number of transistors every two years and start at 2250 transistors in 1971, -1. $\dfrac{\text{transistor_count}(\text{year} +2)}{\text{transistor_count}(\text{year})} = 2 = \dfrac{e^{B_M}e^{A_M \text{year} + 2A_M}}{e^{B_M}e^{A_M \text{year}}} = e^{2A_M} \rightarrow A_M = \frac{\log(2)}{2}$ +1. $\dfrac{\text{transistor\_count}(\text{year} +2)}{\text{transistor\_count}(\text{year})} = 2 = \dfrac{e^{B_M}e^{A_M \text{year} + 2A_M}}{e^{B_M}e^{A_M \text{year}}} = e^{2A_M} \rightarrow A_M = \frac{\log(2)}{2}$ 2. $\log(2250) = \frac{\log(2)}{2}\cdot 1971 + B_M \rightarrow B_M = \log(2250)-\frac{\log(2)}{2}\cdot 1971$ so Moore's law stated as an exponential function is -$\log(\text{transistor_count})= A_M\cdot \text{year}+B_M,$ +$\log(\text{transistor\_count})= A_M\cdot \text{year}+B_M,$ where @@ -242,7 +242,7 @@ B, A = model Did manufacturers double the transistor count every two years? You have the final formula, -$\dfrac{\text{transistor_count}(\text{year} +2)}{\text{transistor_count}(\text{year})} = xFactor = +$\dfrac{\text{transistor\_count}(\text{year} +2)}{\text{transistor\_count}(\text{year})} = xFactor = \dfrac{e^{B}e^{A( \text{year} + 2)}}{e^{B}e^{A \text{year}}} = e^{2A}$ where increase in number of transistors is $xFactor,$ number of years is @@ -263,19 +263,19 @@ Here, use to plot the number of transistors on a log-scale and the year on a linear scale. You have defined a three arrays to get to a final model -$y_i = \log(\text{transistor_count}),$ +$y_i = \log(\text{transistor\_count}),$ $y_i = A \cdot \text{year} + B,$ and -$\log(\text{transistor_count}) = A\cdot \text{year} + B,$ +$\log(\text{transistor\_count}) = A\cdot \text{year} + B,$ your variables, `transistor_count`, `year`, and `yi` all have the same dimensions, `(179,)`. NumPy arrays need the same dimensions to make a plot. The predicted number of transistors is now -$\text{transistor_count}_{\text{predicted}} = e^Be^{A\cdot \text{year}}$. +$\text{transistor\_count}_{\text{predicted}} = e^Be^{A\cdot \text{year}}$. +++ @@ -324,7 +324,7 @@ comparator, Then, make a prediction for 2017 with `Moores_law` defined above and plugging in your best fit constants into your function -$\text{transistor_count} = e^{B}e^{A\cdot \text{year}}$. +$\text{transistor\_count} = e^{B}e^{A\cdot \text{year}}$. A great way to compare these measurements is to compare your prediction and Moore's prediction to the average transistor count and look at the diff --git a/content/applications/mooreslaw_regression.csv b/content/applications/mooreslaw_regression.csv new file mode 100644 index 00000000..63f76af3 --- /dev/null +++ b/content/applications/mooreslaw_regression.csv @@ -0,0 +1,186 @@ +# the columns in this file are the result of a linear regression model +# the columns include +# year: year of manufacture +# transistor_count: number of transistors reported by manufacturers in a given year +# transistor_count_predicted: linear regression model = exp(-666.33)*exp(0.34*year) +# transistor_Moores_law: Moores law =exp(-675.38)*exp(0.35*year) +# year:, transistor_count:, transistor_count_predicted:, transistor_Moores_law: +1.971000000000000000e+03,2.250000000000000000e+03,1.130514785642591733e+03,2.249999999999916326e+03 +1.972000000000000000e+03,3.500000000000000000e+03,1.590908400344571419e+03,3.181980515339620069e+03 +1.973000000000000000e+03,2.500000000000000000e+03,2.238793840142739555e+03,4.500000000000097316e+03 +1.974000000000000000e+03,3.000000000000000000e+03,3.150525735847200394e+03,6.363961030678889983e+03 +1.974000000000000000e+03,4.100000000000000000e+03,3.150525735847200394e+03,6.363961030678889983e+03 +1.974000000000000000e+03,6.000000000000000000e+03,3.150525735847200394e+03,6.363961030678889983e+03 +1.974000000000000000e+03,8.000000000000000000e+03,3.150525735847200394e+03,6.363961030678889983e+03 +1.975000000000000000e+03,4.528000000000000000e+03,4.433553565433564472e+03,8.999999999999699867e+03 +1.975000000000000000e+03,4.000000000000000000e+03,4.433553565433564472e+03,8.999999999999699867e+03 +1.975000000000000000e+03,5.000000000000000000e+03,4.433553565433564472e+03,8.999999999999699867e+03 +1.976000000000000000e+03,5.000000000000000000e+03,6.239084795884999949e+03,1.272792206135852757e+04 +1.976000000000000000e+03,8.500000000000000000e+03,6.239084795884999949e+03,1.272792206135852757e+04 +1.976000000000000000e+03,6.500000000000000000e+03,6.239084795884999949e+03,1.272792206135852757e+04 +1.976000000000000000e+03,8.000000000000000000e+03,6.239084795884999949e+03,1.272792206135852757e+04 +1.977000000000000000e+03,7.000000000000000000e+03,8.779904993983471286e+03,1.800000000000045475e+04 +1.978000000000000000e+03,9.000000000000000000e+03,1.235545504273617189e+04,2.545584412271565452e+04 +1.978000000000000000e+03,2.900000000000000000e+04,1.235545504273617189e+04,2.545584412271565452e+04 +1.979000000000000000e+03,1.750000000000000000e+04,1.738712086493929019e+04,3.599999999999893043e+04 +1.979000000000000000e+03,2.900000000000000000e+04,1.738712086493929019e+04,3.599999999999893043e+04 +1.979000000000000000e+03,6.800000000000000000e+04,1.738712086493929019e+04,3.599999999999893043e+04 +1.980000000000000000e+03,5.000000000000000000e+04,2.446789462033919335e+04,5.091168824543429946e+04 +1.981000000000000000e+03,1.150000000000000000e+04,3.443226005055519636e+04,7.200000000000209548e+04 +1.981000000000000000e+03,4.500000000000000000e+04,3.443226005055519636e+04,7.200000000000209548e+04 +1.982000000000000000e+03,5.500000000000000000e+04,4.845453810331245040e+04,1.018233764908629964e+05 +1.982000000000000000e+03,1.340000000000000000e+05,4.845453810331245040e+04,1.018233764908629964e+05 +1.984000000000000000e+03,6.300000000000000000e+04,9.595603950548690045e+04,2.036467529817379254e+05 +1.984000000000000000e+03,1.900000000000000000e+05,9.595603950548690045e+04,2.036467529817379254e+05 +1.985000000000000000e+03,2.750000000000000000e+05,1.350334124345869059e+05,2.880000000000094296e+05 +1.985000000000000000e+03,2.500000000000000000e+04,1.350334124345869059e+05,2.880000000000094296e+05 +1.985000000000000000e+03,1.600000000000000000e+04,1.350334124345869059e+05,2.880000000000094296e+05 +1.986000000000000000e+03,1.100000000000000000e+05,1.900247505805676919e+05,4.072935059634535573e+05 +1.986000000000000000e+03,3.750000000000000000e+05,1.900247505805676919e+05,4.072935059634535573e+05 +1.986000000000000000e+03,2.700000000000000000e+04,1.900247505805676919e+05,4.072935059634535573e+05 +1.986000000000000000e+03,9.100000000000000000e+04,1.900247505805676919e+05,4.072935059634535573e+05 +1.987000000000000000e+03,3.850000000000000000e+05,2.674108961787449080e+05,5.759999999999871943e+05 +1.987000000000000000e+03,7.300000000000000000e+05,2.674108961787449080e+05,5.759999999999871943e+05 +1.987000000000000000e+03,2.730000000000000000e+05,2.674108961787449080e+05,5.759999999999871943e+05 +1.987000000000000000e+03,5.530000000000000000e+05,2.674108961787449080e+05,5.759999999999871943e+05 +1.988000000000000000e+03,1.800000000000000000e+05,3.763119655552496552e+05,8.145870119268621784e+05 +1.988000000000000000e+03,2.500000000000000000e+05,3.763119655552496552e+05,8.145870119268621784e+05 +1.989000000000000000e+03,6.000000000000000000e+05,5.295621735824813368e+05,1.152000000000041910e+06 +1.989000000000000000e+03,1.000000000000000000e+06,5.295621735824813368e+05,1.152000000000041910e+06 +1.989000000000000000e+03,1.180235000000000000e+06,5.295621735824813368e+05,1.152000000000041910e+06 +1.989000000000000000e+03,3.100000000000000000e+05,5.295621735824813368e+05,1.152000000000041910e+06 +1.990000000000000000e+03,1.200000000000000000e+06,7.452223722825756995e+05,1.629174023853820050e+06 +1.991000000000000000e+03,1.350000000000000000e+06,1.048708559362333268e+06,2.303999999999957159e+06 +1.991000000000000000e+03,3.500000000000000000e+04,1.048708559362333268e+06,2.303999999999957159e+06 +1.992000000000000000e+03,6.000000000000000000e+05,1.475787205785602564e+06,3.258348047707461286e+06 +1.992000000000000000e+03,9.000000000000000000e+05,1.475787205785602564e+06,3.258348047707461286e+06 +1.992000000000000000e+03,1.680000000000000000e+06,1.475787205785602564e+06,3.258348047707461286e+06 +1.993000000000000000e+03,2.800000000000000000e+06,2.076790407894426724e+06,4.608000000000185333e+06 +1.993000000000000000e+03,3.100000000000000000e+06,2.076790407894426724e+06,4.608000000000185333e+06 +1.994000000000000000e+03,5.789770000000000000e+05,2.922547628420682624e+06,6.516696095415305346e+06 +1.994000000000000000e+03,7.000000000000000000e+03,2.922547628420682624e+06,6.516696095415305346e+06 +1.994000000000000000e+03,2.500000000000000000e+06,2.922547628420682624e+06,6.516696095415305346e+06 +1.995000000000000000e+03,2.500000000000000000e+06,4.112733094259144738e+06,9.215999999999864027e+06 +1.995000000000000000e+03,5.500000000000000000e+06,4.112733094259144738e+06,9.215999999999864027e+06 +1.996000000000000000e+03,4.300000000000000000e+06,5.787612608987616375e+06,1.303339219082989357e+07 +1.997000000000000000e+03,1.000000000000000000e+07,8.144574166135232896e+06,1.843200000000081211e+07 +1.997000000000000000e+03,7.500000000000000000e+06,8.144574166135232896e+06,1.843200000000081211e+07 +1.997000000000000000e+03,8.800000000000000000e+06,8.144574166135232896e+06,1.843200000000081211e+07 +1.997000000000000000e+03,1.500000000000000000e+04,8.144574166135232896e+06,1.843200000000081211e+07 +1.998000000000000000e+03,7.500000000000000000e+06,1.146139052995130233e+07,2.606678438166131452e+07 +1.999000000000000000e+03,1.110000000000000000e+05,1.612895532663459331e+07,3.686399999999959022e+07 +1.999000000000000000e+03,9.500000000000000000e+06,1.612895532663459331e+07,3.686399999999959022e+07 +1.999000000000000000e+03,1.350000000000000000e+07,1.612895532663459331e+07,3.686399999999959022e+07 +1.999000000000000000e+03,2.740000000000000000e+07,1.612895532663459331e+07,3.686399999999959022e+07 +1.999000000000000000e+03,2.130000000000000000e+07,1.612895532663459331e+07,3.686399999999959022e+07 +1.999000000000000000e+03,2.200000000000000000e+07,1.612895532663459331e+07,3.686399999999959022e+07 +2.000000000000000000e+03,2.100000000000000000e+07,2.269735066166354716e+07,5.213356876331976801e+07 +2.000000000000000000e+03,2.100000000000000000e+07,2.269735066166354716e+07,5.213356876331976801e+07 +2.000000000000000000e+03,4.200000000000000000e+07,2.269735066166354716e+07,5.213356876331976801e+07 +2.001000000000000000e+03,1.910000000000000000e+08,3.194067542662545294e+07,7.372800000000350177e+07 +2.001000000000000000e+03,4.500000000000000000e+07,3.194067542662545294e+07,7.372800000000350177e+07 +2.002000000000000000e+03,5.500000000000000000e+07,4.494827444473844022e+07,1.042671375266456604e+08 +2.002000000000000000e+03,2.200000000000000000e+08,4.494827444473844022e+07,1.042671375266456604e+08 +2.003000000000000000e+03,1.520000000000000000e+08,6.325311999743700027e+07,1.474559999999989271e+08 +2.003000000000000000e+03,5.430000000000000000e+07,6.325311999743700027e+07,1.474559999999989271e+08 +2.003000000000000000e+03,1.059000000000000000e+08,6.325311999743700027e+07,1.474559999999989271e+08 +2.003000000000000000e+03,4.100000000000000000e+08,6.325311999743700027e+07,1.474559999999989271e+08 +2.004000000000000000e+03,1.120000000000000000e+08,8.901247575875540078e+07,2.085342750532798469e+08 +2.004000000000000000e+03,4.000000000000000000e+08,8.901247575875540078e+07,2.085342750532798469e+08 +2.004000000000000000e+03,5.920000000000000000e+08,8.901247575875540078e+07,2.085342750532798469e+08 +2.005000000000000000e+03,1.690000000000000000e+08,1.252621347535752058e+08,2.949120000000151396e+08 +2.005000000000000000e+03,2.280000000000000000e+08,1.252621347535752058e+08,2.949120000000151396e+08 +2.005000000000000000e+03,1.650000000000000000e+08,1.252621347535752058e+08,2.949120000000151396e+08 +2.005000000000000000e+03,2.500000000000000000e+08,1.252621347535752058e+08,2.949120000000151396e+08 +2.006000000000000000e+03,1.840000000000000000e+08,1.762741938056866527e+08,4.170685501065841317e+08 +2.006000000000000000e+03,3.620000000000000000e+08,1.762741938056866527e+08,4.170685501065841317e+08 +2.006000000000000000e+03,2.910000000000000000e+08,1.762741938056866527e+08,4.170685501065841317e+08 +2.006000000000000000e+03,1.700000000000000000e+09,1.762741938056866527e+08,4.170685501065841317e+08 +2.007000000000000000e+03,4.630000000000000000e+08,2.480605289297762811e+08,5.898239999999978542e+08 +2.007000000000000000e+03,2.600000000000000000e+07,2.480605289297762811e+08,5.898239999999978542e+08 +2.007000000000000000e+03,4.110000000000000000e+08,2.480605289297762811e+08,5.898239999999978542e+08 +2.007000000000000000e+03,7.890000000000000000e+08,2.480605289297762811e+08,5.898239999999978542e+08 +2.007000000000000000e+03,1.690000000000000000e+08,2.480605289297762811e+08,5.898239999999978542e+08 +2.007000000000000000e+03,2.500000000000000000e+08,2.480605289297762811e+08,5.898239999999978542e+08 +2.007000000000000000e+03,5.400000000000000000e+08,2.480605289297762811e+08,5.898239999999978542e+08 +2.008000000000000000e+03,2.300000000000000000e+08,3.490813072771816850e+08,8.341371002131224871e+08 +2.008000000000000000e+03,7.310000000000000000e+08,3.490813072771816850e+08,8.341371002131224871e+08 +2.008000000000000000e+03,7.580000000000000000e+08,3.490813072771816850e+08,8.341371002131224871e+08 +2.008000000000000000e+03,4.700000000000000000e+07,3.490813072771816850e+08,8.341371002131224871e+08 +2.008000000000000000e+03,6.000000000000000000e+08,3.490813072771816850e+08,8.341371002131224871e+08 +2.008000000000000000e+03,1.900000000000000000e+09,3.490813072771816850e+08,8.341371002131224871e+08 +2.009000000000000000e+03,9.040000000000000000e+08,4.912420352245680094e+08,1.179648000000065088e+09 +2.009000000000000000e+03,7.600000000000000000e+08,4.912420352245680094e+08,1.179648000000065088e+09 +2.010000000000000000e+03,1.000000000000000000e+09,6.912966467722116709e+08,1.668274200426342964e+09 +2.010000000000000000e+03,1.170000000000000000e+09,6.912966467722116709e+08,1.668274200426342964e+09 +2.010000000000000000e+03,1.200000000000000000e+09,6.912966467722116709e+08,1.668274200426342964e+09 +2.010000000000000000e+03,1.400000000000000000e+09,6.912966467722116709e+08,1.668274200426342964e+09 +2.010000000000000000e+03,2.000000000000000000e+09,6.912966467722116709e+08,1.668274200426342964e+09 +2.010000000000000000e+03,2.300000000000000000e+09,6.912966467722116709e+08,1.668274200426342964e+09 +2.011000000000000000e+03,1.870000000000000000e+09,9.728219891036791801e+08,2.359296000000000477e+09 +2.011000000000000000e+03,1.160000000000000000e+09,9.728219891036791801e+08,2.359296000000000477e+09 +2.011000000000000000e+03,2.270000000000000000e+09,9.728219891036791801e+08,2.359296000000000477e+09 +2.011000000000000000e+03,2.600000000000000000e+09,9.728219891036791801e+08,2.359296000000000477e+09 +2.012000000000000000e+03,4.320000000000000000e+08,1.368996402488670588e+09,3.336548400852502346e+09 +2.012000000000000000e+03,2.990000000000000000e+09,1.368996402488670588e+09,3.336548400852502346e+09 +2.012000000000000000e+03,1.200000000000000000e+09,1.368996402488670588e+09,3.336548400852502346e+09 +2.012000000000000000e+03,1.303000000000000000e+09,1.368996402488670588e+09,3.336548400852502346e+09 +2.012000000000000000e+03,1.400000000000000000e+09,1.368996402488670588e+09,3.336548400852502346e+09 +2.012000000000000000e+03,2.100000000000000000e+09,1.368996402488670588e+09,3.336548400852502346e+09 +2.012000000000000000e+03,2.750000000000000000e+09,1.368996402488670588e+09,3.336548400852502346e+09 +2.012000000000000000e+03,3.100000000000000000e+09,1.368996402488670588e+09,3.336548400852502346e+09 +2.012000000000000000e+03,5.000000000000000000e+09,1.368996402488670588e+09,3.336548400852502346e+09 +2.013000000000000000e+03,1.000000000000000000e+09,1.926509855881951332e+09,4.718592000000277519e+09 +2.013000000000000000e+03,1.860000000000000000e+09,1.926509855881951332e+09,4.718592000000277519e+09 +2.013000000000000000e+03,4.200000000000000000e+09,1.926509855881951332e+09,4.718592000000277519e+09 +2.013000000000000000e+03,5.000000000000000000e+09,1.926509855881951332e+09,4.718592000000277519e+09 +2.014000000000000000e+03,1.400000000000000000e+09,2.711066455736001015e+09,6.673096801705395699e+09 +2.014000000000000000e+03,2.000000000000000000e+09,2.711066455736001015e+09,6.673096801705395699e+09 +2.014000000000000000e+03,2.600000000000000000e+09,2.711066455736001015e+09,6.673096801705395699e+09 +2.014000000000000000e+03,3.000000000000000000e+09,2.711066455736001015e+09,6.673096801705395699e+09 +2.014000000000000000e+03,4.310000000000000000e+09,2.711066455736001015e+09,6.673096801705395699e+09 +2.014000000000000000e+03,5.560000000000000000e+09,2.711066455736001015e+09,6.673096801705395699e+09 +2.015000000000000000e+03,1.750000000000000000e+09,3.815127810001370430e+09,9.437184000000036240e+09 +2.015000000000000000e+03,1.900000000000000000e+09,3.815127810001370430e+09,9.437184000000036240e+09 +2.015000000000000000e+03,2.000000000000000000e+09,3.815127810001370430e+09,9.437184000000036240e+09 +2.015000000000000000e+03,2.000000000000000000e+09,3.815127810001370430e+09,9.437184000000036240e+09 +2.015000000000000000e+03,3.000000000000000000e+09,3.815127810001370430e+09,9.437184000000036240e+09 +2.015000000000000000e+03,3.990000000000000000e+09,3.815127810001370430e+09,9.437184000000036240e+09 +2.015000000000000000e+03,7.100000000000000000e+09,3.815127810001370430e+09,9.437184000000036240e+09 +2.015000000000000000e+03,1.000000000000000000e+10,3.815127810001370430e+09,9.437184000000036240e+09 +2.016000000000000000e+03,3.000000000000000000e+09,5.368809818678679466e+09,1.334619360341005898e+10 +2.016000000000000000e+03,3.200000000000000000e+09,5.368809818678679466e+09,1.334619360341005898e+10 +2.016000000000000000e+03,3.300000000000000000e+09,5.368809818678679466e+09,1.334619360341005898e+10 +2.016000000000000000e+03,4.000000000000000000e+09,5.368809818678679466e+09,1.334619360341005898e+10 +2.016000000000000000e+03,7.200000000000000000e+09,5.368809818678679466e+09,1.334619360341005898e+10 +2.016000000000000000e+03,8.000000000000000000e+09,5.368809818678679466e+09,1.334619360341005898e+10 +2.017000000000000000e+03,5.300000000000000000e+09,7.555217100087202072e+09,1.887436800000117874e+10 +2.017000000000000000e+03,5.300000000000000000e+09,7.555217100087202072e+09,1.887436800000117874e+10 +2.017000000000000000e+03,4.300000000000000000e+09,7.555217100087202072e+09,1.887436800000117874e+10 +2.017000000000000000e+03,4.800000000000000000e+09,7.555217100087202072e+09,1.887436800000117874e+10 +2.017000000000000000e+03,4.800000000000000000e+09,7.555217100087202072e+09,1.887436800000117874e+10 +2.017000000000000000e+03,4.800000000000000000e+09,7.555217100087202072e+09,1.887436800000117874e+10 +2.017000000000000000e+03,6.100000000000000000e+09,7.555217100087202072e+09,1.887436800000117874e+10 +2.017000000000000000e+03,9.700000000000000000e+09,7.555217100087202072e+09,1.887436800000117874e+10 +2.017000000000000000e+03,5.500000000000000000e+09,7.555217100087202072e+09,1.887436800000117874e+10 +2.017000000000000000e+03,7.000000000000000000e+09,7.555217100087202072e+09,1.887436800000117874e+10 +2.017000000000000000e+03,8.000000000000000000e+09,7.555217100087202072e+09,1.887436800000117874e+10 +2.017000000000000000e+03,2.500000000000000000e+08,7.555217100087202072e+09,1.887436800000117874e+10 +2.017000000000000000e+03,5.450000000000000000e+09,7.555217100087202072e+09,1.887436800000117874e+10 +2.017000000000000000e+03,4.300000000000000000e+09,7.555217100087202072e+09,1.887436800000117874e+10 +2.017000000000000000e+03,1.800000000000000000e+10,7.555217100087202072e+09,1.887436800000117874e+10 +2.017000000000000000e+03,1.920000000000000000e+10,7.555217100087202072e+09,1.887436800000117874e+10 +2.018000000000000000e+03,8.500000000000000000e+09,1.063202224650572395e+10,2.669238720682168579e+10 +2.018000000000000000e+03,6.900000000000000000e+09,1.063202224650572395e+10,2.669238720682168579e+10 +2.018000000000000000e+03,6.900000000000000000e+09,1.063202224650572395e+10,2.669238720682168579e+10 +2.019000000000000000e+03,1.030000000000000000e+10,1.496183306881915283e+10,3.774873600000028229e+10 +2.019000000000000000e+03,8.000000000000000000e+09,1.496183306881915283e+10,3.774873600000028229e+10 +2.018000000000000000e+03,5.500000000000000000e+09,1.063202224650572395e+10,2.669238720682168579e+10 +2.018000000000000000e+03,1.000000000000000000e+10,1.063202224650572395e+10,2.669238720682168579e+10 +2.019000000000000000e+03,8.500000000000000000e+09,1.496183306881915283e+10,3.774873600000028229e+10 +2.018000000000000000e+03,8.786000000000000000e+09,1.063202224650572395e+10,2.669238720682168579e+10 +2.018000000000000000e+03,9.000000000000000000e+09,1.063202224650572395e+10,2.669238720682168579e+10 +2.019000000000000000e+03,5.990000000000000000e+09,1.496183306881915283e+10,3.774873600000028229e+10 +2.019000000000000000e+03,9.890000000000000000e+09,1.496183306881915283e+10,3.774873600000028229e+10 +2.019000000000000000e+03,3.954000000000000000e+10,1.496183306881915283e+10,3.774873600000028229e+10 +2.019000000000000000e+03,3.000000000000000000e+10,1.496183306881915283e+10,3.774873600000028229e+10 diff --git a/content/applications/mooreslaw_regression.npz b/content/applications/mooreslaw_regression.npz new file mode 100644 index 00000000..24812648 Binary files /dev/null and b/content/applications/mooreslaw_regression.npz differ diff --git a/content/transistor_data.csv b/content/applications/transistor_data.csv similarity index 100% rename from content/transistor_data.csv rename to content/applications/transistor_data.csv diff --git a/content/tutorial-air-quality-analysis.md b/content/applications/tutorial-air-quality-analysis.md similarity index 98% rename from content/tutorial-air-quality-analysis.md rename to content/applications/tutorial-air-quality-analysis.md index 14e46acf..c259be3f 100644 --- a/content/tutorial-air-quality-analysis.md +++ b/content/applications/tutorial-air-quality-analysis.md @@ -14,7 +14,7 @@ kernelspec: # Analyzing the impact of the lockdown on air quality in Delhi, India -![A grid showing the India Gate in smog above and clear air below](_static/11-delhi-aqi.jpg) +![A grid showing the India Gate in smog above and clear air below](../_static/11-delhi-aqi.jpg) ## What you'll do @@ -124,7 +124,7 @@ We will calculate the AQI using [the method](https://app.cpcbccr.com/ccr_docs/FI The Air Quality Index is calculated with the help of breakpoint ranges as shown in the chart below. -![Chart of the breakpoint ranges](_static/11-breakpoints.png) +![Chart of the breakpoint ranges](../_static/11-breakpoints.png) Let's create two arrays to store the AQI ranges and breakpoints so that we can use them later for our calculations. @@ -264,7 +264,7 @@ the data from 31st May, we truncated that during the moving averages step. Hypothesis testing is a form of descriptive statistics used to help us make decisions with the data. From the calculated AQI data, we want to find out if there was a statistically significant difference in average AQI before and after the lockdown was imposed. We will use the left-tailed, [paired Student's t-test](https://en.wikipedia.org/wiki/Student%27s_t-test#Dependent_t-test_for_paired_samples) to compute two test statistics- the [`t statistic`](https://en.wikipedia.org/wiki/T-statistic) and the [`p value`](https://en.wikipedia.org/wiki/P-value). We will then compare these with the corresponding critical values to make a decision. -![Normal distribution plot showing area of rejection in one-tailed test (left tailed)](_static/11-one-tailed-test.svg) +![Normal distribution plot showing area of rejection in one-tailed test (left tailed)](../_static/11-one-tailed-test.svg) ### Sampling @@ -343,7 +343,7 @@ print("The t value is {} and the p value is {}.".format(t_value, p_value)) We will now compare the calculated test statistics with the critical test statistics. The critical `t` value is calculated by looking up the [t-distribution table](https://en.wikipedia.org/wiki/Student%27s_t-distribution#Table_of_selected_values). -![Table of selected t values at different confidence levels. T value for 29 dof at 95% confidence level is highlighted with a yellow square](_static/11-t-table.png) +![Table of selected t values at different confidence levels. T value for 29 dof at 95% confidence level is highlighted with a yellow square](../_static/11-t-table.png) From the table above, the critical value is 1.699 for 29 `dof` at a confidence level of 95%. Since we are using the left tailed test, our critical value is -1.699. Clearly, the calculated `t` value is less than the critical value so we can safely reject the null hypothesis. diff --git a/content/tutorial-deep-learning-on-mnist.md b/content/applications/tutorial-deep-learning-on-mnist.md similarity index 99% rename from content/tutorial-deep-learning-on-mnist.md rename to content/applications/tutorial-deep-learning-on-mnist.md index a41438c5..8a62a5be 100644 --- a/content/tutorial-deep-learning-on-mnist.md +++ b/content/applications/tutorial-deep-learning-on-mnist.md @@ -25,7 +25,7 @@ The weighted sum is passed to the Non-linearity, then regularization and into the output layer. The output layer creates a prediction which can then be compared to existing data. The errors are used to calculate the loss function and update weights in the hidden layer and output -layer.)](_static/tutorial-deep-learning-on-mnist.png) +layer.)](../_static/tutorial-deep-learning-on-mnist.png) This tutorial was adapted from the work by [Andrew Trask](https://github.com/iamtrask/Grokking-Deep-Learning) (with the author's permission). @@ -362,7 +362,7 @@ The weighted sum is passed to the Non-linearity, then regularization and into the output layer. The output layer creates a prediction which can then be compared to existing data. The errors are used to calculate the loss function and update weights in the hidden layer and output -layer.)](_static/tutorial-deep-learning-on-mnist.png) +layer.)](../_static/tutorial-deep-learning-on-mnist.png) - _The input layer_: diff --git a/content/tutorial-plotting-fractals.md b/content/applications/tutorial-plotting-fractals.md similarity index 100% rename from content/tutorial-plotting-fractals.md rename to content/applications/tutorial-plotting-fractals.md diff --git a/content/tutorial-plotting-fractals/fractal.png b/content/applications/tutorial-plotting-fractals/fractal.png similarity index 100% rename from content/tutorial-plotting-fractals/fractal.png rename to content/applications/tutorial-plotting-fractals/fractal.png diff --git a/content/tutorial-static_equilibrium.md b/content/applications/tutorial-static_equilibrium.md similarity index 99% rename from content/tutorial-static_equilibrium.md rename to content/applications/tutorial-static_equilibrium.md index 0e8b82f7..022efd20 100644 --- a/content/tutorial-static_equilibrium.md +++ b/content/applications/tutorial-static_equilibrium.md @@ -207,7 +207,7 @@ print("Reaction moment =", M) Let's say that instead of a force acting perpendicularly to the beam, a force was applied to our pole through a wire that was also attached to the ground. Given the tension in this cord, all you need to solve this problem are the physical locations of these objects. -![Image representing the problem](_static/static_eqbm-fig01.png) +![Image representing the problem](../_static/static_eqbm-fig01.png) In response to the forces acting upon the pole, the base generated reaction forces in the x and y directions, as well as a reaction moment. @@ -266,7 +266,7 @@ print("Reaction moment =", M) Let's look at a slightly more complicated model. In this example you will be observing a beam with two cables and an applied force. This time you need to find both the tension in the cords and the reaction forces of the beam. *(Source: [Vector Mechanics for Engineers: Statics](https://www.mheducation.com/highered/product/vector-mechanics-engineers-statics-beer-johnston/M9780077687304.html), Problem 4.106)* -![image.png](_static/problem4.png) +![image.png](../_static/problem4.png) Define distance *a* as 3 meters diff --git a/content/tutorial-x-ray-image-processing.md b/content/applications/tutorial-x-ray-image-processing.md similarity index 99% rename from content/tutorial-x-ray-image-processing.md rename to content/applications/tutorial-x-ray-image-processing.md index 9e00ea6c..955f328d 100644 --- a/content/tutorial-x-ray-image-processing.md +++ b/content/applications/tutorial-x-ray-image-processing.md @@ -50,7 +50,7 @@ tutorial's repository under `tutorial-x-ray-image-processing/`, since ChestX-ray8 contains gigabytes of data and you may find it challenging to download it in batches. -![A series of 9 x-ray images of the same region of a patient's chest is shown with different types of image processing filters applied to each image. Each x-ray shows different types of biological detail.](_static/tutorial-x-ray-image-processing.png) +![A series of 9 x-ray images of the same region of a patient's chest is shown with different types of image processing filters applied to each image. Each x-ray shows different types of biological detail.](../_static/tutorial-x-ray-image-processing.png) +++ diff --git a/content/tutorial-x-ray-image-processing/00000011_000.png b/content/applications/tutorial-x-ray-image-processing/00000011_000.png similarity index 100% rename from content/tutorial-x-ray-image-processing/00000011_000.png rename to content/applications/tutorial-x-ray-image-processing/00000011_000.png diff --git a/content/tutorial-x-ray-image-processing/00000011_001.png b/content/applications/tutorial-x-ray-image-processing/00000011_001.png similarity index 100% rename from content/tutorial-x-ray-image-processing/00000011_001.png rename to content/applications/tutorial-x-ray-image-processing/00000011_001.png diff --git a/content/tutorial-x-ray-image-processing/00000011_002.png b/content/applications/tutorial-x-ray-image-processing/00000011_002.png similarity index 100% rename from content/tutorial-x-ray-image-processing/00000011_002.png rename to content/applications/tutorial-x-ray-image-processing/00000011_002.png diff --git a/content/tutorial-x-ray-image-processing/00000011_003.png b/content/applications/tutorial-x-ray-image-processing/00000011_003.png similarity index 100% rename from content/tutorial-x-ray-image-processing/00000011_003.png rename to content/applications/tutorial-x-ray-image-processing/00000011_003.png diff --git a/content/tutorial-x-ray-image-processing/00000011_004.png b/content/applications/tutorial-x-ray-image-processing/00000011_004.png similarity index 100% rename from content/tutorial-x-ray-image-processing/00000011_004.png rename to content/applications/tutorial-x-ray-image-processing/00000011_004.png diff --git a/content/tutorial-x-ray-image-processing/00000011_005.png b/content/applications/tutorial-x-ray-image-processing/00000011_005.png similarity index 100% rename from content/tutorial-x-ray-image-processing/00000011_005.png rename to content/applications/tutorial-x-ray-image-processing/00000011_005.png diff --git a/content/tutorial-x-ray-image-processing/00000011_006.png b/content/applications/tutorial-x-ray-image-processing/00000011_006.png similarity index 100% rename from content/tutorial-x-ray-image-processing/00000011_006.png rename to content/applications/tutorial-x-ray-image-processing/00000011_006.png diff --git a/content/tutorial-x-ray-image-processing/00000011_007.png b/content/applications/tutorial-x-ray-image-processing/00000011_007.png similarity index 100% rename from content/tutorial-x-ray-image-processing/00000011_007.png rename to content/applications/tutorial-x-ray-image-processing/00000011_007.png diff --git a/content/tutorial-x-ray-image-processing/00000011_008.png b/content/applications/tutorial-x-ray-image-processing/00000011_008.png similarity index 100% rename from content/tutorial-x-ray-image-processing/00000011_008.png rename to content/applications/tutorial-x-ray-image-processing/00000011_008.png diff --git a/content/applications/tutorial-x-ray-image-processing/xray_image.gif b/content/applications/tutorial-x-ray-image-processing/xray_image.gif new file mode 100644 index 00000000..1bf26145 Binary files /dev/null and b/content/applications/tutorial-x-ray-image-processing/xray_image.gif differ diff --git a/site/articles.md b/content/articles/index.md similarity index 62% rename from site/articles.md rename to content/articles/index.md index 8540ed69..f995ab4e 100644 --- a/site/articles.md +++ b/content/articles/index.md @@ -5,9 +5,3 @@ Want to make a valuable contribution to the tutorials? Consider working on these articles so that they become fully executable/reproducible! ``` - -```{toctree} - -content/tutorial-deep-reinforcement-learning-with-pong-from-pixels -content/tutorial-nlp-from-scratch -``` diff --git a/content/text_preprocessing.py b/content/articles/text_preprocessing.py similarity index 100% rename from content/text_preprocessing.py rename to content/articles/text_preprocessing.py diff --git a/content/tutorial-deep-reinforcement-learning-with-pong-from-pixels.md b/content/articles/tutorial-deep-reinforcement-learning-with-pong-from-pixels.md similarity index 99% rename from content/tutorial-deep-reinforcement-learning-with-pong-from-pixels.md rename to content/articles/tutorial-deep-reinforcement-learning-with-pong-from-pixels.md index 69607388..75a5244c 100644 --- a/content/tutorial-deep-reinforcement-learning-with-pong-from-pixels.md +++ b/content/articles/tutorial-deep-reinforcement-learning-with-pong-from-pixels.md @@ -26,7 +26,7 @@ This tutorial demonstrates how to implement a deep reinforcement learning (RL) a Pong is a 2D game from 1972 where two players use "rackets" to play a form of table tennis. Each player moves the racket up and down the screen and tries to hit a ball in their opponent's direction by touching it. The goal is to hit the ball such that it goes past the opponent's racket (they miss their shot). According to the rules, if a player reaches 21 points, they win. In Pong, the RL agent that learns to play against an opponent is displayed on the right. -![Diagram showing operations detailed in this tutorial](_static/tutorial-deep-reinforcement-learning-with-pong-from-pixels.png) +![Diagram showing operations detailed in this tutorial](../_static/tutorial-deep-reinforcement-learning-with-pong-from-pixels.png) This example is based on the [code](https://gist.github.com/karpathy/a4166c7fe253700972fcbc77e4ea32c5) developed by [Andrej Karpathy](https://karpathy.ai) for the [Deep RL Bootcamp](https://sites.google.com/view/deep-rl-bootcamp/home) in 2017 at UC Berkeley. His [blog post](http://karpathy.github.io/2016/05/31/rl/) from 2016 also provides more background on the mechanics and theory used in Pong RL. @@ -365,7 +365,7 @@ The pseudocode for the policy gradient method for Pong: - Maximize the probability of actions that lead to high rewards. -![Diagram showing operations detailed in this tutorial](_static/tutorial-deep-reinforcement-learning-with-pong-from-pixels.png) +![Diagram showing operations detailed in this tutorial](../_static/tutorial-deep-reinforcement-learning-with-pong-from-pixels.png) You can stop the training at any time or/and check saved MP4 videos of saved plays on your disk in the `/video` directory. You can set the maximum number of episodes that is more appropriate for your setup. diff --git a/content/tutorial-nlp-from-scratch.md b/content/articles/tutorial-nlp-from-scratch.md similarity index 99% rename from content/tutorial-nlp-from-scratch.md rename to content/articles/tutorial-nlp-from-scratch.md index e51d6b1d..b03a99a3 100644 --- a/content/tutorial-nlp-from-scratch.md +++ b/content/articles/tutorial-nlp-from-scratch.md @@ -1,18 +1,3 @@ ---- -jupyter: - jupytext: - formats: md,ipynb - text_representation: - extension: .md - format_name: markdown - format_version: '1.3' - jupytext_version: 1.11.5 - kernelspec: - display_name: Python 3 (ipykernel) - language: python - name: python3 ---- - # Sentiment Analysis on notable speeches of the last decade ```{caution} @@ -457,7 +442,7 @@ The problem with an RNN however, is that it cannot retain long-term memory becau ### Overview of the Model Architecture -![Overview of the model architecture, showing a series of animated boxes. There are five identical boxes labeled A and receiving as input one of the words in the phrase "life's a box of chocolates". Each box is highlighted in turn, representing the memory blocks of the LSTM network as information passes through them, ultimately reaching a "Positive" output value.](_static/lstm.gif) +![Overview of the model architecture, showing a series of animated boxes. There are five identical boxes labeled A and receiving as input one of the words in the phrase "life's a box of chocolates". Each box is highlighted in turn, representing the memory blocks of the LSTM network as information passes through them, ultimately reaching a "Positive" output value.](../_static/lstm.gif) In the above gif, the rectangles labeled $A$ are called `Cells` and they are the **Memory Blocks** of our LSTM network. They are responsible for choosing what to remember in a sequence and pass on that information to the next cell via two states called the `hidden state` $H_{t}$ and the `cell state` $C_{t}$ where $t$ indicates the time-step. Each `Cell` has dedicated gates which are responsible for storing, writing or reading the information passed to an LSTM. You will now look closely at the architecture of the network by implementing each mechanism happening inside of it. @@ -550,7 +535,7 @@ def fp_output_gate(concat, next_cs, parameters): The following image summarizes each gate mechanism in the memory block of a LSTM network: >Image has been modified from [this](https://link.springer.com/chapter/10.1007%2F978-3-030-14524-8_11) source -![Diagram showing three sections of a memory block, labeled "Forget gate", "Input gate" and "Output gate". Each gate contains several subparts, representing the operations performed at that stage of the process.](_static/mem_block.png) +![Diagram showing three sections of a memory block, labeled "Forget gate", "Input gate" and "Output gate". Each gate contains several subparts, representing the operations performed at that stage of the process.](../_static/mem_block.png) ### But how do you obtain sentiment from the LSTM's output? diff --git a/content/tutorial-nlp-from-scratch/README.md b/content/articles/tutorial-nlp-from-scratch/README.md similarity index 100% rename from content/tutorial-nlp-from-scratch/README.md rename to content/articles/tutorial-nlp-from-scratch/README.md diff --git a/content/tutorial-nlp-from-scratch/dl_architectures.jpg b/content/articles/tutorial-nlp-from-scratch/dl_architectures.jpg similarity index 100% rename from content/tutorial-nlp-from-scratch/dl_architectures.jpg rename to content/articles/tutorial-nlp-from-scratch/dl_architectures.jpg diff --git a/content/tutorial-nlp-from-scratch/speeches.csv b/content/articles/tutorial-nlp-from-scratch/speeches.csv similarity index 100% rename from content/tutorial-nlp-from-scratch/speeches.csv rename to content/articles/tutorial-nlp-from-scratch/speeches.csv diff --git a/site/contributing.md b/content/contributing/index.md similarity index 89% rename from site/contributing.md rename to content/contributing/index.md index c35db184..7abe0eda 100644 --- a/site/contributing.md +++ b/content/contributing/index.md @@ -44,12 +44,6 @@ accept both Jupyter notebooks (`.ipynb`) and MyST-NB notebooks (`.md`). If you want to sync your `.ipynb` to your `.md` file follow the [pairing tutorial](content/pairing.md). -```{toctree} -:hidden: - -content/pairing -``` - ## Adding your own tutorials If you have your own tutorial in the form of a Jupyter notebook (an `.ipynb` @@ -66,14 +60,7 @@ We will try to respond as quickly as possible with comments, if applicable. ### Check out our suggested template You can use this template to make your content consistent with our existing -tutorials: - -```{toctree} ---- -maxdepth: 1 ---- -content/tutorial-style-guide -``` +tutorials: [](content/tutorial-style-guide) ### Upload your content @@ -84,21 +71,21 @@ Remember to clear all outputs on your notebook before uploading it. Fork this repository (if you haven't before). - +
In your own fork, create a new branch for your content. - +
Add your notebook to the content/ directory. - +
Update the environment.yml file with the dependencies for your tutorial @@ -108,14 +95,14 @@ Remember to clear all outputs on your notebook before uploading it. Update this README.md to include your new entry. - +
Create a pull request. Make sure the "Allow edits and access to secrets by maintainers" option is selected so we can properly review your submission. - +
🎉 Wait for review! diff --git a/content/pairing.md b/content/contributing/pairing.md similarity index 97% rename from content/pairing.md rename to content/contributing/pairing.md index 573f15d4..f3979d32 100644 --- a/content/pairing.md +++ b/content/contributing/pairing.md @@ -210,13 +210,13 @@ or the command line: ```{admonition} **1. Classic Jupyter Jupytext pairing** :class: toggle -![Animation showing pairing with Jupyter classic](_static/01-classic.gif) +![Animation showing pairing with Jupyter classic](../_static/01-classic.gif) ``` ```{admonition} **2. JupyterLab Jupytext pairing** :class: toggle -![Animation showing pairing with JupyterLab](_static/02-jupyterlab.gif) +![Animation showing pairing with JupyterLab](../_static/02-jupyterlab.gif) ``` ````{admonition} **3. Command line Jupytext pairing** diff --git a/content/tutorial-style-guide.md b/content/contributing/tutorial-style-guide.md similarity index 100% rename from content/tutorial-style-guide.md rename to content/contributing/tutorial-style-guide.md diff --git a/content/features/index.md b/content/features/index.md new file mode 100644 index 00000000..fcaca331 --- /dev/null +++ b/content/features/index.md @@ -0,0 +1,3 @@ +# NumPy Features + +A collection of notebooks pertaining to built-in NumPy functionality. diff --git a/content/save-load-arrays.md b/content/features/save-load-arrays.md similarity index 100% rename from content/save-load-arrays.md rename to content/features/save-load-arrays.md diff --git a/content/tutorial-ma.md b/content/features/tutorial-ma.md similarity index 100% rename from content/tutorial-ma.md rename to content/features/tutorial-ma.md diff --git a/content/tutorial-svd.md b/content/features/tutorial-svd.md similarity index 100% rename from content/tutorial-svd.md rename to content/features/tutorial-svd.md diff --git a/content/who_covid_19_sit_rep_time_series.csv b/content/features/who_covid_19_sit_rep_time_series.csv similarity index 100% rename from content/who_covid_19_sit_rep_time_series.csv rename to content/features/who_covid_19_sit_rep_time_series.csv diff --git a/content/features/x_y-squared.csv b/content/features/x_y-squared.csv new file mode 100644 index 00000000..e74126ff --- /dev/null +++ b/content/features/x_y-squared.csv @@ -0,0 +1,11 @@ +# x, y +0.000000000000000000e+00,0.000000000000000000e+00 +1.000000000000000000e+00,1.000000000000000000e+00 +2.000000000000000000e+00,4.000000000000000000e+00 +3.000000000000000000e+00,9.000000000000000000e+00 +4.000000000000000000e+00,1.600000000000000000e+01 +5.000000000000000000e+00,2.500000000000000000e+01 +6.000000000000000000e+00,3.600000000000000000e+01 +7.000000000000000000e+00,4.900000000000000000e+01 +8.000000000000000000e+00,6.400000000000000000e+01 +9.000000000000000000e+00,8.100000000000000000e+01 diff --git a/content/features/x_y-squared.npz b/content/features/x_y-squared.npz new file mode 100644 index 00000000..e32d05c4 Binary files /dev/null and b/content/features/x_y-squared.npz differ diff --git a/site/index.md b/content/index.md similarity index 94% rename from site/index.md rename to content/index.md index c15d6877..734c3a89 100644 --- a/site/index.md +++ b/content/index.md @@ -19,18 +19,6 @@ local copy of the `.ipynb` files, you can either [clone this repository](https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/cloning-a-repository) or use the download icon in the upper-right corner of each tutorial. -## Content - -```{toctree} ---- -maxdepth: 2 ---- - -features -applications -contributing -``` - ### Non-executable articles ```{admonition} Help improve the tutorials! @@ -39,13 +27,7 @@ Want to make a valuable contribution to the tutorials? Consider contributing to these existing articles to help make them fully executable and reproducible! ``` -```{toctree} ---- -maxdepth: 2 ---- - -articles -``` +[Articles](articles/index.md) ## Useful links and resources diff --git a/environment.yml b/environment.yml index 509d1bc7..71408122 100644 --- a/environment.yml +++ b/environment.yml @@ -10,7 +10,8 @@ dependencies: - pandas - imageio # For building the site - - sphinx - - myst-nb - - sphinx-book-theme - - sphinx-copybutton + - mystmd + - nodejs>=20,<21 + - ipython + - jupyter_server + - jupyterlab-myst diff --git a/myst.yml b/myst.yml new file mode 100644 index 00000000..71cf7fc4 --- /dev/null +++ b/myst.yml @@ -0,0 +1,21 @@ +# See docs at: https://mystmd.org/guide/frontmatter +version: 1 +project: + id: 55a37959-b92d-40f7-a63c-c1f217e8f002 + title: "NumPy Tutorials" + # description: + keywords: [] + authors: [] + github: https://github.com/numpy/numpy-tutorials + # bibliography: [] +site: + template: book-theme + title: "NumPy Tutorials" + options: + #favicon: favicon.ico + logo: content/_static/numpylogo.svg + nav: [] + actions: + - title: NumPy Documentation + url: https://numpy.org + domains: [] diff --git a/requirements.txt b/requirements.txt index dd03cc89..24031568 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,3 +7,7 @@ pandas imageio # For supporting .md-based notebooks jupytext +mystmd +ipykernel +jupyter_server +jupyterlab-myst diff --git a/site/Makefile b/site/Makefile deleted file mode 100644 index 89fe53b6..00000000 --- a/site/Makefile +++ /dev/null @@ -1,29 +0,0 @@ -# Minimal makefile for Sphinx documentation -# - -# You can set these variables from the command line, and also -# from the environment for the first two. -SPHINXOPTS ?= -SPHINXBUILD ?= sphinx-build -SOURCEDIR = . -BUILDDIR = _build - -# Put it first so that "make" without argument is like "make help". -help: - @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) - -notebooks: - mkdir -p notebooks - jupytext -k python3 ../content/*.md --from myst --to notebook - mv ../content/*.ipynb notebooks - -clean: - rm -rf _build - rm -rf notebooks - -.PHONY: help Makefile notebooks clean - -# Catch-all target: route all unknown targets to Sphinx using the new -# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). -%: Makefile - @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/site/_static/numpylogo.svg b/site/_static/numpylogo.svg deleted file mode 100644 index 5f0dac70..00000000 --- a/site/_static/numpylogo.svg +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/site/_templates/layout.html b/site/_templates/layout.html deleted file mode 100644 index c1e3d126..00000000 --- a/site/_templates/layout.html +++ /dev/null @@ -1,5 +0,0 @@ -{% extends "!layout.html" %} -{% block extrahead %} - - {{ super() }} -{% endblock %} diff --git a/site/applications.md b/site/applications.md deleted file mode 100644 index fa81374e..00000000 --- a/site/applications.md +++ /dev/null @@ -1,17 +0,0 @@ -# NumPy Applications - -A collection of highlighting the use of NumPy for applications in science, -engineering, and data analysis. - -```{toctree} ---- -maxdepth: 1 ---- - -content/mooreslaw-tutorial -content/tutorial-deep-learning-on-mnist -content/tutorial-x-ray-image-processing -content/tutorial-static_equilibrium -content/tutorial-plotting-fractals -content/tutorial-air-quality-analysis -``` diff --git a/site/conf.py b/site/conf.py deleted file mode 100644 index e1fe5b63..00000000 --- a/site/conf.py +++ /dev/null @@ -1,80 +0,0 @@ -# Configuration file for the Sphinx documentation builder. -# -# -- Path setup -------------------------------------------------------------- - -# If extensions (or modules to document with autodoc) are in another directory, -# add these directories to sys.path here. If the directory is relative to the -# documentation root, use os.path.abspath to make it absolute, like shown here. -# -# import os -# import sys -# sys.path.insert(0, os.path.abspath('.')) - - -# -- Project information ----------------------------------------------------- -from datetime import date - -project = 'NumPy tutorials' -copyright = f'2020-{date.today().year}, the NumPy community' -author = 'the NumPy community' - - -# -- General configuration --------------------------------------------------- - -# Add any Sphinx extension module names here, as strings. They can be -# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom -# ones. -extensions = [ - 'myst_nb', - 'sphinx_copybutton', -] - -myst_enable_extensions = [ - 'dollarmath', -] - -# Add any paths that contain templates here, relative to this directory. -templates_path = ['_templates'] - -# List of patterns, relative to source directory, that match files and -# directories to ignore when looking for source files. -# This pattern also affects html_static_path and html_extra_path. -exclude_patterns = ['_build', - 'Thumbs.db', - '.DS_Store', - 'notebooks', - 'content/tutorial-nlp-from-scratch/README.md', - ] - -# MyST-NB configuration -nb_execution_timeout = 900 - - -# -- Options for HTML output ------------------------------------------------- - -# The theme to use for HTML and HTML Help pages. See the documentation for -# a list of builtin themes. -# -html_theme = 'sphinx_book_theme' -html_title = 'NumPy Tutorials' -html_logo = '_static/numpylogo.svg' -html_favicon = '_static/favicon.png' -html_theme_options = { - "github_url": "https://github.com/numpy/numpy-tutorials/", - "repository_url": "https://github.com/numpy/numpy-tutorials/", - "repository_branch": "main", - "use_repository_button": True, - "use_issues_button": True, - "use_edit_page_button": True, - "path_to_docs": "site/", - "launch_buttons": { - "binderhub_url": "https://mybinder.org", -# "jupyterhub_url": "Not a URL: dummy for theme demo.", - }, -} - - -# Add any paths that contain custom static files (such as style sheets) here, -# relative to this directory. They are copied after the builtin static files, -# so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ['_static'] diff --git a/site/content b/site/content deleted file mode 120000 index 67872980..00000000 --- a/site/content +++ /dev/null @@ -1 +0,0 @@ -../content/ \ No newline at end of file diff --git a/site/features.md b/site/features.md deleted file mode 100644 index fb966a8a..00000000 --- a/site/features.md +++ /dev/null @@ -1,13 +0,0 @@ -# NumPy Features - -A collection of notebooks pertaining to built-in NumPy functionality. - -```{toctree} ---- -maxdepth: 1 ---- - -content/tutorial-svd -content/save-load-arrays -content/tutorial-ma -``` diff --git a/site/make.bat b/site/make.bat deleted file mode 100644 index 2119f510..00000000 --- a/site/make.bat +++ /dev/null @@ -1,35 +0,0 @@ -@ECHO OFF - -pushd %~dp0 - -REM Command file for Sphinx documentation - -if "%SPHINXBUILD%" == "" ( - set SPHINXBUILD=sphinx-build -) -set SOURCEDIR=. -set BUILDDIR=_build - -if "%1" == "" goto help - -%SPHINXBUILD% >NUL 2>NUL -if errorlevel 9009 ( - echo. - echo.The 'sphinx-build' command was not found. Make sure you have Sphinx - echo.installed, then set the SPHINXBUILD environment variable to point - echo.to the full path of the 'sphinx-build' executable. Alternatively you - echo.may add the Sphinx directory to PATH. - echo. - echo.If you don't have Sphinx installed, grab it from - echo.http://sphinx-doc.org/ - exit /b 1 -) - -%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% -goto end - -:help -%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% - -:end -popd diff --git a/site/requirements.txt b/site/requirements.txt deleted file mode 100644 index e040deba..00000000 --- a/site/requirements.txt +++ /dev/null @@ -1,4 +0,0 @@ -sphinx -myst-nb -sphinx-book-theme -sphinx-copybutton