From 8afe207ce528e2953940a4e2fad799eca8552252 Mon Sep 17 00:00:00 2001 From: Vijay Janapa Reddi Date: Tue, 15 Jul 2025 18:51:36 -0400 Subject: [PATCH] Renumber modules from 00-13 to 01-14 for natural numbering MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ✅ Rename all module directories: 00_setup → 01_setup, etc. ✅ Update convert_modules.py mappings for new directory names ✅ Update _toc.yml file paths and titles (1-14 instead of 0-13) ✅ Regenerate all overview pages with new numbering ✅ Fix all broken references in usage-paths and intro ✅ Update chapter references to use natural numbering Benefits: - More intuitive course progression starting from 1 - Matches academic course numbering conventions - Eliminates confusion about 'Module 0' concept - Cleaner mental model for students and instructors - All references and links properly updated Complete transformation: 14 modules now numbered 01-14 --- .../.doctrees/chapters/00-setup.doctree | Bin 20191 -> 20152 bytes .../.doctrees/chapters/01-setup.doctree | Bin 0 -> 20152 bytes .../.doctrees/chapters/01-tensor.doctree | Bin 12882 -> 12843 bytes .../.doctrees/chapters/02-activations.doctree | Bin 13006 -> 12967 bytes .../.doctrees/chapters/02-tensor.doctree | Bin 0 -> 12843 bytes .../.doctrees/chapters/03-activations.doctree | Bin 0 -> 12967 bytes .../.doctrees/chapters/03-layers.doctree | Bin 12965 -> 12926 bytes .../.doctrees/chapters/04-layers.doctree | Bin 0 -> 12926 bytes .../.doctrees/chapters/04-networks.doctree | Bin 15051 -> 15012 bytes book/_build/.doctrees/chapters/05-cnn.doctree | Bin 14914 -> 14875 bytes .../.doctrees/chapters/05-networks.doctree | Bin 0 -> 15012 bytes book/_build/.doctrees/chapters/06-cnn.doctree | Bin 0 -> 14875 bytes .../.doctrees/chapters/06-dataloader.doctree | Bin 14889 -> 14850 bytes .../.doctrees/chapters/07-autograd.doctree | Bin 13037 -> 12998 bytes .../.doctrees/chapters/07-dataloader.doctree | Bin 0 -> 14850 bytes .../.doctrees/chapters/08-autograd.doctree | Bin 0 -> 12998 bytes .../.doctrees/chapters/08-optimizers.doctree | Bin 12836 -> 12797 bytes .../.doctrees/chapters/09-optimizers.doctree | Bin 0 -> 12797 bytes .../.doctrees/chapters/09-training.doctree | Bin 13002 -> 12963 bytes .../.doctrees/chapters/10-compression.doctree | Bin 13339 -> 13296 bytes .../.doctrees/chapters/10-training.doctree | Bin 0 -> 12963 bytes .../.doctrees/chapters/11-compression.doctree | Bin 0 -> 13296 bytes .../.doctrees/chapters/11-kernels.doctree | Bin 13466 -> 13423 bytes .../chapters/12-benchmarking.doctree | Bin 12999 -> 12956 bytes .../.doctrees/chapters/12-kernels.doctree | Bin 0 -> 13423 bytes .../chapters/13-benchmarking.doctree | Bin 0 -> 12956 bytes .../.doctrees/chapters/13-mlops.doctree | Bin 12838 -> 12795 bytes .../.doctrees/chapters/14-mlops.doctree | Bin 0 -> 12795 bytes book/_build/.doctrees/intro.doctree | Bin 53412 -> 54340 bytes .../usage-paths/classroom-use.doctree | Bin 65821 -> 65815 bytes .../usage-paths/quick-exploration.doctree | Bin 23359 -> 23359 bytes .../usage-paths/serious-development.doctree | Bin 49781 -> 49265 bytes .../_build/html/_sources/chapters/00-setup.md | 2 +- .../html/_sources/chapters/01-setup.md} | 6 +- .../html/_sources/chapters/01-tensor.md | 2 +- .../html/_sources/chapters/02-activations.md | 2 +- .../html/_sources/chapters/02-tensor.md} | 6 +- .../html/_sources/chapters/03-activations.md} | 6 +- .../html/_sources/chapters/03-layers.md | 2 +- .../html/_sources/chapters/04-layers.md} | 6 +- .../html/_sources/chapters/04-networks.md | 2 +- book/_build/html/_sources/chapters/05-cnn.md | 2 +- .../html/_sources/chapters/05-networks.md} | 6 +- .../html/_sources/chapters/06-cnn.md} | 6 +- .../html/_sources/chapters/06-dataloader.md | 2 +- .../html/_sources/chapters/07-autograd.md | 2 +- .../html/_sources/chapters/07-dataloader.md} | 6 +- .../html/_sources/chapters/08-autograd.md} | 6 +- .../html/_sources/chapters/08-optimizers.md | 2 +- .../html/_sources/chapters/09-optimizers.md} | 6 +- .../html/_sources/chapters/09-training.md | 2 +- .../html/_sources/chapters/10-compression.md | 2 +- .../html/_sources/chapters/10-training.md} | 6 +- .../html/_sources/chapters/11-compression.md} | 6 +- .../html/_sources/chapters/11-kernels.md | 2 +- .../html/_sources/chapters/12-benchmarking.md | 2 +- .../html/_sources/chapters/12-kernels.md} | 6 +- .../_sources/chapters/13-benchmarking.md} | 6 +- .../_build/html/_sources/chapters/13-mlops.md | 2 +- .../html/_sources/chapters/14-mlops.md} | 6 +- book/_build/html/_sources/intro.md | 23 +- .../_sources/usage-paths/classroom-use.md | 2 +- .../_sources/usage-paths/quick-exploration.md | 12 +- .../usage-paths/serious-development.md | 6 +- book/_build/html/chapters/00-setup.html | 14 +- book/_build/html/chapters/01-setup.html | 654 ++++++++++++++++++ book/_build/html/chapters/01-tensor.html | 18 +- book/_build/html/chapters/02-activations.html | 18 +- book/_build/html/chapters/02-tensor.html | 609 ++++++++++++++++ book/_build/html/chapters/03-activations.html | 609 ++++++++++++++++ book/_build/html/chapters/03-layers.html | 18 +- book/_build/html/chapters/04-layers.html | 609 ++++++++++++++++ book/_build/html/chapters/04-networks.html | 18 +- book/_build/html/chapters/05-cnn.html | 18 +- book/_build/html/chapters/05-networks.html | 622 +++++++++++++++++ book/_build/html/chapters/06-cnn.html | 622 +++++++++++++++++ book/_build/html/chapters/06-dataloader.html | 18 +- book/_build/html/chapters/07-autograd.html | 18 +- book/_build/html/chapters/07-dataloader.html | 622 +++++++++++++++++ book/_build/html/chapters/08-autograd.html | 609 ++++++++++++++++ book/_build/html/chapters/08-optimizers.html | 18 +- book/_build/html/chapters/09-optimizers.html | 609 ++++++++++++++++ book/_build/html/chapters/09-training.html | 18 +- book/_build/html/chapters/10-compression.html | 18 +- book/_build/html/chapters/10-training.html | 609 ++++++++++++++++ book/_build/html/chapters/11-compression.html | 610 ++++++++++++++++ book/_build/html/chapters/11-kernels.html | 18 +- .../_build/html/chapters/12-benchmarking.html | 18 +- book/_build/html/chapters/12-kernels.html | 610 ++++++++++++++++ .../_build/html/chapters/13-benchmarking.html | 609 ++++++++++++++++ book/_build/html/chapters/13-mlops.html | 14 +- book/_build/html/chapters/14-mlops.html | 599 ++++++++++++++++ book/_build/html/genindex.html | 28 +- book/_build/html/intro.html | 57 +- book/_build/html/objects.inv | Bin 915 -> 881 bytes book/_build/html/search.html | 28 +- book/_build/html/searchindex.js | 2 +- .../html/usage-paths/classroom-use.html | 36 +- .../html/usage-paths/quick-exploration.html | 58 +- .../html/usage-paths/serious-development.html | 34 +- book/_toc.yml | 56 +- book/chapters/01-setup.md | 78 +++ book/chapters/02-tensor.md | 54 ++ book/chapters/03-activations.md | 54 ++ book/chapters/04-layers.md | 54 ++ book/chapters/05-networks.md | 62 ++ book/chapters/06-cnn.md | 62 ++ book/chapters/07-dataloader.md | 62 ++ book/chapters/08-autograd.md | 54 ++ book/chapters/09-optimizers.md | 54 ++ book/chapters/10-training.md | 54 ++ book/chapters/11-compression.md | 55 ++ book/chapters/12-kernels.md | 55 ++ book/chapters/13-benchmarking.md | 54 ++ book/chapters/14-mlops.md | 54 ++ book/convert_modules.py | 56 +- book/intro.md | 4 +- book/usage-paths/classroom-use.md | 2 +- book/usage-paths/quick-exploration.md | 12 +- book/usage-paths/serious-development.md | 6 +- .../source/{00_setup => 01_setup}/README.md | 0 .../source/{00_setup => 01_setup}/module.yaml | 0 .../{00_setup => 01_setup}/setup_dev.py | 0 .../tinytorch_flame.txt | 0 .../source/{01_tensor => 02_tensor}/README.md | 0 .../{01_tensor => 02_tensor}/module.yaml | 0 .../{01_tensor => 02_tensor}/tensor_dev.ipynb | 0 .../{01_tensor => 02_tensor}/tensor_dev.py | 0 .../tensor_dev_backup.py | 0 .../README.md | 0 .../activations_dev.py | 0 .../activations_dev_backup.py | 0 .../module.yaml | 0 .../source/{03_layers => 04_layers}/README.md | 0 .../{03_layers => 04_layers}/layers_dev.py | 0 .../layers_dev_backup.py | 0 .../{03_layers => 04_layers}/module.yaml | 0 .../{04_networks => 05_networks}/README.md | 0 .../{04_networks => 05_networks}/module.yaml | 0 .../networks_dev.py | 0 .../networks_dev_backup.py | 0 modules/source/{05_cnn => 06_cnn}/README.md | 0 modules/source/{05_cnn => 06_cnn}/cnn_dev.py | 0 .../{05_cnn => 06_cnn}/cnn_dev_backup.py | 0 modules/source/{05_cnn => 06_cnn}/module.yaml | 0 .../README.md | 0 .../dataloader_dev.py | 0 .../dataloader_dev_backup.py | 0 .../module.yaml | 0 .../{07_autograd => 08_autograd}/README.md | 0 .../autograd_dev.py | 0 .../autograd_dev_backup.py | 0 .../{07_autograd => 08_autograd}/module.yaml | 0 .../README.md | 0 .../module.yaml | 0 .../optimizers_dev.ipynb | 0 .../optimizers_dev.py | 0 .../{09_training => 10_training}/README.md | 0 .../{09_training => 10_training}/module.yaml | 0 .../training_dev.ipynb | 0 .../training_dev.py | 0 .../README.md | 0 .../compression_dev.ipynb | 0 .../compression_dev.py | 0 .../module.yaml | 0 .../{11_kernels => 12_kernels}/README.md | 0 .../kernels_dev.ipynb | 0 .../{11_kernels => 12_kernels}/kernels_dev.py | 0 .../kernels_dev_backup.py | 0 .../{11_kernels => 12_kernels}/module.yaml | 0 .../README.md | 0 .../benchmarking_dev.ipynb | 0 .../benchmarking_dev.py | 0 .../module.yaml | 0 .../test_report.md | 0 .../source/{13_mlops => 14_mlops}/README.md | 0 .../{13_mlops => 14_mlops}/mlops_dev.ipynb | 0 .../{13_mlops => 14_mlops}/mlops_dev.py | 0 .../source/{13_mlops => 14_mlops}/module.yaml | 0 .../{13_mlops => 14_mlops}/test_report.md | 0 180 files changed, 9804 insertions(+), 382 deletions(-) create mode 100644 book/_build/.doctrees/chapters/01-setup.doctree create mode 100644 book/_build/.doctrees/chapters/02-tensor.doctree create mode 100644 book/_build/.doctrees/chapters/03-activations.doctree create mode 100644 book/_build/.doctrees/chapters/04-layers.doctree create mode 100644 book/_build/.doctrees/chapters/05-networks.doctree create mode 100644 book/_build/.doctrees/chapters/06-cnn.doctree create mode 100644 book/_build/.doctrees/chapters/07-dataloader.doctree create mode 100644 book/_build/.doctrees/chapters/08-autograd.doctree create mode 100644 book/_build/.doctrees/chapters/09-optimizers.doctree create mode 100644 book/_build/.doctrees/chapters/10-training.doctree create mode 100644 book/_build/.doctrees/chapters/11-compression.doctree create mode 100644 book/_build/.doctrees/chapters/12-kernels.doctree create mode 100644 book/_build/.doctrees/chapters/13-benchmarking.doctree create mode 100644 book/_build/.doctrees/chapters/14-mlops.doctree rename book/{chapters/00-setup.md => _build/html/_sources/chapters/01-setup.md} (95%) rename book/{chapters/01-tensor.md => _build/html/_sources/chapters/02-tensor.md} (92%) rename book/{chapters/02-activations.md => _build/html/_sources/chapters/03-activations.md} (91%) rename book/{chapters/03-layers.md => _build/html/_sources/chapters/04-layers.md} (93%) rename book/{chapters/04-networks.md => _build/html/_sources/chapters/05-networks.md} (93%) rename book/{chapters/05-cnn.md => _build/html/_sources/chapters/06-cnn.md} (94%) rename book/{chapters/06-dataloader.md => _build/html/_sources/chapters/07-dataloader.md} (93%) rename book/{chapters/07-autograd.md => _build/html/_sources/chapters/08-autograd.md} (92%) rename book/{chapters/08-optimizers.md => _build/html/_sources/chapters/09-optimizers.md} (91%) rename book/{chapters/09-training.md => _build/html/_sources/chapters/10-training.md} (92%) rename book/{chapters/10-compression.md => _build/html/_sources/chapters/11-compression.md} (91%) rename book/{chapters/11-kernels.md => _build/html/_sources/chapters/12-kernels.md} (93%) rename book/{chapters/12-benchmarking.md => _build/html/_sources/chapters/13-benchmarking.md} (91%) rename book/{chapters/13-mlops.md => _build/html/_sources/chapters/14-mlops.md} (93%) create mode 100644 book/_build/html/chapters/01-setup.html create mode 100644 book/_build/html/chapters/02-tensor.html create mode 100644 book/_build/html/chapters/03-activations.html create mode 100644 book/_build/html/chapters/04-layers.html create mode 100644 book/_build/html/chapters/05-networks.html create mode 100644 book/_build/html/chapters/06-cnn.html create mode 100644 book/_build/html/chapters/07-dataloader.html create mode 100644 book/_build/html/chapters/08-autograd.html create mode 100644 book/_build/html/chapters/09-optimizers.html create mode 100644 book/_build/html/chapters/10-training.html create mode 100644 book/_build/html/chapters/11-compression.html create mode 100644 book/_build/html/chapters/12-kernels.html create mode 100644 book/_build/html/chapters/13-benchmarking.html create mode 100644 book/_build/html/chapters/14-mlops.html create mode 100644 book/chapters/01-setup.md create mode 100644 book/chapters/02-tensor.md create mode 100644 book/chapters/03-activations.md create mode 100644 book/chapters/04-layers.md create mode 100644 book/chapters/05-networks.md create mode 100644 book/chapters/06-cnn.md create mode 100644 book/chapters/07-dataloader.md create mode 100644 book/chapters/08-autograd.md create mode 100644 book/chapters/09-optimizers.md create mode 100644 book/chapters/10-training.md create mode 100644 book/chapters/11-compression.md create mode 100644 book/chapters/12-kernels.md create mode 100644 book/chapters/13-benchmarking.md create mode 100644 book/chapters/14-mlops.md rename modules/source/{00_setup => 01_setup}/README.md (100%) rename modules/source/{00_setup => 01_setup}/module.yaml (100%) rename modules/source/{00_setup => 01_setup}/setup_dev.py (100%) rename modules/source/{00_setup => 01_setup}/tinytorch_flame.txt (100%) rename modules/source/{01_tensor => 02_tensor}/README.md (100%) rename modules/source/{01_tensor => 02_tensor}/module.yaml (100%) rename modules/source/{01_tensor => 02_tensor}/tensor_dev.ipynb (100%) rename modules/source/{01_tensor => 02_tensor}/tensor_dev.py (100%) rename modules/source/{01_tensor => 02_tensor}/tensor_dev_backup.py (100%) rename modules/source/{02_activations => 03_activations}/README.md (100%) rename modules/source/{02_activations => 03_activations}/activations_dev.py (100%) rename modules/source/{02_activations => 03_activations}/activations_dev_backup.py (100%) rename modules/source/{02_activations => 03_activations}/module.yaml (100%) rename modules/source/{03_layers => 04_layers}/README.md (100%) rename modules/source/{03_layers => 04_layers}/layers_dev.py (100%) rename modules/source/{03_layers => 04_layers}/layers_dev_backup.py (100%) rename modules/source/{03_layers => 04_layers}/module.yaml (100%) rename modules/source/{04_networks => 05_networks}/README.md (100%) rename modules/source/{04_networks => 05_networks}/module.yaml (100%) rename modules/source/{04_networks => 05_networks}/networks_dev.py (100%) rename modules/source/{04_networks => 05_networks}/networks_dev_backup.py (100%) rename modules/source/{05_cnn => 06_cnn}/README.md (100%) rename modules/source/{05_cnn => 06_cnn}/cnn_dev.py (100%) rename modules/source/{05_cnn => 06_cnn}/cnn_dev_backup.py (100%) rename modules/source/{05_cnn => 06_cnn}/module.yaml (100%) rename modules/source/{06_dataloader => 07_dataloader}/README.md (100%) rename modules/source/{06_dataloader => 07_dataloader}/dataloader_dev.py (100%) rename modules/source/{06_dataloader => 07_dataloader}/dataloader_dev_backup.py (100%) rename modules/source/{06_dataloader => 07_dataloader}/module.yaml (100%) rename modules/source/{07_autograd => 08_autograd}/README.md (100%) rename modules/source/{07_autograd => 08_autograd}/autograd_dev.py (100%) rename modules/source/{07_autograd => 08_autograd}/autograd_dev_backup.py (100%) rename modules/source/{07_autograd => 08_autograd}/module.yaml (100%) rename modules/source/{08_optimizers => 09_optimizers}/README.md (100%) rename modules/source/{08_optimizers => 09_optimizers}/module.yaml (100%) rename modules/source/{08_optimizers => 09_optimizers}/optimizers_dev.ipynb (100%) rename modules/source/{08_optimizers => 09_optimizers}/optimizers_dev.py (100%) rename modules/source/{09_training => 10_training}/README.md (100%) rename modules/source/{09_training => 10_training}/module.yaml (100%) rename modules/source/{09_training => 10_training}/training_dev.ipynb (100%) rename modules/source/{09_training => 10_training}/training_dev.py (100%) rename modules/source/{10_compression => 11_compression}/README.md (100%) rename modules/source/{10_compression => 11_compression}/compression_dev.ipynb (100%) rename modules/source/{10_compression => 11_compression}/compression_dev.py (100%) rename modules/source/{10_compression => 11_compression}/module.yaml (100%) rename modules/source/{11_kernels => 12_kernels}/README.md (100%) rename modules/source/{11_kernels => 12_kernels}/kernels_dev.ipynb (100%) rename modules/source/{11_kernels => 12_kernels}/kernels_dev.py (100%) rename modules/source/{11_kernels => 12_kernels}/kernels_dev_backup.py (100%) rename modules/source/{11_kernels => 12_kernels}/module.yaml (100%) rename modules/source/{12_benchmarking => 13_benchmarking}/README.md (100%) rename modules/source/{12_benchmarking => 13_benchmarking}/benchmarking_dev.ipynb (100%) rename modules/source/{12_benchmarking => 13_benchmarking}/benchmarking_dev.py (100%) rename modules/source/{12_benchmarking => 13_benchmarking}/module.yaml (100%) rename modules/source/{12_benchmarking => 13_benchmarking}/test_report.md (100%) rename modules/source/{13_mlops => 14_mlops}/README.md (100%) rename modules/source/{13_mlops => 14_mlops}/mlops_dev.ipynb (100%) rename modules/source/{13_mlops => 14_mlops}/mlops_dev.py (100%) rename modules/source/{13_mlops => 14_mlops}/module.yaml (100%) rename modules/source/{13_mlops => 14_mlops}/test_report.md (100%) diff --git a/book/_build/.doctrees/chapters/00-setup.doctree b/book/_build/.doctrees/chapters/00-setup.doctree index c6f2556e9414edbfa0379245f440593d1497bc85..5ecda3b80f791ac1bfc353e19cd90d780d6b5321 100644 GIT binary patch delta 60 zcmV-C0K@;^odLL=0R(^rm93Eki2){&+9#2}5CJB!+5$uYB$MVuQvoKkL`6de4Kb8x S2VInC7K{TjI5D%7OG^Ws@DynP delta 99 zcmdlnm+}5wMwSNFsaGblbaET`=BJeAq$(I#DNO7$N9C$-e0$rOOE(v+Lf1fd@=2Fq iZUYDxq+zqHt1}y~(Uc7K*eMxeJ?~ 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 literal 0 HcmV?d00001 diff --git a/book/_build/.doctrees/chapters/01-tensor.doctree b/book/_build/.doctrees/chapters/01-tensor.doctree index 7712448c313e5e2db8a57981e6bf0a1823e8cc28..d64746b8817ab3b62c3f4b3974fdf4f9d98d5c63 100644 GIT binary patch delta 58 zcmV-A0LA~(WUFKZfCZHxkpzhW9Ffo+k+l#39I?>&CjlCh(kMv*9J3}VIR*_jlxPQC QlxP-=12Hx>vurQs0%MF5wg3PC delta 97 zcmZ3Taw&zSfpx0;M3zo&HQ)S{(wtNULo0=eeY&Vz*^M`Et8*#mf>r1m>Q3IO;mNHA g;es@5{;y%l#%n$$gFSXihFA}?p_%z+SN&&90AR diff --git a/book/_build/.doctrees/chapters/02-activations.doctree b/book/_build/.doctrees/chapters/02-activations.doctree index 6ce3ee32679bec94142512a9915798b95bcedc88..48d2ed97c8f42a5eb025d647f0e116b883744c81 100644 GIT binary patch delta 58 zcmV-A0LA~#Wv68XfCZJDkpzhWEs^0ak;V`KEwSN2C;=;zEGb$6Ewhm+N(K!#lxPQC QlxP-=12Hx?v*<780&*-AWB>pF delta 97 zcmZ3UdM=fvfpzNPi7cJm=DztUr8%hzMpgr1m=}zX?jN&$j ga6uY2XK8w|@mfsDV2_=WA=bleXlAkbp#C!^0A(5=X8-^I diff --git a/book/_build/.doctrees/chapters/02-tensor.doctree b/book/_build/.doctrees/chapters/02-tensor.doctree new file mode 100644 index 0000000000000000000000000000000000000000..0d1eee56bf590574ac8330071bd926a2c1a5644f GIT binary patch literal 12843 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 literal 0 HcmV?d00001 diff --git a/book/_build/.doctrees/chapters/03-activations.doctree b/book/_build/.doctrees/chapters/03-activations.doctree new file mode 100644 index 0000000000000000000000000000000000000000..955764fcbdc137fc13f1b7b325e489d841d303fa GIT binary patch literal 12967 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 literal 0 HcmV?d00001 diff --git a/book/_build/.doctrees/chapters/03-layers.doctree b/book/_build/.doctrees/chapters/03-layers.doctree index e8e19dc5ba0bfee1152a878ad903910e1f1581a6..24f5278a02ecfa0d5a269e192ab69408201fe7ae 100644 GIT binary patch delta 58 zcmV-A0LA~MW&UIYfCZIvkpzhWE0NzUk;D)IE3w}mC;=&x2Ps$qE3;}TNCpivlxPQC QlxP-=12H!>;|yhhYvZWzBAAATu*A)XTz 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 BR@?vp literal 0 HcmV?d00001 diff --git a/book/_build/.doctrees/chapters/04-networks.doctree b/book/_build/.doctrees/chapters/04-networks.doctree index d03adf8fd81390ffd95eda9a7e26656fdcf44806..e34472142adcb5ee782989ceafb5e9572321c8a8 100644 GIT binary patch delta 57 zcmV-90LK5zb)r36=uZA;5F%;_ t;es^erIwWE7iAYK=uV!;B)hrFP?n9?WJ(5m?34_#9%ds0lf_HSnE_}tB|!iH diff --git a/book/_build/.doctrees/chapters/05-cnn.doctree b/book/_build/.doctrees/chapters/05-cnn.doctree index aad6fe2132e598257d43ecde3efc8df3bb30e09b..2b1c2da2b0cb062aff2f5c1e1459c3827226646a 100644 GIT binary patch delta 57 zcmX?9GP{JOfpx0DM3zoQ<%u&)K!nQ1-&6G&6(`R!2w+s+{MEpLjn`~S27Bz346z<& LBSW*rPUg%2P0$ko delta 96 zcmbPTa;Su*fpx0+M3zo&UElna(wtNUQ!9mueI}?}m5tA*>T_x3f>r36>Q1gT2;kO* fa6uY2pEGb^<29d>!5%v$L#&6{$k2STv^g^XH_#th diff --git a/book/_build/.doctrees/chapters/05-networks.doctree b/book/_build/.doctrees/chapters/05-networks.doctree new file mode 100644 index 0000000000000000000000000000000000000000..763bca5505f1680b56a399d642dc0ccf0feb83e3 GIT binary patch literal 15012 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 literal 0 HcmV?d00001 diff --git a/book/_build/.doctrees/chapters/06-cnn.doctree b/book/_build/.doctrees/chapters/06-cnn.doctree new file mode 100644 index 0000000000000000000000000000000000000000..4084fdd5a91dec77a4df64b6b12ac0fc23882e85 GIT binary patch literal 14875 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 diff --git a/book/_build/.doctrees/chapters/07-dataloader.doctree b/book/_build/.doctrees/chapters/07-dataloader.doctree new file mode 100644 index 0000000000000000000000000000000000000000..30732951ed5728f91de4c503840c5b1e24dc8b60 GIT binary patch literal 14850 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 literal 0 HcmV?d00001 diff --git a/book/_build/.doctrees/chapters/08-autograd.doctree b/book/_build/.doctrees/chapters/08-autograd.doctree new file mode 100644 index 0000000000000000000000000000000000000000..1eaf7e383d7d3feee9e181ecbe2f1b66c32dbcc5 GIT binary patch literal 12998 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 literal 0 HcmV?d00001 diff --git a/book/_build/.doctrees/chapters/08-optimizers.doctree b/book/_build/.doctrees/chapters/08-optimizers.doctree index af9601d5797f4a419e95a329a2157a791358365e..0d5f10c52c9b62208598c1348aa868d566ac136d 100644 GIT binary patch delta 59 zcmV-B0L1^KWc_0WfCZKEF_8s`0WFc?E|JC%0WGoNmnQ)$lY%H(0WGuVC`twmIFx7y RU6g1Ri~}(>II})4<^r?Y6>9(h delta 98 zcmeyHyd;ISfpw~+(L~k`Zgb!Kl+v731q&;MiG6mcT)mCIGu63Fa=|KeEp#WRYD96H hL%1Lfn-6GsvGH0?$zYG2k|EZ^Y-nn^SzP}a699LzAcp_| diff --git a/book/_build/.doctrees/chapters/09-optimizers.doctree b/book/_build/.doctrees/chapters/09-optimizers.doctree new file mode 100644 index 0000000000000000000000000000000000000000..55f5ad66fe9d43dfe2f381962c4e5898b9f44026 GIT binary patch literal 12797 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 ZbbQNAZL-o1{hNe2o7_u|#46fp{vQM;Df|Ec literal 0 HcmV?d00001 diff --git a/book/_build/.doctrees/chapters/09-training.doctree b/book/_build/.doctrees/chapters/09-training.doctree index ff00113477bf0c3a687f4cc1fd849a553903cc5b..74eb087b0124d3961ef436064ec4385ef20f9c2b 100644 GIT binary patch delta 55 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 b&3@N!d5J?-+M&Odm~-fO$vm-+c543v!R%(_ literal 0 HcmV?d00001 diff --git a/book/_build/.doctrees/chapters/11-compression.doctree b/book/_build/.doctrees/chapters/11-compression.doctree new file mode 100644 index 0000000000000000000000000000000000000000..f1785dcc3217693c9905368012baf34a9cf35e09 GIT binary patch literal 13296 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 diff --git a/book/_build/.doctrees/chapters/12-benchmarking.doctree b/book/_build/.doctrees/chapters/12-benchmarking.doctree index 832faa98dc212ccecc600ddd7d9c9a526e485c50..82c780320f15c76ee5e3657c9728bd743cc68831 100644 GIT binary patch delta 55 zcmV-70LcHxWt?RMfCZJ2kpzhWGm)7@0W-1bBq#wflNc#r0W-6NDNqItIFx7yU6g1R Ni~}(>IJ4m|<^mNw5|#h} delta 102 zcmbP}dOVe-fpzMhi7cHwcE0&3r8%hzhDKHj6Z>4y_$Hg#89%6VTjzom=^7g8PX3{h jz+(sDgEeiA)C^$bwVaZ{9y=vNtcTgq)N=DS{bx)7{q!ON diff --git a/book/_build/.doctrees/chapters/12-kernels.doctree b/book/_build/.doctrees/chapters/12-kernels.doctree new file mode 100644 index 0000000000000000000000000000000000000000..14b8821dbb2c37eeb5ecf4a2c2c22798bb826494 GIT binary patch literal 13423 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 S(05@LY&u>tPnwSJShf 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 Y*K-n!taLzsCb3{qc*#7m%68iS58I_^c>n+a literal 0 HcmV?d00001 diff --git a/book/_build/.doctrees/chapters/13-mlops.doctree b/book/_build/.doctrees/chapters/13-mlops.doctree index 87990ffa5801b1175f329a0474a6c249d94f2a9b..d33b33c915932f6990832428002ed80b226f1b84 100644 GIT binary patch delta 60 zcmZ3M@;jNefpzK!!-=dNjItAF>VXKkjUSh*GfGchtl`BdyZNVvB^#fa<&+He*eMxe PJS{RH~egakj3m`IFq6aAzn`um@AUvqb6y33YI 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 H?KJ)e{2wKW literal 0 HcmV?d00001 diff --git a/book/_build/.doctrees/intro.doctree b/book/_build/.doctrees/intro.doctree index 0915405a0e948dbc95cfcfefa6cf037bf2657d34..2592a2240d21e661b588c05463f41dbf25940c53 100644 GIT binary patch delta 2272 zcmeHHT}&KR6yCdAXuGiNvNl@?1uxh%v&+tu;kVG(ift`bx|+^o}NtiG-w}B|a>UH8r%@8i`pND<-~}=!1PUG5TmkjrR^eOQUEXeACV5 z%gmYYocn#}+?6nja4P<6C zP8P$F2%fxj#D43YI0)`YNP=b}-Pqf(%D_t#N9-pr0YK7E&g=!e{qjtz$ld3`ug)T0 zA}tsOd>ko;s&`;5$K3Y&Dt_4Sk}JRR=vI>&Afx2=_A2zBCHSKw**0Hn&e zQIs5#Ojy727EcPsX0>ovE;vS=$p-3AtA@d7IufJM6!alv-o1uZ1&osp*|mHaiNMA% zCnG^&!hfq_rRyh-9=>baRJCCuZMDanRbT60p<9}u3o<7PrU2RdVOoa~s6Fk(hIB#v z=Q`GHYn=RH-7%PywKS5EVj>Zu5u~4iX)@c|I{4GX`5CVzZ9Qd4p{M@8SpVIN)%|Z? zEWFb`fcFp7+M{*_01NoF4;BbMak&e8hQE7nmpykmY&%d+>FKycb z@^t6HlBkg=#I3q<$v0W){9ow+lV{oLg7Z%bk-jYl{Im&Ghrr21T(2BhLzn} z$ZW#nbCo4Nzsr>hP`C$QoZACJ_{$qD=dZSshl4kyF($jcnSm7RyLt1L@G-CQ08)-vY1po6~j^B z{kY~@1T<4gpc;=|Ya!1>)fOh}Ys0nkm8gxSn;@+UBGRefl6}N)##HGpxI@W4R#*!Y zny;OMJ(`)6lV=@Yp@N=vRxNxW)Kb0yzdavf_y*S0g`|>HhVD>%j0)|h&_m%d{LOq6 z^g4?7JBoX$;wC2R=gIsIsWMs7hCzn0aTYw!CN_MbM)*b?xE>m7WQUQiptM2V1$Z*f z2a%GHWI-RMO0pH}%K0WXzVQ>`Z|BMEj(7KHq~(Px!#A^XS|zcKO;1trG6ju-K>($G zEW=aRSuo2utS5I3)bb57)0CvuKNs_?gMUOWED_ipg9eSBfr|;G;MS#b9K2N-dMMy>NmWv*v`g|x)iJ3imWij1;?7&I0OauFYy4n% pfN-wZX7u608y0T8r^zkxdg{jPc_UL(oTs2k*?g8e zbN_SB@0@e9tDkr-W;|u5%ijO+&V1SRODGICF1<*#?sAao{>uyKW5~>QLfdR-b(mF& zrl&(}vN;c54?iy4GuMwP-RTYoxQcM$NNrgYMVSk~7oYusYc!GWiq4};(^Pl7$ zhwvCh(6AeC5ZVJpx|1aZ?M>4`^*Y|BJkCSm;PipXLtkJ6aydI%N zcw*re)!!C|&@%jRrP&(!f^k=_2rWWTXi8kGfw$k?33s+_K`YkGm+hX$s8Rc`6`Jpu zMkNP7FEYD0wy+92RMQ>8&(MLs$vZoC49Ej!Qj$Pv;*F_)e9Gv z`smwFtHP;(Q4tB@VP|iqQCBP+VGGN&%XoW2I7+lBS(#K#V|&rm!%FL6YAf#z;lXH> zT6{%IFB_92nuH|o)wo>8%|N2dreSRf`{3qs7mC&;cUFgcPq#+9*c-207Qwj+Gu!e+5UEcX;?nn$Em< zX}AcRO3E}=I(5;ePue2eqEI1;`!#T2l|{PK&MSp>blT2)=!_FOSqPn>p(gmTztVDl zbJvX)t$W`-@VFoPp!RjD%whr7yeM`1eGPQx>~Ui2sAbM?pzcXM4^ z&)cN|8gGAq&cpoeml0Ur@1Av|=V2tzxexjwGujH@uhqh}d;@d9?{W!ELY2@gc!ZXy z&>Gdp63@Xe`LihQ`1y5z-LBWD*VwAkKdTrqg`h4xnfTAo9|yb^M{hYPPHd#u{-_l2 HaBb*s{y!go diff --git a/book/_build/.doctrees/usage-paths/classroom-use.doctree b/book/_build/.doctrees/usage-paths/classroom-use.doctree index 6d00c85a5bdd1374d9d473af76cc1fd751610534..96856739867f275a8f5290af66f2711f0e71c728 100644 GIT binary patch delta 103 zcmbQ+#4^2!g{6UYs=!7T`zwqFlU=T;avACtr$nw<>!~=<(H%uPnr6e0RpCKF@6RBgA*l& delta 108 zcmbQ<#4@*ug{6UYD&s~L`zwsblU=T;@*3zCrKPNsdKffd|za+JI%2XA`&j8L4C58Y1 diff --git a/book/_build/.doctrees/usage-paths/quick-exploration.doctree b/book/_build/.doctrees/usage-paths/quick-exploration.doctree index 09c32427c7386d49533a2232e06f7cd98dc8e301..d514abc9ea4a830ee85a09c9fdbc2d86ed728a18 100644 GIT binary patch delta 166 zcmdnLjdA}r#tl(ojE0k=#r%NeDlt_?!_61O_*sC|1F02^?1s9@StI4teDMzhxMj*9Qn;A$=-m9a^X`-O3kds)MS~Qu_LU{8(9Y;L? D`H3;! delta 166 zcmdnLjdA}r#tl(oj0TgV#r%NeDlt_?gUuJj_*sC|1F02^>;}5UsU@WalMiUSPQD_u z6R4(7Rt-pQm5pUInk+0A1SHesG#QOHPmue~45WILx*36#gbD|cnyjd*1tfh`lNpUC zZ&39GlK)gy7>ze8tI4teDMzhxMj*9Qn;A$=-m9a^X{?~Dkds)MS~Qu_LU{8(9Y;L? D@{=*i diff --git a/book/_build/.doctrees/usage-paths/serious-development.doctree b/book/_build/.doctrees/usage-paths/serious-development.doctree index 7b9133bb811d124f6846485ab49db1fd4b031cd0..bf2f99e59cc0f86476af919ab82f557dc390c434 100644 GIT binary patch delta 839 zcmZ9HT}V@57{`6jTx`>J=4W#<#lUJ?XPde}YuHAkn?XyEx=@O_EzVBtBX^c{5g0^a zIIcqEEW#FNv`~g0E+0Tb# z(S$U0`x@a?Mk8*_t|9$CtJM}@{c%1tny}gb(STkURI<&JNCWTEt>DU7z@0vZ^w2eL zgtvPeVJp)F>*)w$@We%#X<+7hp!B4^MZb%mWB=1C$?I3CpJS(dP2{xsbVTeGdy|rFY8xYLt<6n0a5-~A7_t|I2!e>VHMqO9|97bm!qAW; zq2W=Iz@U^={I@@X(3Upyt(PF8M=`MW5QGoC6lA~Oc3Ui@mvevTobUO3@9*Ao5R-hr zFR6@GPVw8x%9pd~8@!&q%oz0%j}Q$Syum@gORG|Wbk4?_^n%A9355Sv`{wMmEqbS0 z@ZNI@-he++Y^9&g?IESYU}$!8&Y<84N1BagM5tc61_Q$;#6oCU3-3lX%=?oS6p{qD+fbInib%h4ii&l8L zaH?Ke=3V~cC3DyR%|ri~$IysqJc_1Erc)(TwW`eYsP9s}bPk~%FfDhYx0qn1c4+8R zoFR|kY>RBaaCs%4qv60|2J?yo<*`@+PgX4W$KYE_KZ}w)$W|{=c^X0kM%ka@J`Koq zp_G22q3f{*KCbpq37zZIpcxLAdjL%|-;61Wcj|odC4n1olJ?B?3Z; z9;&Sf_>j<3odtk2F9O=2BWWXjJYOnW3XDX}G1yI3Va`O885&Ym6uw!n(F(VV$F5to z>7i6NqQVU9X>}|gWbhI+I=+hNyO`37a%s!@O$mCFp4j*)q43H)%2?EgM2S}=>KbSJ z1K~UFK-4ejeO`Z5@I)s03KsS=YKkS|IyjqEp+m4|Ey`bb?8pIzg?Ltbd7wN!X-u$dK@mqz`b2j!XScpGO!BVz;5m^ZX1XUiHh#%veD`R?v<`IW_4{gMBln VD8S-)&x^1WIT0A2ODngoqu)X6N4x+4 diff --git a/book/_build/html/_sources/chapters/00-setup.md b/book/_build/html/_sources/chapters/00-setup.md index 18313b61..a910af74 100644 --- a/book/_build/html/_sources/chapters/00-setup.md +++ b/book/_build/html/_sources/chapters/00-setup.md @@ -1,4 +1,4 @@ -# Module 0: Setup - TinyTorch System Configuration +# Setup - TinyTorch System Configuration Welcome to TinyTorch! This setup module configures your personal TinyTorch installation and teaches you the NBGrader workflow. diff --git a/book/chapters/00-setup.md b/book/_build/html/_sources/chapters/01-setup.md similarity index 95% rename from book/chapters/00-setup.md rename to book/_build/html/_sources/chapters/01-setup.md index a910af74..4497494c 100644 --- a/book/chapters/00-setup.md +++ b/book/_build/html/_sources/chapters/01-setup.md @@ -47,21 +47,21 @@ Choose your preferred way to engage with this module: ````{grid} 1 2 3 3 ```{grid-item-card} 🚀 Launch Binder -:link: https://mybinder.org/v2/gh/mlsysbook/TinyTorch/main?filepath=modules/source/00_setup/setup_dev.ipynb +:link: https://mybinder.org/v2/gh/mlsysbook/TinyTorch/main?filepath=modules/source/01_setup/setup_dev.ipynb :class-header: bg-light Run this module interactively in your browser. No installation required! ``` ```{grid-item-card} ⚡ Open in Colab -:link: https://colab.research.google.com/github/mlsysbook/TinyTorch/blob/main/modules/source/00_setup/setup_dev.ipynb +:link: https://colab.research.google.com/github/mlsysbook/TinyTorch/blob/main/modules/source/01_setup/setup_dev.ipynb :class-header: bg-light Use Google Colab for GPU access and cloud compute power. ``` ```{grid-item-card} 📖 View Source -:link: https://github.com/mlsysbook/TinyTorch/blob/main/modules/source/00_setup/setup_dev.py +:link: https://github.com/mlsysbook/TinyTorch/blob/main/modules/source/01_setup/setup_dev.py :class-header: bg-light Browse the Python source code and understand the implementation. diff --git a/book/_build/html/_sources/chapters/01-tensor.md b/book/_build/html/_sources/chapters/01-tensor.md index d7b22198..5775df84 100644 --- a/book/_build/html/_sources/chapters/01-tensor.md +++ b/book/_build/html/_sources/chapters/01-tensor.md @@ -1,4 +1,4 @@ -# Module 1: Tensor - Core Data Structure +# Tensor - Core Data Structure Welcome to the Tensor module! This is where TinyTorch really begins. You'll implement the fundamental data structure that powers all ML systems. diff --git a/book/_build/html/_sources/chapters/02-activations.md b/book/_build/html/_sources/chapters/02-activations.md index bd08f763..fa784e78 100644 --- a/book/_build/html/_sources/chapters/02-activations.md +++ b/book/_build/html/_sources/chapters/02-activations.md @@ -1,4 +1,4 @@ -# Module 2: Activations - Nonlinearity in Neural Networks +# Activations - Nonlinearity in Neural Networks Welcome to the Activations module! This is where neural networks get their power through nonlinearity. diff --git a/book/chapters/01-tensor.md b/book/_build/html/_sources/chapters/02-tensor.md similarity index 92% rename from book/chapters/01-tensor.md rename to book/_build/html/_sources/chapters/02-tensor.md index 5775df84..185e70a9 100644 --- a/book/chapters/01-tensor.md +++ b/book/_build/html/_sources/chapters/02-tensor.md @@ -23,21 +23,21 @@ Choose your preferred way to engage with this module: ````{grid} 1 2 3 3 ```{grid-item-card} 🚀 Launch Binder -:link: https://mybinder.org/v2/gh/mlsysbook/TinyTorch/main?filepath=modules/source/01_tensor/tensor_dev.ipynb +:link: https://mybinder.org/v2/gh/mlsysbook/TinyTorch/main?filepath=modules/source/02_tensor/tensor_dev.ipynb :class-header: bg-light Run this module interactively in your browser. No installation required! ``` ```{grid-item-card} ⚡ Open in Colab -:link: https://colab.research.google.com/github/mlsysbook/TinyTorch/blob/main/modules/source/01_tensor/tensor_dev.ipynb +:link: https://colab.research.google.com/github/mlsysbook/TinyTorch/blob/main/modules/source/02_tensor/tensor_dev.ipynb :class-header: bg-light Use Google Colab for GPU access and cloud compute power. ``` ```{grid-item-card} 📖 View Source -:link: https://github.com/mlsysbook/TinyTorch/blob/main/modules/source/01_tensor/tensor_dev.py +:link: https://github.com/mlsysbook/TinyTorch/blob/main/modules/source/02_tensor/tensor_dev.py :class-header: bg-light Browse the Python source code and understand the implementation. diff --git a/book/chapters/02-activations.md b/book/_build/html/_sources/chapters/03-activations.md similarity index 91% rename from book/chapters/02-activations.md rename to book/_build/html/_sources/chapters/03-activations.md index fa784e78..a7e3a3bf 100644 --- a/book/chapters/02-activations.md +++ b/book/_build/html/_sources/chapters/03-activations.md @@ -23,21 +23,21 @@ Choose your preferred way to engage with this module: ````{grid} 1 2 3 3 ```{grid-item-card} 🚀 Launch Binder -:link: https://mybinder.org/v2/gh/mlsysbook/TinyTorch/main?filepath=modules/source/02_activations/activations_dev.ipynb +:link: https://mybinder.org/v2/gh/mlsysbook/TinyTorch/main?filepath=modules/source/03_activations/activations_dev.ipynb :class-header: bg-light Run this module interactively in your browser. No installation required! ``` ```{grid-item-card} ⚡ Open in Colab -:link: https://colab.research.google.com/github/mlsysbook/TinyTorch/blob/main/modules/source/02_activations/activations_dev.ipynb +:link: https://colab.research.google.com/github/mlsysbook/TinyTorch/blob/main/modules/source/03_activations/activations_dev.ipynb :class-header: bg-light Use Google Colab for GPU access and cloud compute power. ``` ```{grid-item-card} 📖 View Source -:link: https://github.com/mlsysbook/TinyTorch/blob/main/modules/source/02_activations/activations_dev.py +:link: https://github.com/mlsysbook/TinyTorch/blob/main/modules/source/03_activations/activations_dev.py :class-header: bg-light Browse the Python source code and understand the implementation. diff --git a/book/_build/html/_sources/chapters/03-layers.md b/book/_build/html/_sources/chapters/03-layers.md index 83b6cabc..665a47a5 100644 --- a/book/_build/html/_sources/chapters/03-layers.md +++ b/book/_build/html/_sources/chapters/03-layers.md @@ -1,4 +1,4 @@ -# Module 3: Layers - Building Blocks of Neural Networks +# Layers - Building Blocks of Neural Networks Welcome to the Layers module! This is where we build the fundamental components that stack together to form neural networks. diff --git a/book/chapters/03-layers.md b/book/_build/html/_sources/chapters/04-layers.md similarity index 93% rename from book/chapters/03-layers.md rename to book/_build/html/_sources/chapters/04-layers.md index 665a47a5..4dbc0034 100644 --- a/book/chapters/03-layers.md +++ b/book/_build/html/_sources/chapters/04-layers.md @@ -23,21 +23,21 @@ Choose your preferred way to engage with this module: ````{grid} 1 2 3 3 ```{grid-item-card} 🚀 Launch Binder -:link: https://mybinder.org/v2/gh/mlsysbook/TinyTorch/main?filepath=modules/source/03_layers/layers_dev.ipynb +:link: https://mybinder.org/v2/gh/mlsysbook/TinyTorch/main?filepath=modules/source/04_layers/layers_dev.ipynb :class-header: bg-light Run this module interactively in your browser. No installation required! ``` ```{grid-item-card} ⚡ Open in Colab -:link: https://colab.research.google.com/github/mlsysbook/TinyTorch/blob/main/modules/source/03_layers/layers_dev.ipynb +:link: https://colab.research.google.com/github/mlsysbook/TinyTorch/blob/main/modules/source/04_layers/layers_dev.ipynb :class-header: bg-light Use Google Colab for GPU access and cloud compute power. ``` ```{grid-item-card} 📖 View Source -:link: https://github.com/mlsysbook/TinyTorch/blob/main/modules/source/03_layers/layers_dev.py +:link: https://github.com/mlsysbook/TinyTorch/blob/main/modules/source/04_layers/layers_dev.py :class-header: bg-light Browse the Python source code and understand the implementation. diff --git a/book/_build/html/_sources/chapters/04-networks.md b/book/_build/html/_sources/chapters/04-networks.md index 63630b6c..68e2933b 100644 --- a/book/_build/html/_sources/chapters/04-networks.md +++ b/book/_build/html/_sources/chapters/04-networks.md @@ -1,4 +1,4 @@ -# Module 4: Networks - Neural Network Architectures +# Networks - Neural Network Architectures Welcome to the Networks module! This is where we compose layers into complete neural network architectures. diff --git a/book/_build/html/_sources/chapters/05-cnn.md b/book/_build/html/_sources/chapters/05-cnn.md index 87e9ef5a..ed5296b6 100644 --- a/book/_build/html/_sources/chapters/05-cnn.md +++ b/book/_build/html/_sources/chapters/05-cnn.md @@ -1,4 +1,4 @@ -# Module 5: CNN - Convolutional Neural Networks +# CNN - Convolutional Neural Networks Welcome to the CNN module! Here you'll implement the core building block of modern computer vision: the convolutional layer. diff --git a/book/chapters/04-networks.md b/book/_build/html/_sources/chapters/05-networks.md similarity index 93% rename from book/chapters/04-networks.md rename to book/_build/html/_sources/chapters/05-networks.md index 68e2933b..90ae7ab8 100644 --- a/book/chapters/04-networks.md +++ b/book/_build/html/_sources/chapters/05-networks.md @@ -31,21 +31,21 @@ Choose your preferred way to engage with this module: ````{grid} 1 2 3 3 ```{grid-item-card} 🚀 Launch Binder -:link: https://mybinder.org/v2/gh/mlsysbook/TinyTorch/main?filepath=modules/source/04_networks/networks_dev.ipynb +:link: https://mybinder.org/v2/gh/mlsysbook/TinyTorch/main?filepath=modules/source/05_networks/networks_dev.ipynb :class-header: bg-light Run this module interactively in your browser. No installation required! ``` ```{grid-item-card} ⚡ Open in Colab -:link: https://colab.research.google.com/github/mlsysbook/TinyTorch/blob/main/modules/source/04_networks/networks_dev.ipynb +:link: https://colab.research.google.com/github/mlsysbook/TinyTorch/blob/main/modules/source/05_networks/networks_dev.ipynb :class-header: bg-light Use Google Colab for GPU access and cloud compute power. ``` ```{grid-item-card} 📖 View Source -:link: https://github.com/mlsysbook/TinyTorch/blob/main/modules/source/04_networks/networks_dev.py +:link: https://github.com/mlsysbook/TinyTorch/blob/main/modules/source/05_networks/networks_dev.py :class-header: bg-light Browse the Python source code and understand the implementation. diff --git a/book/chapters/05-cnn.md b/book/_build/html/_sources/chapters/06-cnn.md similarity index 94% rename from book/chapters/05-cnn.md rename to book/_build/html/_sources/chapters/06-cnn.md index ed5296b6..0e27368f 100644 --- a/book/chapters/05-cnn.md +++ b/book/_build/html/_sources/chapters/06-cnn.md @@ -31,21 +31,21 @@ Choose your preferred way to engage with this module: ````{grid} 1 2 3 3 ```{grid-item-card} 🚀 Launch Binder -:link: https://mybinder.org/v2/gh/mlsysbook/TinyTorch/main?filepath=modules/source/05_cnn/cnn_dev.ipynb +:link: https://mybinder.org/v2/gh/mlsysbook/TinyTorch/main?filepath=modules/source/06_cnn/cnn_dev.ipynb :class-header: bg-light Run this module interactively in your browser. No installation required! ``` ```{grid-item-card} ⚡ Open in Colab -:link: https://colab.research.google.com/github/mlsysbook/TinyTorch/blob/main/modules/source/05_cnn/cnn_dev.ipynb +:link: https://colab.research.google.com/github/mlsysbook/TinyTorch/blob/main/modules/source/06_cnn/cnn_dev.ipynb :class-header: bg-light Use Google Colab for GPU access and cloud compute power. ``` ```{grid-item-card} 📖 View Source -:link: https://github.com/mlsysbook/TinyTorch/blob/main/modules/source/05_cnn/cnn_dev.py +:link: https://github.com/mlsysbook/TinyTorch/blob/main/modules/source/06_cnn/cnn_dev.py :class-header: bg-light Browse the Python source code and understand the implementation. diff --git a/book/_build/html/_sources/chapters/06-dataloader.md b/book/_build/html/_sources/chapters/06-dataloader.md index cd9b7da0..d8ae19da 100644 --- a/book/_build/html/_sources/chapters/06-dataloader.md +++ b/book/_build/html/_sources/chapters/06-dataloader.md @@ -1,4 +1,4 @@ -# Module 6: DataLoader - Data Loading and Preprocessing +# DataLoader - Data Loading and Preprocessing Welcome to the DataLoader module! This is where you'll learn how to efficiently load, process, and manage data for machine learning systems. diff --git a/book/_build/html/_sources/chapters/07-autograd.md b/book/_build/html/_sources/chapters/07-autograd.md index a7f51151..55ee7319 100644 --- a/book/_build/html/_sources/chapters/07-autograd.md +++ b/book/_build/html/_sources/chapters/07-autograd.md @@ -1,4 +1,4 @@ -# Module 7: Autograd - Automatic Differentiation Engine +# Autograd - Automatic Differentiation Engine Welcome to the Autograd module! This is where TinyTorch becomes truly powerful. You'll implement the automatic differentiation engine that makes neural network training possible. diff --git a/book/chapters/06-dataloader.md b/book/_build/html/_sources/chapters/07-dataloader.md similarity index 93% rename from book/chapters/06-dataloader.md rename to book/_build/html/_sources/chapters/07-dataloader.md index d8ae19da..5f0cdc50 100644 --- a/book/chapters/06-dataloader.md +++ b/book/_build/html/_sources/chapters/07-dataloader.md @@ -31,21 +31,21 @@ Choose your preferred way to engage with this module: ````{grid} 1 2 3 3 ```{grid-item-card} 🚀 Launch Binder -:link: https://mybinder.org/v2/gh/mlsysbook/TinyTorch/main?filepath=modules/source/06_dataloader/dataloader_dev.ipynb +:link: https://mybinder.org/v2/gh/mlsysbook/TinyTorch/main?filepath=modules/source/07_dataloader/dataloader_dev.ipynb :class-header: bg-light Run this module interactively in your browser. No installation required! ``` ```{grid-item-card} ⚡ Open in Colab -:link: https://colab.research.google.com/github/mlsysbook/TinyTorch/blob/main/modules/source/06_dataloader/dataloader_dev.ipynb +:link: https://colab.research.google.com/github/mlsysbook/TinyTorch/blob/main/modules/source/07_dataloader/dataloader_dev.ipynb :class-header: bg-light Use Google Colab for GPU access and cloud compute power. ``` ```{grid-item-card} 📖 View Source -:link: https://github.com/mlsysbook/TinyTorch/blob/main/modules/source/06_dataloader/dataloader_dev.py +:link: https://github.com/mlsysbook/TinyTorch/blob/main/modules/source/07_dataloader/dataloader_dev.py :class-header: bg-light Browse the Python source code and understand the implementation. diff --git a/book/chapters/07-autograd.md b/book/_build/html/_sources/chapters/08-autograd.md similarity index 92% rename from book/chapters/07-autograd.md rename to book/_build/html/_sources/chapters/08-autograd.md index 55ee7319..a184126b 100644 --- a/book/chapters/07-autograd.md +++ b/book/_build/html/_sources/chapters/08-autograd.md @@ -23,21 +23,21 @@ Choose your preferred way to engage with this module: ````{grid} 1 2 3 3 ```{grid-item-card} 🚀 Launch Binder -:link: https://mybinder.org/v2/gh/mlsysbook/TinyTorch/main?filepath=modules/source/07_autograd/autograd_dev.ipynb +:link: https://mybinder.org/v2/gh/mlsysbook/TinyTorch/main?filepath=modules/source/08_autograd/autograd_dev.ipynb :class-header: bg-light Run this module interactively in your browser. No installation required! ``` ```{grid-item-card} ⚡ Open in Colab -:link: https://colab.research.google.com/github/mlsysbook/TinyTorch/blob/main/modules/source/07_autograd/autograd_dev.ipynb +:link: https://colab.research.google.com/github/mlsysbook/TinyTorch/blob/main/modules/source/08_autograd/autograd_dev.ipynb :class-header: bg-light Use Google Colab for GPU access and cloud compute power. ``` ```{grid-item-card} 📖 View Source -:link: https://github.com/mlsysbook/TinyTorch/blob/main/modules/source/07_autograd/autograd_dev.py +:link: https://github.com/mlsysbook/TinyTorch/blob/main/modules/source/08_autograd/autograd_dev.py :class-header: bg-light Browse the Python source code and understand the implementation. diff --git a/book/_build/html/_sources/chapters/08-optimizers.md b/book/_build/html/_sources/chapters/08-optimizers.md index 72fc1619..ad29155f 100644 --- a/book/_build/html/_sources/chapters/08-optimizers.md +++ b/book/_build/html/_sources/chapters/08-optimizers.md @@ -1,4 +1,4 @@ -# Module 8: Optimizers - Gradient-Based Parameter Updates +# Optimizers - Gradient-Based Parameter Updates Welcome to the Optimizers module! This is where neural networks learn to improve through intelligent parameter updates. diff --git a/book/chapters/08-optimizers.md b/book/_build/html/_sources/chapters/09-optimizers.md similarity index 91% rename from book/chapters/08-optimizers.md rename to book/_build/html/_sources/chapters/09-optimizers.md index ad29155f..46a432f5 100644 --- a/book/chapters/08-optimizers.md +++ b/book/_build/html/_sources/chapters/09-optimizers.md @@ -23,21 +23,21 @@ Choose your preferred way to engage with this module: ````{grid} 1 2 3 3 ```{grid-item-card} 🚀 Launch Binder -:link: https://mybinder.org/v2/gh/mlsysbook/TinyTorch/main?filepath=modules/source/08_optimizers/optimizers_dev.ipynb +:link: https://mybinder.org/v2/gh/mlsysbook/TinyTorch/main?filepath=modules/source/09_optimizers/optimizers_dev.ipynb :class-header: bg-light Run this module interactively in your browser. No installation required! ``` ```{grid-item-card} ⚡ Open in Colab -:link: https://colab.research.google.com/github/mlsysbook/TinyTorch/blob/main/modules/source/08_optimizers/optimizers_dev.ipynb +:link: https://colab.research.google.com/github/mlsysbook/TinyTorch/blob/main/modules/source/09_optimizers/optimizers_dev.ipynb :class-header: bg-light Use Google Colab for GPU access and cloud compute power. ``` ```{grid-item-card} 📖 View Source -:link: https://github.com/mlsysbook/TinyTorch/blob/main/modules/source/08_optimizers/optimizers_dev.py +:link: https://github.com/mlsysbook/TinyTorch/blob/main/modules/source/09_optimizers/optimizers_dev.py :class-header: bg-light Browse the Python source code and understand the implementation. diff --git a/book/_build/html/_sources/chapters/09-training.md b/book/_build/html/_sources/chapters/09-training.md index 922e78d1..4835cae4 100644 --- a/book/_build/html/_sources/chapters/09-training.md +++ b/book/_build/html/_sources/chapters/09-training.md @@ -1,4 +1,4 @@ -# Module 9: Training - Complete Neural Network Training Pipeline +# Training - Complete Neural Network Training Pipeline Welcome to the Training module! This is where we bring everything together to train neural networks on real data. diff --git a/book/_build/html/_sources/chapters/10-compression.md b/book/_build/html/_sources/chapters/10-compression.md index 6589d625..0169065e 100644 --- a/book/_build/html/_sources/chapters/10-compression.md +++ b/book/_build/html/_sources/chapters/10-compression.md @@ -1,4 +1,4 @@ -# Module 10: Compression & Optimization - Making AI Models Efficient +# Compression & Optimization - Making AI Models Efficient Welcome to the Compression module! This is where you'll learn to make neural networks smaller, faster, and more efficient for real-world deployment. diff --git a/book/chapters/09-training.md b/book/_build/html/_sources/chapters/10-training.md similarity index 92% rename from book/chapters/09-training.md rename to book/_build/html/_sources/chapters/10-training.md index 4835cae4..a23a2e34 100644 --- a/book/chapters/09-training.md +++ b/book/_build/html/_sources/chapters/10-training.md @@ -23,21 +23,21 @@ Choose your preferred way to engage with this module: ````{grid} 1 2 3 3 ```{grid-item-card} 🚀 Launch Binder -:link: https://mybinder.org/v2/gh/mlsysbook/TinyTorch/main?filepath=modules/source/09_training/training_dev.ipynb +:link: https://mybinder.org/v2/gh/mlsysbook/TinyTorch/main?filepath=modules/source/10_training/training_dev.ipynb :class-header: bg-light Run this module interactively in your browser. No installation required! ``` ```{grid-item-card} ⚡ Open in Colab -:link: https://colab.research.google.com/github/mlsysbook/TinyTorch/blob/main/modules/source/09_training/training_dev.ipynb +:link: https://colab.research.google.com/github/mlsysbook/TinyTorch/blob/main/modules/source/10_training/training_dev.ipynb :class-header: bg-light Use Google Colab for GPU access and cloud compute power. ``` ```{grid-item-card} 📖 View Source -:link: https://github.com/mlsysbook/TinyTorch/blob/main/modules/source/09_training/training_dev.py +:link: https://github.com/mlsysbook/TinyTorch/blob/main/modules/source/10_training/training_dev.py :class-header: bg-light Browse the Python source code and understand the implementation. diff --git a/book/chapters/10-compression.md b/book/_build/html/_sources/chapters/11-compression.md similarity index 91% rename from book/chapters/10-compression.md rename to book/_build/html/_sources/chapters/11-compression.md index 0169065e..a2407384 100644 --- a/book/chapters/10-compression.md +++ b/book/_build/html/_sources/chapters/11-compression.md @@ -24,21 +24,21 @@ Choose your preferred way to engage with this module: ````{grid} 1 2 3 3 ```{grid-item-card} 🚀 Launch Binder -:link: https://mybinder.org/v2/gh/mlsysbook/TinyTorch/main?filepath=modules/source/10_compression/compression_dev.ipynb +:link: https://mybinder.org/v2/gh/mlsysbook/TinyTorch/main?filepath=modules/source/11_compression/compression_dev.ipynb :class-header: bg-light Run this module interactively in your browser. No installation required! ``` ```{grid-item-card} ⚡ Open in Colab -:link: https://colab.research.google.com/github/mlsysbook/TinyTorch/blob/main/modules/source/10_compression/compression_dev.ipynb +:link: https://colab.research.google.com/github/mlsysbook/TinyTorch/blob/main/modules/source/11_compression/compression_dev.ipynb :class-header: bg-light Use Google Colab for GPU access and cloud compute power. ``` ```{grid-item-card} 📖 View Source -:link: https://github.com/mlsysbook/TinyTorch/blob/main/modules/source/10_compression/compression_dev.py +:link: https://github.com/mlsysbook/TinyTorch/blob/main/modules/source/11_compression/compression_dev.py :class-header: bg-light Browse the Python source code and understand the implementation. diff --git a/book/_build/html/_sources/chapters/11-kernels.md b/book/_build/html/_sources/chapters/11-kernels.md index cf982a96..cd71ac05 100644 --- a/book/_build/html/_sources/chapters/11-kernels.md +++ b/book/_build/html/_sources/chapters/11-kernels.md @@ -1,4 +1,4 @@ -# Module 11: Kernels - Hardware-Optimized ML Operations +# Kernels - Hardware-Optimized ML Operations Welcome to the Kernels module! This is where we move beyond NumPy to understand how ML operations are optimized for modern hardware. You'll implement custom kernels that run faster than standard library functions. diff --git a/book/_build/html/_sources/chapters/12-benchmarking.md b/book/_build/html/_sources/chapters/12-benchmarking.md index f1a697ac..99f651b0 100644 --- a/book/_build/html/_sources/chapters/12-benchmarking.md +++ b/book/_build/html/_sources/chapters/12-benchmarking.md @@ -1,4 +1,4 @@ -# Module 12: Benchmarking - Systematic ML Performance Evaluation +# Benchmarking - Systematic ML Performance Evaluation Welcome to the Benchmarking module! This is where we learn to systematically evaluate ML systems using industry-standard methodology inspired by MLPerf. diff --git a/book/chapters/11-kernels.md b/book/_build/html/_sources/chapters/12-kernels.md similarity index 93% rename from book/chapters/11-kernels.md rename to book/_build/html/_sources/chapters/12-kernels.md index cd71ac05..9f315fc4 100644 --- a/book/chapters/11-kernels.md +++ b/book/_build/html/_sources/chapters/12-kernels.md @@ -24,21 +24,21 @@ Choose your preferred way to engage with this module: ````{grid} 1 2 3 3 ```{grid-item-card} 🚀 Launch Binder -:link: https://mybinder.org/v2/gh/mlsysbook/TinyTorch/main?filepath=modules/source/11_kernels/kernels_dev.ipynb +:link: https://mybinder.org/v2/gh/mlsysbook/TinyTorch/main?filepath=modules/source/12_kernels/kernels_dev.ipynb :class-header: bg-light Run this module interactively in your browser. No installation required! ``` ```{grid-item-card} ⚡ Open in Colab -:link: https://colab.research.google.com/github/mlsysbook/TinyTorch/blob/main/modules/source/11_kernels/kernels_dev.ipynb +:link: https://colab.research.google.com/github/mlsysbook/TinyTorch/blob/main/modules/source/12_kernels/kernels_dev.ipynb :class-header: bg-light Use Google Colab for GPU access and cloud compute power. ``` ```{grid-item-card} 📖 View Source -:link: https://github.com/mlsysbook/TinyTorch/blob/main/modules/source/11_kernels/kernels_dev.py +:link: https://github.com/mlsysbook/TinyTorch/blob/main/modules/source/12_kernels/kernels_dev.py :class-header: bg-light Browse the Python source code and understand the implementation. diff --git a/book/chapters/12-benchmarking.md b/book/_build/html/_sources/chapters/13-benchmarking.md similarity index 91% rename from book/chapters/12-benchmarking.md rename to book/_build/html/_sources/chapters/13-benchmarking.md index 99f651b0..85795952 100644 --- a/book/chapters/12-benchmarking.md +++ b/book/_build/html/_sources/chapters/13-benchmarking.md @@ -23,21 +23,21 @@ Choose your preferred way to engage with this module: ````{grid} 1 2 3 3 ```{grid-item-card} 🚀 Launch Binder -:link: https://mybinder.org/v2/gh/mlsysbook/TinyTorch/main?filepath=modules/source/12_benchmarking/benchmarking_dev.ipynb +:link: https://mybinder.org/v2/gh/mlsysbook/TinyTorch/main?filepath=modules/source/13_benchmarking/benchmarking_dev.ipynb :class-header: bg-light Run this module interactively in your browser. No installation required! ``` ```{grid-item-card} ⚡ Open in Colab -:link: https://colab.research.google.com/github/mlsysbook/TinyTorch/blob/main/modules/source/12_benchmarking/benchmarking_dev.ipynb +:link: https://colab.research.google.com/github/mlsysbook/TinyTorch/blob/main/modules/source/13_benchmarking/benchmarking_dev.ipynb :class-header: bg-light Use Google Colab for GPU access and cloud compute power. ``` ```{grid-item-card} 📖 View Source -:link: https://github.com/mlsysbook/TinyTorch/blob/main/modules/source/12_benchmarking/benchmarking_dev.py +:link: https://github.com/mlsysbook/TinyTorch/blob/main/modules/source/13_benchmarking/benchmarking_dev.py :class-header: bg-light Browse the Python source code and understand the implementation. diff --git a/book/_build/html/_sources/chapters/13-mlops.md b/book/_build/html/_sources/chapters/13-mlops.md index bea70e76..a526dd82 100644 --- a/book/_build/html/_sources/chapters/13-mlops.md +++ b/book/_build/html/_sources/chapters/13-mlops.md @@ -1,4 +1,4 @@ -# Module 13: MLOps - Production ML Systems +# MLOps - Production ML Systems Welcome to the MLOps module! This is where we close the loop on the complete ML system lifecycle. diff --git a/book/chapters/13-mlops.md b/book/_build/html/_sources/chapters/14-mlops.md similarity index 93% rename from book/chapters/13-mlops.md rename to book/_build/html/_sources/chapters/14-mlops.md index a526dd82..2740ab83 100644 --- a/book/chapters/13-mlops.md +++ b/book/_build/html/_sources/chapters/14-mlops.md @@ -23,21 +23,21 @@ Choose your preferred way to engage with this module: ````{grid} 1 2 3 3 ```{grid-item-card} 🚀 Launch Binder -:link: https://mybinder.org/v2/gh/mlsysbook/TinyTorch/main?filepath=modules/source/13_mlops/mlops_dev.ipynb +:link: https://mybinder.org/v2/gh/mlsysbook/TinyTorch/main?filepath=modules/source/14_mlops/mlops_dev.ipynb :class-header: bg-light Run this module interactively in your browser. No installation required! ``` ```{grid-item-card} ⚡ Open in Colab -:link: https://colab.research.google.com/github/mlsysbook/TinyTorch/blob/main/modules/source/13_mlops/mlops_dev.ipynb +:link: https://colab.research.google.com/github/mlsysbook/TinyTorch/blob/main/modules/source/14_mlops/mlops_dev.ipynb :class-header: bg-light Use Google Colab for GPU access and cloud compute power. ``` ```{grid-item-card} 📖 View Source -:link: https://github.com/mlsysbook/TinyTorch/blob/main/modules/source/13_mlops/mlops_dev.py +:link: https://github.com/mlsysbook/TinyTorch/blob/main/modules/source/14_mlops/mlops_dev.py :class-header: bg-light Browse the Python source code and understand the implementation. diff --git a/book/_build/html/_sources/intro.md b/book/_build/html/_sources/intro.md index 2d81dbad..ebf68a26 100644 --- a/book/_build/html/_sources/intro.md +++ b/book/_build/html/_sources/intro.md @@ -168,9 +168,9 @@ model = Sequential([ **Teaching a class?** → **[👨‍🏫 Classroom Use](usage-paths/classroom-use.md)** *(Complete course infrastructure)* ``` -### **Quick Taste: Try Chapter 0 Right Now** +### **Quick Taste: Try Chapter 1 Right Now** -Want to see what TinyTorch feels like? **[Launch the Setup chapter](chapters/00-setup.ipynb)** in Binder and implement your first TinyTorch function in 2 minutes! +Want to see what TinyTorch feels like? **[Launch the Setup chapter](chapters/01-setup.md)** in Binder and implement your first TinyTorch function in 2 minutes! --- @@ -178,13 +178,20 @@ Want to see what TinyTorch feels like? **[Launch the Setup chapter](chapters/00- **Most ML education teaches you to *use* frameworks.** TinyTorch teaches you to *understand* them. -``` +```python Traditional ML Course: TinyTorch Approach: -├── import torch ├── Build your own tensors -├── model = nn.Linear(10, 1) ├── Implement Linear layers -├── loss = nn.MSELoss() ├── Create loss functions -├── optimizer.step() ├── Build optimizers -└── "How does this work?" 🤷 └── "I built this!" 💪 +├── import torch ├── class Tensor: +├── model = nn.Linear(10, 1) │ def __add__(self, other): ... +├── loss = nn.MSELoss() │ def backward(self): ... +├── optimizer.step() ├── class Linear: +└── "How does this work?" 🤷 │ def forward(self, x): + │ return x @ self.weight + self.bias + ├── def mse_loss(pred, target): + │ return ((pred - target) ** 2).mean() + ├── class SGD: + │ def step(self): + │ param.data -= lr * param.grad + └── "I implemented every line!" 💪 ``` **Result:** You become the person others come to when they need to understand "how PyTorch actually works under the hood." diff --git a/book/_build/html/_sources/usage-paths/classroom-use.md b/book/_build/html/_sources/usage-paths/classroom-use.md index 53103348..25c2148d 100644 --- a/book/_build/html/_sources/usage-paths/classroom-use.md +++ b/book/_build/html/_sources/usage-paths/classroom-use.md @@ -278,7 +278,7 @@ Total: 445 points ### **1. Review Course Materials** - Browse the [course overview](../intro.md) -- Test the [setup module](../chapters/00-setup.ipynb) +- Test the [setup module](../chapters/01-setup.md) - Check [expected student outcomes](../usage-paths/serious-development.md) ### **2. Setup Your Course** diff --git a/book/_build/html/_sources/usage-paths/quick-exploration.md b/book/_build/html/_sources/usage-paths/quick-exploration.md index 73e3b4ff..8e99ca2e 100644 --- a/book/_build/html/_sources/usage-paths/quick-exploration.md +++ b/book/_build/html/_sources/usage-paths/quick-exploration.md @@ -27,26 +27,26 @@ All running live in your browser! ## 📚 Recommended Exploration Path -### **Start Here: Chapter 0 - Setup** +### **Start Here: Chapter 1 - Setup** - Understand the TinyTorch development workflow - Get familiar with the educational approach - See how components fit together -**🚀 [Launch Setup Chapter](../chapters/00-setup.md)** +**🚀 [Launch Setup Chapter](../chapters/01-setup.md)** -### **Then Try: Chapter 2 - Activations** +### **Then Try: Chapter 3 - Activations** - Implement your first ML function (ReLU) - See immediate visual results - Understand why nonlinearity matters -**🚀 [Launch Activations Chapter](../chapters/02-activations.md)** +**🚀 [Launch Activations Chapter](../chapters/03-activations.md)** -### **Build Up: Chapter 3 - Layers** +### **Build Up: Chapter 4 - Layers** - Create the building blocks of neural networks - Combine your ReLU with matrix operations - See how simple math becomes powerful AI -**🚀 [Launch Layers Chapter](../chapters/03-layers.md)** +**🚀 [Launch Layers Chapter](../chapters/04-layers.md)** --- diff --git a/book/_build/html/_sources/usage-paths/serious-development.md b/book/_build/html/_sources/usage-paths/serious-development.md index a4ff3a12..045f67d9 100644 --- a/book/_build/html/_sources/usage-paths/serious-development.md +++ b/book/_build/html/_sources/usage-paths/serious-development.md @@ -222,9 +222,9 @@ Every component follows this pattern: ## 🚀 **Ready to Start?** ### **Choose Your Module** -**New to ML frameworks?** → Start with [Setup](../chapters/00-setup.ipynb) -**Have ML experience?** → Jump to [Tensors](../chapters/01-tensor.ipynb) -**Want to see the vision?** → Try [Activations](../chapters/02-activations.ipynb) +**New to ML frameworks?** → Start with [Setup](../chapters/01-setup.md) +**Have ML experience?** → Jump to [Tensors](../chapters/02-tensor.md) +**Want to see the vision?** → Try [Activations](../chapters/03-activations.md) ### **Get Help** - **💬 Discussions**: GitHub Discussions for questions diff --git a/book/_build/html/chapters/00-setup.html b/book/_build/html/chapters/00-setup.html index 98334d56..dcab762c 100644 --- a/book/_build/html/chapters/00-setup.html +++ b/book/_build/html/chapters/00-setup.html @@ -9,7 +9,7 @@ - Module 0: Setup - TinyTorch System Configuration — Tiny🔥Torch: Build ML Systems from Scratch + Setup - TinyTorch System Configuration — Tiny🔥Torch: Build ML Systems from Scratch @@ -65,7 +65,7 @@ const thebe_selector_output = ".output, .cell_output" - + @@ -176,7 +176,7 @@ const thebe_selector_output = ".output, .cell_output"

Foundation

@@ -401,7 +401,7 @@ document.write(`
-

Module 0: Setup - TinyTorch System Configuration

+

Setup - TinyTorch System Configuration

@@ -430,8 +430,8 @@ document.write(`
-
-

Module 0: Setup - TinyTorch System Configuration#

+
+

Setup - TinyTorch System Configuration#

Welcome to TinyTorch! This setup module configures your personal TinyTorch installation and teaches you the NBGrader workflow.

🎯 Learning Goals

@@ -570,7 +570,7 @@ document.write(` title="next page">

next

-

Module 1: Tensor - Core Data Structure

+

Tensor - Core Data Structure

diff --git a/book/_build/html/chapters/01-setup.html b/book/_build/html/chapters/01-setup.html new file mode 100644 index 00000000..d0ab6c62 --- /dev/null +++ b/book/_build/html/chapters/01-setup.html @@ -0,0 +1,654 @@ + + + + + + + + + + + + Setup - TinyTorch System Configuration — Tiny🔥Torch: Build ML Systems from Scratch + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+
+ + + +
+
+ + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + + + + + +
+ +
+

Setup - TinyTorch System Configuration#

+

Welcome to TinyTorch! This setup module configures your personal TinyTorch installation and teaches you the NBGrader workflow.

+
+

🎯 Learning Goals

+
    +
  • Configure your personal TinyTorch installation with custom information

  • +
  • Learn to query system information using Python modules

  • +
  • Master the NBGrader workflow: implement → test → export

  • +
  • Create functions that become part of your tinytorch package

  • +
  • Understand solution blocks, hidden tests, and automated grading

  • +
+
+
+

The Big Picture: Why Configuration Matters in ML Systems#

+

Configuration is the foundation of any production ML system. In this module, you’ll learn:

+
+

1. System Awareness#

+

Real ML systems need to understand their environment:

+
    +
  • Hardware constraints: Memory, CPU cores, GPU availability

  • +
  • Software dependencies: Python version, library compatibility

  • +
  • Platform differences: Linux servers, macOS development, Windows deployment

  • +
+
+
+

2. Reproducibility#

+

Configuration enables reproducible ML:

+
    +
  • Environment documentation: Exactly what system was used

  • +
  • Dependency management: Precise versions and requirements

  • +
  • Debugging support: System info helps troubleshoot issues

  • +
+
+
+

3. Professional Development#

+

Proper configuration shows engineering maturity:

+
    +
  • Attribution: Your work is properly credited

  • +
  • Collaboration: Others can understand and extend your setup

  • +
  • Maintenance: Systems can be updated and maintained

  • +
+
+
+

4. ML Systems Context#

+

This connects to broader ML engineering:

+
    +
  • Model deployment: Different environments need different configs

  • +
  • Monitoring: System metrics help track performance

  • +
  • Scaling: Understanding hardware helps optimize training

  • +
+

Let’s build the foundation of your ML systems engineering skills!

+
+
+
+

🚀 Interactive Learning#

+

Choose your preferred way to engage with this module:

+
+
+
+
+
+
+🚀 Launch Binder
+

Run this module interactively in your browser. No installation required!

+
+
+
+
+
+
+
+⚡ Open in Colab
+

Use Google Colab for GPU access and cloud compute power.

+
+
+
+
+
+
+
+📖 View Source
+

Browse the Python source code and understand the implementation.

+
+
+
+
+
+
+

💾 Save Your Progress

+

Binder sessions are temporary! Download your completed notebook when done, or switch to local development for persistent work.

+

Ready for serious development? → 🏗️ Local Setup Guide

+
+
+
+ + + + +
+ + + + + + + + +
+ + + + + + +
+
+ + +
+ + +
+
+
+ + + + + +
+
+ + \ No newline at end of file diff --git a/book/_build/html/chapters/01-tensor.html b/book/_build/html/chapters/01-tensor.html index 77ab1ec7..1a17fe24 100644 --- a/book/_build/html/chapters/01-tensor.html +++ b/book/_build/html/chapters/01-tensor.html @@ -9,7 +9,7 @@ - Module 1: Tensor - Core Data Structure — Tiny🔥Torch: Build ML Systems from Scratch + Tensor - Core Data Structure — Tiny🔥Torch: Build ML Systems from Scratch @@ -65,8 +65,8 @@ const thebe_selector_output = ".output, .cell_output" - - + + @@ -176,7 +176,7 @@ const thebe_selector_output = ".output, .cell_output"

Foundation

@@ -401,7 +401,7 @@ document.write(`
-

Module 1: Tensor - Core Data Structure

+

Tensor - Core Data Structure

@@ -424,8 +424,8 @@ document.write(`
-
-

Module 1: Tensor - Core Data Structure#

+
+

Tensor - Core Data Structure#

Welcome to the Tensor module! This is where TinyTorch really begins. You’ll implement the fundamental data structure that powers all ML systems.

🎯 Learning Goals

@@ -523,7 +523,7 @@ document.write(`

previous

-

Module 0: Setup - TinyTorch System Configuration

+

Setup - TinyTorch System Configuration

next

-

Module 2: Activations - Nonlinearity in Neural Networks

+

Activations - Nonlinearity in Neural Networks

diff --git a/book/_build/html/chapters/02-activations.html b/book/_build/html/chapters/02-activations.html index 23d805e5..2cea26b8 100644 --- a/book/_build/html/chapters/02-activations.html +++ b/book/_build/html/chapters/02-activations.html @@ -9,7 +9,7 @@ - Module 2: Activations - Nonlinearity in Neural Networks — Tiny🔥Torch: Build ML Systems from Scratch + Activations - Nonlinearity in Neural Networks — Tiny🔥Torch: Build ML Systems from Scratch @@ -65,8 +65,8 @@ const thebe_selector_output = ".output, .cell_output" - - + + @@ -176,7 +176,7 @@ const thebe_selector_output = ".output, .cell_output"

Foundation

@@ -401,7 +401,7 @@ document.write(`
-

Module 2: Activations - Nonlinearity in Neural Networks

+

Activations - Nonlinearity in Neural Networks

@@ -424,8 +424,8 @@ document.write(`
-
-

Module 2: Activations - Nonlinearity in Neural Networks#

+
+

Activations - Nonlinearity in Neural Networks#

Welcome to the Activations module! This is where neural networks get their power through nonlinearity.

🎯 Learning Goals

@@ -523,7 +523,7 @@ document.write(`

previous

-

Module 1: Tensor - Core Data Structure

+

Tensor - Core Data Structure

next

-

Module 3: Layers - Building Blocks of Neural Networks

+

Layers - Building Blocks of Neural Networks

diff --git a/book/_build/html/chapters/02-tensor.html b/book/_build/html/chapters/02-tensor.html new file mode 100644 index 00000000..9d1644bd --- /dev/null +++ b/book/_build/html/chapters/02-tensor.html @@ -0,0 +1,609 @@ + + + + + + + + + + + + Tensor - Core Data Structure — Tiny🔥Torch: Build ML Systems from Scratch + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+
+ + + +
+
+ + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + +
+

Tensor - Core Data Structure

+ +
+ +
+
+ + + + +
+ +
+

Tensor - Core Data Structure#

+

Welcome to the Tensor module! This is where TinyTorch really begins. You’ll implement the fundamental data structure that powers all ML systems.

+
+

🎯 Learning Goals

+
    +
  • Understand tensors as N-dimensional arrays with ML-specific operations

  • +
  • Implement a complete Tensor class with arithmetic operations

  • +
  • Handle shape management, data types, and memory layout

  • +
  • Build the foundation for neural networks and automatic differentiation

  • +
  • Master the NBGrader workflow with comprehensive testing

  • +
+
+
+

Build → Use → Understand#

+
    +
  1. Build: Create the Tensor class with core operations

  2. +
  3. Use: Perform tensor arithmetic and transformations

  4. +
  5. Understand: How tensors form the foundation of ML systems

  6. +
+
+
+

🚀 Interactive Learning#

+

Choose your preferred way to engage with this module:

+
+
+
+
+
+
+🚀 Launch Binder
+

Run this module interactively in your browser. No installation required!

+
+
+
+
+
+
+
+⚡ Open in Colab
+

Use Google Colab for GPU access and cloud compute power.

+
+
+
+
+
+
+
+📖 View Source
+

Browse the Python source code and understand the implementation.

+
+
+
+
+
+
+

💾 Save Your Progress

+

Binder sessions are temporary! Download your completed notebook when done, or switch to local development for persistent work.

+

Ready for serious development? → 🏗️ Local Setup Guide

+
+
+
+ + + + +
+ + + + + + + + +
+ + + + + + +
+
+ + +
+ + +
+
+
+ + + + + +
+
+ + \ No newline at end of file diff --git a/book/_build/html/chapters/03-activations.html b/book/_build/html/chapters/03-activations.html new file mode 100644 index 00000000..89c1c657 --- /dev/null +++ b/book/_build/html/chapters/03-activations.html @@ -0,0 +1,609 @@ + + + + + + + + + + + + Activations - Nonlinearity in Neural Networks — Tiny🔥Torch: Build ML Systems from Scratch + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+
+ + + +
+
+ + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + +
+

Activations - Nonlinearity in Neural Networks

+ +
+ +
+
+ + + + +
+ +
+

Activations - Nonlinearity in Neural Networks#

+

Welcome to the Activations module! This is where neural networks get their power through nonlinearity.

+
+

🎯 Learning Goals

+
    +
  • Understand why activation functions are essential for neural networks

  • +
  • Implement the four most important activation functions: ReLU, Sigmoid, Tanh, and Softmax

  • +
  • Visualize how activations transform data and enable complex learning

  • +
  • See how activations work with layers to build powerful networks

  • +
  • Master the NBGrader workflow with comprehensive testing

  • +
+
+
+

Build → Use → Understand#

+
    +
  1. Build: Activation functions that add nonlinearity

  2. +
  3. Use: Transform tensors and see immediate results

  4. +
  5. Understand: How nonlinearity enables complex pattern learning

  6. +
+
+
+

🚀 Interactive Learning#

+

Choose your preferred way to engage with this module:

+
+
+
+
+
+
+🚀 Launch Binder
+

Run this module interactively in your browser. No installation required!

+
+
+
+
+
+
+
+⚡ Open in Colab
+

Use Google Colab for GPU access and cloud compute power.

+
+
+
+
+
+
+
+📖 View Source
+

Browse the Python source code and understand the implementation.

+
+
+
+
+
+
+

💾 Save Your Progress

+

Binder sessions are temporary! Download your completed notebook when done, or switch to local development for persistent work.

+

Ready for serious development? → 🏗️ Local Setup Guide

+
+
+
+ + + + +
+ + + + + + + + +
+ + + + + + +
+
+ + +
+ + +
+
+
+ + + + + +
+
+ + \ No newline at end of file diff --git a/book/_build/html/chapters/03-layers.html b/book/_build/html/chapters/03-layers.html index 2d19288d..d3d57c91 100644 --- a/book/_build/html/chapters/03-layers.html +++ b/book/_build/html/chapters/03-layers.html @@ -9,7 +9,7 @@ - Module 3: Layers - Building Blocks of Neural Networks — Tiny🔥Torch: Build ML Systems from Scratch + Layers - Building Blocks of Neural Networks — Tiny🔥Torch: Build ML Systems from Scratch @@ -65,8 +65,8 @@ const thebe_selector_output = ".output, .cell_output" - - + + @@ -176,7 +176,7 @@ const thebe_selector_output = ".output, .cell_output"

Foundation

@@ -401,7 +401,7 @@ document.write(`
-

Module 3: Layers - Building Blocks of Neural Networks

+

Layers - Building Blocks of Neural Networks

@@ -424,8 +424,8 @@ document.write(`
-
-

Module 3: Layers - Building Blocks of Neural Networks#

+
+

Layers - Building Blocks of Neural Networks#

Welcome to the Layers module! This is where we build the fundamental components that stack together to form neural networks.

🎯 Learning Goals

@@ -523,7 +523,7 @@ document.write(`

previous

-

Module 2: Activations - Nonlinearity in Neural Networks

+

Activations - Nonlinearity in Neural Networks

next

-

Module 4: Networks - Neural Network Architectures

+

Networks - Neural Network Architectures

diff --git a/book/_build/html/chapters/04-layers.html b/book/_build/html/chapters/04-layers.html new file mode 100644 index 00000000..9247ce81 --- /dev/null +++ b/book/_build/html/chapters/04-layers.html @@ -0,0 +1,609 @@ + + + + + + + + + + + + Layers - Building Blocks of Neural Networks — Tiny🔥Torch: Build ML Systems from Scratch + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+
+ + + +
+
+ + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + +
+

Layers - Building Blocks of Neural Networks

+ +
+ +
+
+ + + + +
+ +
+

Layers - Building Blocks of Neural Networks#

+

Welcome to the Layers module! This is where we build the fundamental components that stack together to form neural networks.

+
+

🎯 Learning Goals

+
    +
  • Understand how matrix multiplication powers neural networks

  • +
  • Implement naive matrix multiplication from scratch for deep understanding

  • +
  • Build the Dense (Linear) layer - the foundation of all neural networks

  • +
  • Learn weight initialization strategies and their importance

  • +
  • See how layers compose with activations to create powerful networks

  • +
+
+
+

Build → Use → Understand#

+
    +
  1. Build: Matrix multiplication and Dense layers from scratch

  2. +
  3. Use: Create and test layers with real data

  4. +
  5. Understand: How linear transformations enable feature learning

  6. +
+
+
+

🚀 Interactive Learning#

+

Choose your preferred way to engage with this module:

+
+
+
+
+
+
+🚀 Launch Binder
+

Run this module interactively in your browser. No installation required!

+
+
+
+
+
+
+
+⚡ Open in Colab
+

Use Google Colab for GPU access and cloud compute power.

+
+
+
+
+
+
+
+📖 View Source
+

Browse the Python source code and understand the implementation.

+
+
+
+
+
+
+

💾 Save Your Progress

+

Binder sessions are temporary! Download your completed notebook when done, or switch to local development for persistent work.

+

Ready for serious development? → 🏗️ Local Setup Guide

+
+
+
+ + + + +
+ + + + + + + + +
+ + + + + + +
+
+ + +
+ + +
+
+
+ + + + + +
+
+ + \ No newline at end of file diff --git a/book/_build/html/chapters/04-networks.html b/book/_build/html/chapters/04-networks.html index cf678d9a..93547c1f 100644 --- a/book/_build/html/chapters/04-networks.html +++ b/book/_build/html/chapters/04-networks.html @@ -9,7 +9,7 @@ - Module 4: Networks - Neural Network Architectures — Tiny🔥Torch: Build ML Systems from Scratch + Networks - Neural Network Architectures — Tiny🔥Torch: Build ML Systems from Scratch @@ -65,8 +65,8 @@ const thebe_selector_output = ".output, .cell_output" - - + + @@ -176,7 +176,7 @@ const thebe_selector_output = ".output, .cell_output"

Foundation

@@ -401,7 +401,7 @@ document.write(`
-

Module 4: Networks - Neural Network Architectures

+

Networks - Neural Network Architectures

@@ -425,8 +425,8 @@ document.write(`
-
-

Module 4: Networks - Neural Network Architectures#

+
+

Networks - Neural Network Architectures#

Welcome to the Networks module! This is where we compose layers into complete neural network architectures.

🎯 Learning Goals

@@ -535,7 +535,7 @@ document.write(`

previous

-

Module 3: Layers - Building Blocks of Neural Networks

+

Layers - Building Blocks of Neural Networks

next

-

Module 5: CNN - Convolutional Neural Networks

+

CNN - Convolutional Neural Networks

diff --git a/book/_build/html/chapters/05-cnn.html b/book/_build/html/chapters/05-cnn.html index b2cc7971..d517cd09 100644 --- a/book/_build/html/chapters/05-cnn.html +++ b/book/_build/html/chapters/05-cnn.html @@ -9,7 +9,7 @@ - Module 5: CNN - Convolutional Neural Networks — Tiny🔥Torch: Build ML Systems from Scratch + CNN - Convolutional Neural Networks — Tiny🔥Torch: Build ML Systems from Scratch @@ -65,8 +65,8 @@ const thebe_selector_output = ".output, .cell_output" - - + + @@ -176,7 +176,7 @@ const thebe_selector_output = ".output, .cell_output"

Foundation

@@ -401,7 +401,7 @@ document.write(`
-

Module 5: CNN - Convolutional Neural Networks

+

CNN - Convolutional Neural Networks

@@ -425,8 +425,8 @@ document.write(`
-
-

Module 5: CNN - Convolutional Neural Networks#

+
+

CNN - Convolutional Neural Networks#

Welcome to the CNN module! Here you’ll implement the core building block of modern computer vision: the convolutional layer.

🎯 Learning Goals

@@ -535,7 +535,7 @@ document.write(`

previous

-

Module 4: Networks - Neural Network Architectures

+

Networks - Neural Network Architectures

next

-

Module 6: DataLoader - Data Loading and Preprocessing

+

DataLoader - Data Loading and Preprocessing

diff --git a/book/_build/html/chapters/05-networks.html b/book/_build/html/chapters/05-networks.html new file mode 100644 index 00000000..288da09c --- /dev/null +++ b/book/_build/html/chapters/05-networks.html @@ -0,0 +1,622 @@ + + + + + + + + + + + + Networks - Neural Network Architectures — Tiny🔥Torch: Build ML Systems from Scratch + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+
+ + + +
+
+ + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + +
+

Networks - Neural Network Architectures

+ +
+ +
+
+ + + + +
+ +
+

Networks - Neural Network Architectures#

+

Welcome to the Networks module! This is where we compose layers into complete neural network architectures.

+
+

🎯 Learning Goals

+
    +
  • Understand networks as function composition: f(x) = layer_n(...layer_2(layer_1(x)))

  • +
  • Build the Sequential network architecture for composing layers

  • +
  • Create common network patterns like MLPs (Multi-Layer Perceptrons)

  • +
  • Visualize network architectures and understand their capabilities

  • +
  • Master forward pass inference through complete networks

  • +
+
+
+

Build → Use → Reflect#

+
    +
  1. Build: Sequential networks that compose layers into complete architectures

  2. +
  3. Use: Create different network patterns and run inference

  4. +
  5. Reflect: How architecture design affects network behavior and capability

  6. +
+
+
+

What You’ll Learn#

+

By the end of this module, you’ll understand:

+
    +
  • How simple layers combine to create complex behaviors

  • +
  • The fundamental Sequential architecture pattern

  • +
  • How to build MLPs with any number of layers

  • +
  • Different network architectures (shallow, deep, wide)

  • +
  • How neural networks approximate complex functions

  • +
+
+
+

🚀 Interactive Learning#

+

Choose your preferred way to engage with this module:

+
+
+
+
+
+
+🚀 Launch Binder
+

Run this module interactively in your browser. No installation required!

+
+
+
+
+
+
+
+⚡ Open in Colab
+

Use Google Colab for GPU access and cloud compute power.

+
+
+
+
+
+
+
+📖 View Source
+

Browse the Python source code and understand the implementation.

+
+
+
+
+
+
+

💾 Save Your Progress

+

Binder sessions are temporary! Download your completed notebook when done, or switch to local development for persistent work.

+

Ready for serious development? → 🏗️ Local Setup Guide

+
+
+
+ + + + +
+ + + + + + + + +
+ + + + + + +
+
+ + +
+ + +
+
+
+ + + + + +
+
+ + \ No newline at end of file diff --git a/book/_build/html/chapters/06-cnn.html b/book/_build/html/chapters/06-cnn.html new file mode 100644 index 00000000..09b021e5 --- /dev/null +++ b/book/_build/html/chapters/06-cnn.html @@ -0,0 +1,622 @@ + + + + + + + + + + + + CNN - Convolutional Neural Networks — Tiny🔥Torch: Build ML Systems from Scratch + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+
+ + + +
+
+ + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + +
+

CNN - Convolutional Neural Networks

+ +
+ +
+
+ + + + +
+ +
+

CNN - Convolutional Neural Networks#

+

Welcome to the CNN module! Here you’ll implement the core building block of modern computer vision: the convolutional layer.

+
+

🎯 Learning Goals

+
    +
  • Understand the convolution operation and its importance in computer vision

  • +
  • Implement Conv2D with explicit for-loops to understand the sliding window mechanism

  • +
  • Build convolutional layers that can detect spatial patterns in images

  • +
  • Compose Conv2D with other layers to build complete convolutional networks

  • +
  • See how convolution enables parameter sharing and translation invariance

  • +
+
+
+

Build → Use → Reflect#

+
    +
  1. Build: Conv2D layer using sliding window convolution from scratch

  2. +
  3. Use: Transform images and see feature maps emerge

  4. +
  5. Reflect: How CNNs learn hierarchical spatial patterns

  6. +
+
+
+

What You’ll Learn#

+

By the end of this module, you’ll understand:

+
    +
  • How convolution works as a sliding window operation

  • +
  • Why convolution is perfect for spatial data like images

  • +
  • How to build learnable convolutional layers

  • +
  • The CNN pipeline: Conv2D → Activation → Flatten → Dense

  • +
  • How parameter sharing makes CNNs efficient

  • +
+
+
+

🚀 Interactive Learning#

+

Choose your preferred way to engage with this module:

+
+
+
+
+
+
+🚀 Launch Binder
+

Run this module interactively in your browser. No installation required!

+
+
+
+
+
+
+
+⚡ Open in Colab
+

Use Google Colab for GPU access and cloud compute power.

+
+
+
+
+
+
+
+📖 View Source
+

Browse the Python source code and understand the implementation.

+
+
+
+
+
+
+

💾 Save Your Progress

+

Binder sessions are temporary! Download your completed notebook when done, or switch to local development for persistent work.

+

Ready for serious development? → 🏗️ Local Setup Guide

+
+
+
+ + + + +
+ + + + + + + + +
+ + + + + + +
+
+ + +
+ + +
+
+
+ + + + + +
+
+ + \ No newline at end of file diff --git a/book/_build/html/chapters/06-dataloader.html b/book/_build/html/chapters/06-dataloader.html index 9af3c867..88ce20a1 100644 --- a/book/_build/html/chapters/06-dataloader.html +++ b/book/_build/html/chapters/06-dataloader.html @@ -9,7 +9,7 @@ - Module 6: DataLoader - Data Loading and Preprocessing — Tiny🔥Torch: Build ML Systems from Scratch + DataLoader - Data Loading and Preprocessing — Tiny🔥Torch: Build ML Systems from Scratch @@ -65,8 +65,8 @@ const thebe_selector_output = ".output, .cell_output" - - + + @@ -176,7 +176,7 @@ const thebe_selector_output = ".output, .cell_output"

Foundation

@@ -401,7 +401,7 @@ document.write(`
-

Module 6: DataLoader - Data Loading and Preprocessing

+

DataLoader - Data Loading and Preprocessing

@@ -425,8 +425,8 @@ document.write(`
-
-

Module 6: DataLoader - Data Loading and Preprocessing#

+
+

DataLoader - Data Loading and Preprocessing#

Welcome to the DataLoader module! This is where you’ll learn how to efficiently load, process, and manage data for machine learning systems.

🎯 Learning Goals

@@ -535,7 +535,7 @@ document.write(`

previous

-

Module 5: CNN - Convolutional Neural Networks

+

CNN - Convolutional Neural Networks

next

-

Module 7: Autograd - Automatic Differentiation Engine

+

Autograd - Automatic Differentiation Engine

diff --git a/book/_build/html/chapters/07-autograd.html b/book/_build/html/chapters/07-autograd.html index 6a54ff2a..e20902bd 100644 --- a/book/_build/html/chapters/07-autograd.html +++ b/book/_build/html/chapters/07-autograd.html @@ -9,7 +9,7 @@ - Module 7: Autograd - Automatic Differentiation Engine — Tiny🔥Torch: Build ML Systems from Scratch + Autograd - Automatic Differentiation Engine — Tiny🔥Torch: Build ML Systems from Scratch @@ -65,8 +65,8 @@ const thebe_selector_output = ".output, .cell_output" - - + + @@ -176,7 +176,7 @@ const thebe_selector_output = ".output, .cell_output"

Foundation

@@ -401,7 +401,7 @@ document.write(`
-

Module 7: Autograd - Automatic Differentiation Engine

+

Autograd - Automatic Differentiation Engine

@@ -424,8 +424,8 @@ document.write(`
-
-

Module 7: Autograd - Automatic Differentiation Engine#

+
+

Autograd - Automatic Differentiation Engine#

Welcome to the Autograd module! This is where TinyTorch becomes truly powerful. You’ll implement the automatic differentiation engine that makes neural network training possible.

🎯 Learning Goals

@@ -523,7 +523,7 @@ document.write(`

previous

-

Module 6: DataLoader - Data Loading and Preprocessing

+

DataLoader - Data Loading and Preprocessing

next

-

Module 8: Optimizers - Gradient-Based Parameter Updates

+

Optimizers - Gradient-Based Parameter Updates

diff --git a/book/_build/html/chapters/07-dataloader.html b/book/_build/html/chapters/07-dataloader.html new file mode 100644 index 00000000..84890282 --- /dev/null +++ b/book/_build/html/chapters/07-dataloader.html @@ -0,0 +1,622 @@ + + + + + + + + + + + + DataLoader - Data Loading and Preprocessing — Tiny🔥Torch: Build ML Systems from Scratch + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+
+ + + +
+
+ + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + +
+

DataLoader - Data Loading and Preprocessing

+ +
+ +
+
+ + + + +
+ +
+

DataLoader - Data Loading and Preprocessing#

+

Welcome to the DataLoader module! This is where you’ll learn how to efficiently load, process, and manage data for machine learning systems.

+
+

🎯 Learning Goals

+
    +
  • Understand data pipelines as the foundation of ML systems

  • +
  • Implement efficient data loading with memory management and batching

  • +
  • Build reusable dataset abstractions for different data types

  • +
  • Master the Dataset and DataLoader pattern used in all ML frameworks

  • +
  • Learn systems thinking for data engineering and I/O optimization

  • +
+
+
+

Build → Use → Reflect#

+
    +
  1. Build: Create dataset classes and data loaders from scratch

  2. +
  3. Use: Load real datasets and feed them to neural networks

  4. +
  5. Reflect: How data engineering affects system performance and scalability

  6. +
+
+
+

What You’ll Learn#

+

By the end of this module, you’ll understand:

+
    +
  • The Dataset pattern for consistent data access

  • +
  • How DataLoaders enable efficient batch processing

  • +
  • Why batching and shuffling are crucial for ML

  • +
  • How to handle datasets larger than memory

  • +
  • The connection between data engineering and model performance

  • +
+
+
+

🚀 Interactive Learning#

+

Choose your preferred way to engage with this module:

+
+
+
+
+
+
+🚀 Launch Binder
+

Run this module interactively in your browser. No installation required!

+
+
+
+
+
+
+
+⚡ Open in Colab
+

Use Google Colab for GPU access and cloud compute power.

+
+
+
+
+
+
+
+📖 View Source
+

Browse the Python source code and understand the implementation.

+
+
+
+
+
+
+

💾 Save Your Progress

+

Binder sessions are temporary! Download your completed notebook when done, or switch to local development for persistent work.

+

Ready for serious development? → 🏗️ Local Setup Guide

+
+
+
+ + + + +
+ + + + + + + + +
+ + + + + + +
+
+ + +
+ + +
+
+
+ + + + + +
+
+ + \ No newline at end of file diff --git a/book/_build/html/chapters/08-autograd.html b/book/_build/html/chapters/08-autograd.html new file mode 100644 index 00000000..059ed633 --- /dev/null +++ b/book/_build/html/chapters/08-autograd.html @@ -0,0 +1,609 @@ + + + + + + + + + + + + Autograd - Automatic Differentiation Engine — Tiny🔥Torch: Build ML Systems from Scratch + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+
+ + + +
+
+ + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + +
+

Autograd - Automatic Differentiation Engine

+ +
+ +
+
+ + + + +
+ +
+

Autograd - Automatic Differentiation Engine#

+

Welcome to the Autograd module! This is where TinyTorch becomes truly powerful. You’ll implement the automatic differentiation engine that makes neural network training possible.

+
+

🎯 Learning Goals

+
    +
  • Understand how automatic differentiation works through computational graphs

  • +
  • Implement the Variable class that tracks gradients and operations

  • +
  • Build backward propagation for gradient computation

  • +
  • Create the foundation for neural network training

  • +
  • Master the mathematical concepts behind backpropagation

  • +
+
+
+

Build → Use → Analyze#

+
    +
  1. Build: Create the Variable class and gradient computation system

  2. +
  3. Use: Perform automatic differentiation on complex expressions

  4. +
  5. Analyze: Understand how gradients flow through computational graphs

  6. +
+
+
+

🚀 Interactive Learning#

+

Choose your preferred way to engage with this module:

+
+
+
+
+
+
+🚀 Launch Binder
+

Run this module interactively in your browser. No installation required!

+
+
+
+
+
+
+
+⚡ Open in Colab
+

Use Google Colab for GPU access and cloud compute power.

+
+
+
+
+
+
+
+📖 View Source
+

Browse the Python source code and understand the implementation.

+
+
+
+
+
+
+

💾 Save Your Progress

+

Binder sessions are temporary! Download your completed notebook when done, or switch to local development for persistent work.

+

Ready for serious development? → 🏗️ Local Setup Guide

+
+
+
+ + + + +
+ + + + + + + + +
+ + + +
+ + +
+
+ + +
+ + +
+
+
+ + + + + +
+
+ + \ No newline at end of file diff --git a/book/_build/html/chapters/08-optimizers.html b/book/_build/html/chapters/08-optimizers.html index a413e0ef..da20e1c9 100644 --- a/book/_build/html/chapters/08-optimizers.html +++ b/book/_build/html/chapters/08-optimizers.html @@ -9,7 +9,7 @@ - Module 8: Optimizers - Gradient-Based Parameter Updates — Tiny🔥Torch: Build ML Systems from Scratch + Optimizers - Gradient-Based Parameter Updates — Tiny🔥Torch: Build ML Systems from Scratch @@ -65,8 +65,8 @@ const thebe_selector_output = ".output, .cell_output" - - + + @@ -176,7 +176,7 @@ const thebe_selector_output = ".output, .cell_output"

Foundation

@@ -401,7 +401,7 @@ document.write(`
-

Module 8: Optimizers - Gradient-Based Parameter Updates

+

Optimizers - Gradient-Based Parameter Updates

@@ -424,8 +424,8 @@ document.write(`
-
-

Module 8: Optimizers - Gradient-Based Parameter Updates#

+
+

Optimizers - Gradient-Based Parameter Updates#

Welcome to the Optimizers module! This is where neural networks learn to improve through intelligent parameter updates.

🎯 Learning Goals

@@ -523,7 +523,7 @@ document.write(`

previous

-

Module 7: Autograd - Automatic Differentiation Engine

+

Autograd - Automatic Differentiation Engine

next

-

Module 9: Training - Complete Neural Network Training Pipeline

+

Training - Complete Neural Network Training Pipeline

diff --git a/book/_build/html/chapters/09-optimizers.html b/book/_build/html/chapters/09-optimizers.html new file mode 100644 index 00000000..026e2ecf --- /dev/null +++ b/book/_build/html/chapters/09-optimizers.html @@ -0,0 +1,609 @@ + + + + + + + + + + + + Optimizers - Gradient-Based Parameter Updates — Tiny🔥Torch: Build ML Systems from Scratch + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+
+ + + +
+
+ + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + +
+

Optimizers - Gradient-Based Parameter Updates

+ +
+ +
+
+ + + + +
+ +
+

Optimizers - Gradient-Based Parameter Updates#

+

Welcome to the Optimizers module! This is where neural networks learn to improve through intelligent parameter updates.

+
+

🎯 Learning Goals

+
    +
  • Understand gradient descent and how optimizers use gradients to update parameters

  • +
  • Implement SGD with momentum for accelerated convergence

  • +
  • Build Adam optimizer with adaptive learning rates

  • +
  • Master learning rate scheduling strategies

  • +
  • See how optimizers enable effective neural network training

  • +
+
+
+

Build → Use → Analyze#

+
    +
  1. Build: Core optimization algorithms (SGD, Adam)

  2. +
  3. Use: Apply optimizers to train neural networks

  4. +
  5. Analyze: Compare optimizer behavior and convergence patterns

  6. +
+
+
+

🚀 Interactive Learning#

+

Choose your preferred way to engage with this module:

+
+
+
+
+
+
+🚀 Launch Binder
+

Run this module interactively in your browser. No installation required!

+
+
+
+
+
+
+
+⚡ Open in Colab
+

Use Google Colab for GPU access and cloud compute power.

+
+
+
+
+
+
+
+📖 View Source
+

Browse the Python source code and understand the implementation.

+
+
+
+
+
+
+

💾 Save Your Progress

+

Binder sessions are temporary! Download your completed notebook when done, or switch to local development for persistent work.

+

Ready for serious development? → 🏗️ Local Setup Guide

+
+
+
+ + + + +
+ + + + + + + + +
+ + + +
+ + +
+
+ + +
+ + +
+
+
+ + + + + +
+
+ + \ No newline at end of file diff --git a/book/_build/html/chapters/09-training.html b/book/_build/html/chapters/09-training.html index c137e418..8e78b80a 100644 --- a/book/_build/html/chapters/09-training.html +++ b/book/_build/html/chapters/09-training.html @@ -9,7 +9,7 @@ - Module 9: Training - Complete Neural Network Training Pipeline — Tiny🔥Torch: Build ML Systems from Scratch + Training - Complete Neural Network Training Pipeline — Tiny🔥Torch: Build ML Systems from Scratch @@ -65,8 +65,8 @@ const thebe_selector_output = ".output, .cell_output" - - + + @@ -176,7 +176,7 @@ const thebe_selector_output = ".output, .cell_output"

Foundation

@@ -401,7 +401,7 @@ document.write(`
-

Module 9: Training - Complete Neural Network Training Pipeline

+

Training - Complete Neural Network Training Pipeline

@@ -424,8 +424,8 @@ document.write(`
-
-

Module 9: Training - Complete Neural Network Training Pipeline#

+
+

Training - Complete Neural Network Training Pipeline#

Welcome to the Training module! This is where we bring everything together to train neural networks on real data.

🎯 Learning Goals

@@ -523,7 +523,7 @@ document.write(`

previous

-

Module 8: Optimizers - Gradient-Based Parameter Updates

+

Optimizers - Gradient-Based Parameter Updates

next

-

Module 10: Compression & Optimization - Making AI Models Efficient

+

Compression & Optimization - Making AI Models Efficient

diff --git a/book/_build/html/chapters/10-compression.html b/book/_build/html/chapters/10-compression.html index fe30d03c..fb4020cb 100644 --- a/book/_build/html/chapters/10-compression.html +++ b/book/_build/html/chapters/10-compression.html @@ -9,7 +9,7 @@ - Module 10: Compression & Optimization - Making AI Models Efficient — Tiny🔥Torch: Build ML Systems from Scratch + Compression & Optimization - Making AI Models Efficient — Tiny🔥Torch: Build ML Systems from Scratch @@ -65,8 +65,8 @@ const thebe_selector_output = ".output, .cell_output" - - + + @@ -176,7 +176,7 @@ const thebe_selector_output = ".output, .cell_output"

Foundation

@@ -401,7 +401,7 @@ document.write(`
-

Module 10: Compression & Optimization - Making AI Models Efficient

+

Compression & Optimization - Making AI Models Efficient

@@ -424,8 +424,8 @@ document.write(`
-
-

Module 10: Compression & Optimization - Making AI Models Efficient#

+
+

Compression & Optimization - Making AI Models Efficient#

Welcome to the Compression module! This is where you’ll learn to make neural networks smaller, faster, and more efficient for real-world deployment.

🎯 Learning Goals

@@ -524,7 +524,7 @@ document.write(`

previous

-

Module 9: Training - Complete Neural Network Training Pipeline

+

Training - Complete Neural Network Training Pipeline

next

-

Module 11: Kernels - Hardware-Optimized ML Operations

+

Kernels - Hardware-Optimized ML Operations

diff --git a/book/_build/html/chapters/10-training.html b/book/_build/html/chapters/10-training.html new file mode 100644 index 00000000..966eb5eb --- /dev/null +++ b/book/_build/html/chapters/10-training.html @@ -0,0 +1,609 @@ + + + + + + + + + + + + Training - Complete Neural Network Training Pipeline — Tiny🔥Torch: Build ML Systems from Scratch + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+
+ + + +
+
+ + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + +
+

Training - Complete Neural Network Training Pipeline

+ +
+ +
+
+ + + + +
+ +
+

Training - Complete Neural Network Training Pipeline#

+

Welcome to the Training module! This is where we bring everything together to train neural networks on real data.

+
+

🎯 Learning Goals

+
    +
  • Understand loss functions and how they measure model performance

  • +
  • Implement essential loss functions: MSE, CrossEntropy, and BinaryCrossEntropy

  • +
  • Build evaluation metrics for classification and regression

  • +
  • Create a complete training loop that orchestrates the entire process

  • +
  • Master checkpointing and model persistence for real-world deployment

  • +
+
+
+

Build → Use → Optimize#

+
    +
  1. Build: Loss functions, metrics, and training orchestration

  2. +
  3. Use: Train complete models on real datasets

  4. +
  5. Optimize: Analyze training dynamics and improve performance

  6. +
+
+
+

🚀 Interactive Learning#

+

Choose your preferred way to engage with this module:

+
+
+
+
+
+
+🚀 Launch Binder
+

Run this module interactively in your browser. No installation required!

+
+
+
+
+
+
+
+⚡ Open in Colab
+

Use Google Colab for GPU access and cloud compute power.

+
+
+
+
+
+
+
+📖 View Source
+

Browse the Python source code and understand the implementation.

+
+
+
+
+
+
+

💾 Save Your Progress

+

Binder sessions are temporary! Download your completed notebook when done, or switch to local development for persistent work.

+

Ready for serious development? → 🏗️ Local Setup Guide

+
+
+
+ + + + +
+ + + + + + + + +
+ + + +
+ + +
+
+ + +
+ + +
+
+
+ + + + + +
+
+ + \ No newline at end of file diff --git a/book/_build/html/chapters/11-compression.html b/book/_build/html/chapters/11-compression.html new file mode 100644 index 00000000..7faf518d --- /dev/null +++ b/book/_build/html/chapters/11-compression.html @@ -0,0 +1,610 @@ + + + + + + + + + + + + Compression & Optimization - Making AI Models Efficient — Tiny🔥Torch: Build ML Systems from Scratch + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+
+ + + +
+
+ + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + +
+

Compression & Optimization - Making AI Models Efficient

+ +
+ +
+
+ + + + +
+ +
+

Compression & Optimization - Making AI Models Efficient#

+

Welcome to the Compression module! This is where you’ll learn to make neural networks smaller, faster, and more efficient for real-world deployment.

+
+

🎯 Learning Goals

+
    +
  • Understand how model size affects deployment and why compression matters

  • +
  • Implement magnitude-based pruning to remove unimportant weights

  • +
  • Master quantization to reduce memory usage by 75%

  • +
  • Build knowledge distillation for training compact models

  • +
  • Create structured pruning to optimize network architectures

  • +
  • Compare compression techniques and their trade-offs

  • +
+
+
+

Build → Use → Optimize#

+
    +
  1. Build: Four compression techniques from scratch

  2. +
  3. Use: Apply compression to real neural networks

  4. +
  5. Optimize: Combine techniques for maximum efficiency gains

  6. +
+
+
+

🚀 Interactive Learning#

+

Choose your preferred way to engage with this module:

+
+
+
+
+
+
+🚀 Launch Binder
+

Run this module interactively in your browser. No installation required!

+
+
+
+
+
+
+
+⚡ Open in Colab
+

Use Google Colab for GPU access and cloud compute power.

+
+
+
+
+
+
+
+📖 View Source
+

Browse the Python source code and understand the implementation.

+
+
+
+
+
+
+

💾 Save Your Progress

+

Binder sessions are temporary! Download your completed notebook when done, or switch to local development for persistent work.

+

Ready for serious development? → 🏗️ Local Setup Guide

+
+
+
+ + + + +
+ + + + + + + + +
+ + + +
+ + +
+
+ + +
+ + +
+
+
+ + + + + +
+
+ + \ No newline at end of file diff --git a/book/_build/html/chapters/11-kernels.html b/book/_build/html/chapters/11-kernels.html index 0755d647..0618a6d5 100644 --- a/book/_build/html/chapters/11-kernels.html +++ b/book/_build/html/chapters/11-kernels.html @@ -9,7 +9,7 @@ - Module 11: Kernels - Hardware-Optimized ML Operations — Tiny🔥Torch: Build ML Systems from Scratch + Kernels - Hardware-Optimized ML Operations — Tiny🔥Torch: Build ML Systems from Scratch @@ -65,8 +65,8 @@ const thebe_selector_output = ".output, .cell_output" - - + + @@ -176,7 +176,7 @@ const thebe_selector_output = ".output, .cell_output"

Foundation

@@ -401,7 +401,7 @@ document.write(`
-

Module 11: Kernels - Hardware-Optimized ML Operations

+

Kernels - Hardware-Optimized ML Operations

@@ -424,8 +424,8 @@ document.write(`
-
-

Module 11: Kernels - Hardware-Optimized ML Operations#

+
+

Kernels - Hardware-Optimized ML Operations#

Welcome to the Kernels module! This is where we move beyond NumPy to understand how ML operations are optimized for modern hardware. You’ll implement custom kernels that run faster than standard library functions.

🎯 Learning Goals

@@ -524,7 +524,7 @@ document.write(`

previous

-

Module 10: Compression & Optimization - Making AI Models Efficient

+

Compression & Optimization - Making AI Models Efficient

next

-

Module 12: Benchmarking - Systematic ML Performance Evaluation

+

Benchmarking - Systematic ML Performance Evaluation

diff --git a/book/_build/html/chapters/12-benchmarking.html b/book/_build/html/chapters/12-benchmarking.html index 24b1039c..29e60bf9 100644 --- a/book/_build/html/chapters/12-benchmarking.html +++ b/book/_build/html/chapters/12-benchmarking.html @@ -9,7 +9,7 @@ - Module 12: Benchmarking - Systematic ML Performance Evaluation — Tiny🔥Torch: Build ML Systems from Scratch + Benchmarking - Systematic ML Performance Evaluation — Tiny🔥Torch: Build ML Systems from Scratch @@ -65,8 +65,8 @@ const thebe_selector_output = ".output, .cell_output" - - + + @@ -176,7 +176,7 @@ const thebe_selector_output = ".output, .cell_output"

Foundation

@@ -401,7 +401,7 @@ document.write(`
-

Module 12: Benchmarking - Systematic ML Performance Evaluation

+

Benchmarking - Systematic ML Performance Evaluation

@@ -424,8 +424,8 @@ document.write(`
-
-

Module 12: Benchmarking - Systematic ML Performance Evaluation#

+
+

Benchmarking - Systematic ML Performance Evaluation#

Welcome to the Benchmarking module! This is where we learn to systematically evaluate ML systems using industry-standard methodology inspired by MLPerf.

🎯 Learning Goals

@@ -523,7 +523,7 @@ document.write(`

previous

-

Module 11: Kernels - Hardware-Optimized ML Operations

+

Kernels - Hardware-Optimized ML Operations

next

-

Module 13: MLOps - Production ML Systems

+

MLOps - Production ML Systems

diff --git a/book/_build/html/chapters/12-kernels.html b/book/_build/html/chapters/12-kernels.html new file mode 100644 index 00000000..4c76ff5c --- /dev/null +++ b/book/_build/html/chapters/12-kernels.html @@ -0,0 +1,610 @@ + + + + + + + + + + + + Kernels - Hardware-Optimized ML Operations — Tiny🔥Torch: Build ML Systems from Scratch + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+
+ + + +
+
+ + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + +
+

Kernels - Hardware-Optimized ML Operations

+ +
+ +
+
+ + + + +
+ +
+

Kernels - Hardware-Optimized ML Operations#

+

Welcome to the Kernels module! This is where we move beyond NumPy to understand how ML operations are optimized for modern hardware. You’ll implement custom kernels that run faster than standard library functions.

+
+

🎯 Learning Goals

+
    +
  • Understand why custom kernels matter for ML performance

  • +
  • Implement vectorized operations using SIMD principles

  • +
  • Master memory-efficient algorithms for better cache utilization

  • +
  • Build parallel processing patterns for CPU and GPU-style computing

  • +
  • Create performance profiling tools to measure and optimize code

  • +
  • Apply kernel optimizations to compressed model operations

  • +
+
+
+

Build → Use → Optimize#

+
    +
  1. Build: Custom operations, vectorization, and memory optimization

  2. +
  3. Use: Apply optimized kernels to real ML workloads

  4. +
  5. Optimize: Profile, measure, and improve performance systematically

  6. +
+
+
+

🚀 Interactive Learning#

+

Choose your preferred way to engage with this module:

+
+
+
+
+
+
+🚀 Launch Binder
+

Run this module interactively in your browser. No installation required!

+
+
+
+
+
+
+
+⚡ Open in Colab
+

Use Google Colab for GPU access and cloud compute power.

+
+
+
+
+
+
+
+📖 View Source
+

Browse the Python source code and understand the implementation.

+
+
+
+
+
+
+

💾 Save Your Progress

+

Binder sessions are temporary! Download your completed notebook when done, or switch to local development for persistent work.

+

Ready for serious development? → 🏗️ Local Setup Guide

+
+
+
+ + + + +
+ + + + + + + + +
+ + + +
+ + +
+
+ + +
+ + +
+
+
+ + + + + +
+
+ + \ No newline at end of file diff --git a/book/_build/html/chapters/13-benchmarking.html b/book/_build/html/chapters/13-benchmarking.html new file mode 100644 index 00000000..1052b4d6 --- /dev/null +++ b/book/_build/html/chapters/13-benchmarking.html @@ -0,0 +1,609 @@ + + + + + + + + + + + + Benchmarking - Systematic ML Performance Evaluation — Tiny🔥Torch: Build ML Systems from Scratch + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+
+ + + +
+
+ + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + +
+

Benchmarking - Systematic ML Performance Evaluation

+ +
+ +
+
+ + + + +
+ +
+

Benchmarking - Systematic ML Performance Evaluation#

+

Welcome to the Benchmarking module! This is where we learn to systematically evaluate ML systems using industry-standard methodology inspired by MLPerf.

+
+

🎯 Learning Goals

+
    +
  • Understand the four-component MLPerf benchmarking architecture

  • +
  • Implement different benchmark scenarios (latency, throughput, offline)

  • +
  • Apply statistical validation for meaningful results

  • +
  • Create professional performance reports for ML projects

  • +
  • Learn to avoid common benchmarking pitfalls

  • +
+
+
+

Build → Use → Analyze#

+
    +
  1. Build: Benchmarking framework with proper statistical validation

  2. +
  3. Use: Apply systematic evaluation to your TinyTorch models

  4. +
  5. Analyze: Generate professional reports with statistical confidence

  6. +
+
+
+

🚀 Interactive Learning#

+

Choose your preferred way to engage with this module:

+
+
+
+
+
+
+🚀 Launch Binder
+

Run this module interactively in your browser. No installation required!

+
+
+
+
+
+
+
+⚡ Open in Colab
+

Use Google Colab for GPU access and cloud compute power.

+
+
+
+
+
+
+
+📖 View Source
+

Browse the Python source code and understand the implementation.

+
+
+
+
+
+
+

💾 Save Your Progress

+

Binder sessions are temporary! Download your completed notebook when done, or switch to local development for persistent work.

+

Ready for serious development? → 🏗️ Local Setup Guide

+
+
+
+ + + + +
+ + + + + + + + +
+ + + +
+ + +
+
+ + +
+ + +
+
+
+ + + + + +
+
+ + \ No newline at end of file diff --git a/book/_build/html/chapters/13-mlops.html b/book/_build/html/chapters/13-mlops.html index a066d285..0e8fc7e4 100644 --- a/book/_build/html/chapters/13-mlops.html +++ b/book/_build/html/chapters/13-mlops.html @@ -9,7 +9,7 @@ - Module 13: MLOps - Production ML Systems — Tiny🔥Torch: Build ML Systems from Scratch + MLOps - Production ML Systems — Tiny🔥Torch: Build ML Systems from Scratch @@ -65,7 +65,7 @@ const thebe_selector_output = ".output, .cell_output" - + @@ -175,7 +175,7 @@ const thebe_selector_output = ".output, .cell_output"

Foundation

@@ -400,7 +400,7 @@ document.write(`
-

Module 13: MLOps - Production ML Systems

+

MLOps - Production ML Systems

@@ -423,8 +423,8 @@ document.write(`
-
-

Module 13: MLOps - Production ML Systems#

+
+

MLOps - Production ML Systems#

Welcome to the MLOps module! This is where we close the loop on the complete ML system lifecycle.

🎯 Learning Goals

@@ -522,7 +522,7 @@ document.write(`

previous

-

Module 12: Benchmarking - Systematic ML Performance Evaluation

+

Benchmarking - Systematic ML Performance Evaluation

diff --git a/book/_build/html/chapters/14-mlops.html b/book/_build/html/chapters/14-mlops.html new file mode 100644 index 00000000..99a8efa5 --- /dev/null +++ b/book/_build/html/chapters/14-mlops.html @@ -0,0 +1,599 @@ + + + + + + + + + + + + MLOps - Production ML Systems — Tiny🔥Torch: Build ML Systems from Scratch + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+
+ + + +
+
+ + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + +
+

MLOps - Production ML Systems

+ +
+ +
+
+ + + + +
+ +
+

MLOps - Production ML Systems#

+

Welcome to the MLOps module! This is where we close the loop on the complete ML system lifecycle.

+
+

🎯 Learning Goals

+
    +
  • Understand why ML models degrade over time without maintenance

  • +
  • Implement performance monitoring and drift detection systems

  • +
  • Build automated retraining triggers that use your training pipeline

  • +
  • Create model comparison and deployment workflows

  • +
  • See how all TinyTorch components work together in production

  • +
+
+
+

Build → Use → Deploy#

+
    +
  1. Build: Complete MLOps infrastructure for model lifecycle management

  2. +
  3. Use: Deploy and monitor ML systems that automatically respond to issues

  4. +
  5. Deploy: Create production-ready systems that maintain themselves over time

  6. +
+
+
+

🚀 Interactive Learning#

+

Choose your preferred way to engage with this module:

+
+
+
+
+
+
+🚀 Launch Binder
+

Run this module interactively in your browser. No installation required!

+
+
+
+
+
+
+
+⚡ Open in Colab
+

Use Google Colab for GPU access and cloud compute power.

+
+
+
+
+
+
+
+📖 View Source
+

Browse the Python source code and understand the implementation.

+
+
+
+
+
+
+

💾 Save Your Progress

+

Binder sessions are temporary! Download your completed notebook when done, or switch to local development for persistent work.

+

Ready for serious development? → 🏗️ Local Setup Guide

+
+
+
+ + + + +
+ + + + + + + + +
+ + + +
+ + +
+
+ + +
+ + +
+
+
+ + + + + +
+
+ + \ No newline at end of file diff --git a/book/_build/html/genindex.html b/book/_build/html/genindex.html index 6cee819a..0db72cb5 100644 --- a/book/_build/html/genindex.html +++ b/book/_build/html/genindex.html @@ -173,29 +173,29 @@ const thebe_selector_output = ".output, .cell_output"

Foundation

Building Blocks

Training Systems

Production & Performance

diff --git a/book/_build/html/intro.html b/book/_build/html/intro.html index 5fc212d9..b20533f3 100644 --- a/book/_build/html/intro.html +++ b/book/_build/html/intro.html @@ -175,29 +175,29 @@ const thebe_selector_output = ".output, .cell_output"

Foundation

Building Blocks

Training Systems

Production & Performance

@@ -427,7 +427,7 @@ document.write(`
  • 🚀 Ready to Start?
  • 🏗️ Big Picture: Why Build from Scratch?
  • @@ -616,21 +616,28 @@ document.write(`

    Ready to build?🏗️ Serious Development (Fork repo and build your ML framework)

    Teaching a class?👨‍🏫 Classroom Use (Complete course infrastructure)

    -
    -

    Quick Taste: Try Chapter 0 Right Now#

    -

    Want to see what TinyTorch feels like? Launch the Setup chapter in Binder and implement your first TinyTorch function in 2 minutes!

    +
    +

    Quick Taste: Try Chapter 1 Right Now#

    +

    Want to see what TinyTorch feels like? Launch the Setup chapter in Binder and implement your first TinyTorch function in 2 minutes!


    🏗️ Big Picture: Why Build from Scratch?#

    Most ML education teaches you to use frameworks. TinyTorch teaches you to understand them.

    -
    Traditional ML Course:          TinyTorch Approach:
    -├── import torch               ├── Build your own tensors
    -├── model = nn.Linear(10, 1)   ├── Implement Linear layers  
    -├── loss = nn.MSELoss()        ├── Create loss functions
    -├── optimizer.step()           ├── Build optimizers
    -└── "How does this work?" 🤷   └── "I built this!" 💪
    +
    Traditional ML Course:          TinyTorch Approach:
    +├── import torch               ├── class Tensor:
    +├── model = nn.Linear(10, 1)   │     def __add__(self, other): ...
    +├── loss = nn.MSELoss()        │     def backward(self): ...
    +├── optimizer.step()           ├── class Linear:
    +└── "How does this work?" 🤷   │     def forward(self, x):
    +                               │       return x @ self.weight + self.bias
    +                               ├── def mse_loss(pred, target):
    +                               │     return ((pred - target) ** 2).mean()
    +                               ├── class SGD:
    +                               │     def step(self):
    +                               │       param.data -= lr * param.grad
    +                               └── "I implemented every line!" 💪
     

    Result: You become the person others come to when they need to understand “how PyTorch actually works under the hood.”

    @@ -722,7 +729,7 @@ document.write(`
  • 🚀 Ready to Start?
  • 🏗️ Big Picture: Why Build from Scratch?
  • diff --git a/book/_build/html/objects.inv b/book/_build/html/objects.inv index 48c6dd1a015fb84585730702587dca8be4c9cda0..3328b1967f78c200926b602a780b01751d5c5419 100644 GIT binary patch delta 763 zcmVs>eOKAH{@fAI_gBojO45BB4 zUMW>3^$dE-h=l_){RiPW)AeCHV{MO=Mk1uKAqt1o5b3chSW0-ogx2lil_}~TjYd`N z_0p&^6sl6*c7N-aETaY~!!z8{+|(lyLQ4lRg2n!ZU!hK1XE3%{SR>FmI!Q>c7%#n< zS)R3X*7my7jW??vb85PPV>z9oMeSuZ1JKtq>VHCc%}n8CEvox- zC>siE+Q(qir5=YQ=1G%kEFOa)Uj*3UDGW`9%0YiRl_I2{aCg}Ptq#^!=7Tx%-qyYh z-f){;af_^}ZwA8w-2mfuNh`U>E>Vkl&h27rH8*`Ctd~ZydWltoLZmU;sj)fN0-?X; zs(iH6x_|pDSEksKR&9)&;oz(YDUGekXpx2D5g_7RXNJ_W46iF8#V=6>spd2)oQB7a z)ZUtuR~^*TLA&_=?)Gc7j}PMRp$5?^&O@Z@)f%y1%>m4o8g{E=c2~l-VZZeJRC);dP-*oV0D6zZ@IZ?GJbtY|u|c t#uT%`acHF}9m{ZuG%7j0HQPunt_|zv%kQ5zRIkbbjuWj4_y?l z0s07xz1hYt8@RL^&-~}-`Pf-8=e0-cwzjvKL*LZkd|8x602_k1Z+tlSm4XvfHVR?8 zfJsy^IFovLW~`XQWa&IsaA@>Y&Kk?TG*T7?@@6VEToo&hka_C^cc&T zvK}*`bw4JWGJnG30uE14V~_NOQB5dgWNgah2`j0Q%J335j6>>?v7Quh2u7`zwG$D3 zg(`Ag!q{SMjX>wfyzypcdD%}~+cVx%nvG7!;$uZ)BH&0)r)W`o8K(x0^^7Ja z;XPxf_Og;6Hcm(CkujeY@OrIf@SNb1Q0#y^qzt*`6@O9;IIpQnS>N`Uw_NH_j9%v2 zo)P!xMeB5-ja97(aDQ0tT*k6Sm8Cn}W`a~Ul-=|XPVSPw=d@1_6ZwNK|F*UaPWU2l z_g@ADDhJ2YsT83m$rXldfmR1=FaFM)qiM&yTFDr^;I_Qv7Fk#S5>7^R8Em&%Qt9Ci zdy87kD}Qbmo2q@!C+E`AIYeGJj>y1?na13|T_$RTAreWaFiuhlEqL zqx;aeD-*V7t!C2N$9#r^#?fC^b3b=mLUHG;F%@eZriIw()W*BL`TXtI$4|F6SKr~V zGs8K>c;3h|XS{2qSTKBFE7Q*3CeB}u9qalBya_fqPJ)a{lW`ncX&T2$yg-_oie9Tt cq!%97j&=3r_s=V;S9E}*Bvu6e0TgKjkAd`)pa1{> diff --git a/book/_build/html/search.html b/book/_build/html/search.html index 2339d5b5..0c79fae7 100644 --- a/book/_build/html/search.html +++ b/book/_build/html/search.html @@ -175,29 +175,29 @@ const thebe_selector_output = ".output, .cell_output"

    Foundation

    Building Blocks

    Training Systems

    Production & Performance

    diff --git a/book/_build/html/searchindex.js b/book/_build/html/searchindex.js index 66f9f587..48a2e128 100644 --- a/book/_build/html/searchindex.js +++ b/book/_build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["chapters/00-setup", "chapters/01-tensor", "chapters/02-activations", "chapters/03-layers", "chapters/04-networks", "chapters/05-cnn", "chapters/06-dataloader", "chapters/07-autograd", "chapters/08-optimizers", "chapters/09-training", "chapters/10-compression", "chapters/11-kernels", "chapters/12-benchmarking", "chapters/13-mlops", "intro", "usage-paths/classroom-use", "usage-paths/quick-exploration", "usage-paths/serious-development"], "filenames": ["chapters/00-setup.md", "chapters/01-tensor.md", "chapters/02-activations.md", "chapters/03-layers.md", "chapters/04-networks.md", "chapters/05-cnn.md", "chapters/06-dataloader.md", "chapters/07-autograd.md", "chapters/08-optimizers.md", "chapters/09-training.md", "chapters/10-compression.md", "chapters/11-kernels.md", "chapters/12-benchmarking.md", "chapters/13-mlops.md", "intro.md", "usage-paths/classroom-use.md", "usage-paths/quick-exploration.md", "usage-paths/serious-development.md"], "titles": ["Module 0: Setup - TinyTorch System Configuration", "Module 1: Tensor - Core Data Structure", "Module 2: Activations - Nonlinearity in Neural Networks", "Module 3: Layers - Building Blocks of Neural Networks", "Module 4: Networks - Neural Network Architectures", "Module 5: CNN - Convolutional Neural Networks", "Module 6: DataLoader - Data Loading and Preprocessing", "Module 7: Autograd - Automatic Differentiation Engine", "Module 8: Optimizers - Gradient-Based Parameter Updates", "Module 9: Training - Complete Neural Network Training Pipeline", "Module 10: Compression & Optimization - Making AI Models Efficient", "Module 11: Kernels - Hardware-Optimized ML Operations", "Module 12: Benchmarking - Systematic ML Performance Evaluation", "Module 13: MLOps - Production ML Systems", "Tiny\ud83d\udd25Torch: Build Machine Learning Systems from Scratch", "\ud83d\udc68\u200d\ud83c\udfeb Classroom Use Guide", "\ud83d\udd2c Quick Exploration Path", "\ud83c\udfd7\ufe0f Serious Development Path"], "terms": {"welcom": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "thi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16], "person": [0, 14], "instal": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "teach": [0, 14, 15, 16], "you": [0, 1, 7, 10, 11], "nbgrader": [0, 1, 2, 14, 17], "workflow": [0, 1, 2, 13, 14, 16], "custom": [0, 11, 14, 17], "inform": 0, "queri": 0, "us": 0, "python": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 17], "master": [0, 1, 2, 4, 6, 7, 8, 9, 10, 11], "implement": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "test": [0, 1, 2, 3, 14], "export": [0, 15], "creat": [0, 1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17], "function": [0, 2, 4, 9, 11, 15, 16, 17], "becom": [0, 7, 14, 16], "part": [0, 14], "packag": [0, 17], "understand": [0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15], "solut": [0, 14], "block": [0, 5, 16], "hidden": 0, "autom": [0, 13, 14, 17], "grade": [0, 14, 17], "foundat": [0, 1, 3, 6, 7], "ani": [0, 4, 16], "product": 0, "In": 0, "ll": [0, 1, 7, 10, 11], "real": [0, 3, 6, 9, 10, 11, 15, 16], "need": [0, 14, 16], "environ": [0, 14, 15, 16], "hardwar": [0, 15, 17], "constraint": 0, "memori": [0, 1, 6, 10, 11, 15, 17], "cpu": [0, 11], "core": [0, 5, 8, 14, 15, 17], "gpu": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "avail": 0, "softwar": 0, "depend": [0, 17], "version": [0, 15], "librari": [0, 11, 15, 17], "compat": 0, "platform": 0, "differ": [0, 4, 6, 12], "linux": 0, "server": 0, "maco": 0, "window": [0, 5], "deploy": [0, 9, 10, 13, 14, 15, 17], "enabl": [0, 2, 3, 5, 6, 8, 14, 17], "document": [0, 15], "exactli": 0, "what": 0, "wa": 0, "manag": [0, 1, 6, 13, 17], "precis": 0, "requir": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "debug": 0, "support": [0, 17], "info": [0, 15, 17], "help": 0, "troubleshoot": 0, "issu": [0, 13, 17], "proper": [0, 12], "show": [0, 17], "engin": [0, 6, 14, 15, 17], "matur": 0, "attribut": 0, "work": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16], "properli": 0, "credit": 0, "collabor": 0, "other": [0, 5, 14], "can": [0, 5, 14, 15, 16], "extend": [0, 15], "mainten": [0, 13], "updat": [0, 17], "maintain": [0, 13], "connect": [0, 6], "broader": 0, "model": [0, 6, 9, 11, 12, 13, 14, 15, 17], "config": 0, "monitor": [0, 13, 14, 17], "metric": [0, 9, 14, 15, 17], "track": [0, 7, 17], "perform": [0, 1, 6, 7, 9, 11, 13], "scale": 0, "optim": [0, 6, 14, 15, 17], "train": [0, 7, 8, 10, 13], "let": 0, "s": [0, 14], "build": 0, "skill": 0, "choos": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "prefer": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "wai": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "engag": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "launch": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "binder": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16], "run": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16], "browser": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16], "No": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16], "open": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 17], "colab": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "googl": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "access": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "cloud": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "comput": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "power": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16], "view": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "sourc": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 17], "brows": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15], "code": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], "session": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16], "ar": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16], "temporari": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16], "download": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "complet": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 16, 17], "notebook": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 17], "when": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16], "done": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "switch": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "local": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16], "persist": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17], "readi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16], "seriou": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16], "guid": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16], "where": [1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13], "tinytorch": [1, 7, 12, 13, 15, 16, 17], "realli": 1, "begin": 1, "fundament": [1, 3, 4], "all": [1, 3, 6, 13, 14, 15, 16, 17], "ml": [1, 6, 14, 15, 16, 17], "system": [1, 6, 7, 12, 16], "n": 1, "dimension": [1, 14, 15, 17], "arrai": [1, 14, 15, 17], "specif": [1, 15, 17], "oper": [1, 5, 7, 14, 15, 16, 17], "class": [1, 6, 7, 14, 15, 16, 17], "arithmet": 1, "handl": [1, 6, 14, 17], "shape": 1, "type": [1, 6, 17], "layout": 1, "neural": [1, 6, 7, 8, 10, 14, 15, 16, 17], "network": [1, 6, 7, 8, 10, 14, 15, 16, 17], "automat": [1, 13, 14, 15, 17], "differenti": [1, 14, 15, 17], "comprehens": [1, 2, 14, 15, 17], "transform": [1, 2, 3, 5, 15, 16], "how": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 16, 17], "form": [1, 3], "develop": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], "setup": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "get": [2, 14, 16], "through": [2, 4, 7, 8, 15], "why": [2, 5, 6, 10, 11, 13, 16], "essenti": [2, 9], "four": [2, 10, 12], "most": [2, 14, 15, 17], "import": [2, 3, 5, 14, 17], "relu": [2, 14, 16, 17], "sigmoid": [2, 14, 17], "tanh": [2, 14, 17], "softmax": [2, 17], "visual": [2, 4, 14, 15, 16, 17], "data": [2, 3, 5, 9, 15, 16], "complex": [2, 4, 7], "see": [2, 3, 5, 8, 13, 14, 16, 17], "layer": [2, 4, 5, 14, 15, 17], "add": [2, 15], "tensor": [2, 14, 15, 16, 17], "immedi": [2, 15], "result": [2, 12, 16], "pattern": [2, 4, 5, 6, 8, 11, 14, 15, 17], "we": [3, 4, 9, 11, 12, 13], "compon": [3, 12, 13, 14, 15, 16, 17], "stack": [3, 17], "togeth": [3, 9, 13, 16, 17], "matrix": [3, 14, 15, 16, 17], "multipl": [3, 14, 15, 16, 17], "naiv": 3, "from": [3, 5, 6, 10, 15, 16, 17], "scratch": [3, 5, 6, 10, 15, 16, 17], "deep": [3, 4, 15, 17], "dens": [3, 5, 14, 15, 16, 17], "linear": [3, 14, 15, 17], "weight": [3, 10, 15, 17], "initi": [3, 17], "strategi": [3, 8, 17], "compos": [3, 4, 5], "activ": [3, 5, 15, 17], "featur": [3, 5, 17], "composit": [4, 15, 17], "f": 4, "x": [4, 14], "layer_n": 4, "layer_2": 4, "layer_1": 4, "sequenti": [4, 14, 15, 17], "common": [4, 12], "like": [4, 5, 14], "mlp": [4, 15], "multi": [4, 14, 15, 17], "perceptron": [4, 17], "capabl": 4, "forward": [4, 14, 15, 17], "pass": [4, 15], "infer": 4, "design": 4, "affect": [4, 6, 10], "behavior": [4, 8], "By": [4, 5, 6, 14], "end": [4, 5, 6, 14, 16, 17], "simpl": [4, 14, 16], "combin": [4, 10, 15, 16], "The": [4, 5, 6, 16], "number": 4, "shallow": 4, "wide": 4, "approxim": 4, "here": 5, "modern": [5, 11, 14], "vision": [5, 14, 15, 17], "its": 5, "conv2d": [5, 15], "explicit": 5, "loop": [5, 9, 13, 15, 17], "slide": [5, 15], "mechan": 5, "detect": [5, 13], "spatial": [5, 15, 17], "imag": [5, 14, 15, 16, 17], "paramet": 5, "share": 5, "translat": 5, "invari": 5, "map": 5, "emerg": 5, "hierarch": 5, "perfect": [5, 14, 15, 16, 17], "learnabl": 5, "pipelin": [5, 6, 13, 14, 15, 17], "flatten": 5, "make": [5, 7, 15, 17], "effici": [5, 6, 11, 17], "process": [6, 9, 11, 15, 17], "machin": 6, "batch": [6, 14, 15, 17], "reusabl": 6, "dataset": [6, 9, 14, 15, 17], "abstract": [6, 14], "framework": [6, 12, 14, 15, 16, 17], "think": 6, "i": [6, 14, 16, 17], "o": 6, "loader": 6, "feed": 6, "them": [6, 14], "scalabl": 6, "consist": [6, 14, 17], "shuffl": [6, 17], "crucial": [6, 16], "larger": [6, 14, 15], "than": [6, 11, 14, 15, 17], "between": [6, 16], "truli": 7, "possibl": [7, 14, 17], "graph": [7, 15, 17], "variabl": 7, "gradient": [7, 15, 17], "backward": 7, "propag": [7, 15, 17], "mathemat": [7, 15, 17], "concept": 7, "behind": [7, 14], "backpropag": [7, 14, 15, 17], "express": 7, "flow": 7, "improv": [8, 9, 11, 17], "intellig": 8, "descent": [8, 17], "sgd": [8, 14, 15, 17], "momentum": 8, "acceler": 8, "converg": [8, 15, 17], "adam": [8, 14, 15, 17], "adapt": 8, "rate": [8, 14, 15, 17], "schedul": [8, 14, 15, 17], "effect": 8, "algorithm": [8, 11, 15], "appli": [8, 10, 11, 12], "compar": [8, 10], "bring": [9, 14], "everyth": [9, 15, 17], "loss": [9, 14, 15, 17], "thei": [9, 14], "measur": [9, 11, 14, 15, 17], "mse": 9, "crossentropi": 9, "binarycrossentropi": 9, "evalu": [9, 14, 15, 17], "classif": [9, 16, 17], "regress": 9, "orchestr": [9, 14, 15], "entir": 9, "checkpoint": [9, 17], "world": [9, 10, 14, 15, 17], "analyz": 9, "dynam": [9, 17], "smaller": 10, "faster": [10, 11], "more": [10, 16], "size": [10, 14, 15, 17], "matter": [10, 11, 16], "magnitud": 10, "base": [10, 15], "prune": [10, 14, 15, 17], "remov": 10, "unimport": 10, "quantiz": [10, 14, 15, 17], "reduc": [10, 17], "usag": 10, "75": [10, 14, 15, 17], "knowledg": 10, "distil": 10, "compact": 10, "structur": 10, "architectur": [10, 12, 14, 15, 17], "techniqu": 10, "trade": 10, "off": 10, "maximum": 10, "gain": [10, 16], "move": 11, "beyond": 11, "numpi": [11, 14], "standard": [11, 12, 15], "vector": 11, "simd": 11, "principl": 11, "better": [11, 14, 15, 17], "cach": 11, "util": 11, "parallel": 11, "style": [11, 14, 15, 17], "profil": [11, 15], "tool": [11, 14, 15], "compress": [11, 14, 15, 17], "workload": 11, "systemat": [11, 14, 15, 17], "industri": [12, 14, 15], "methodolog": 12, "inspir": 12, "mlperf": [12, 15, 17], "scenario": 12, "latenc": 12, "throughput": 12, "offlin": 12, "statist": [12, 15, 17], "valid": [12, 14, 15, 17], "meaning": 12, "profession": [12, 14, 15, 17], "report": [12, 15, 17], "project": [12, 15, 16], "avoid": 12, "pitfal": 12, "gener": [12, 17], "confid": 12, "close": 13, "lifecycl": 13, "degrad": 13, "over": 13, "time": 13, "without": [13, 16], "drift": 13, "retrain": 13, "trigger": 13, "comparison": 13, "infrastructur": [13, 14, 17], "respond": 13, "themselv": 13, "own": [14, 16, 17], "pytorch": [14, 17], "ground": 14, "up": 14, "cours": 14, "have": [14, 16, 17], "built": [14, 15, 17], "cifar": [14, 15, 17], "magic": [14, 17], "reduct": [14, 15], "load": [14, 15, 17], "importantli": 14, "actual": 14, "under": [14, 16], "hood": [14, 16], "explor": 14, "minut": [14, 16], "want": [14, 16, 17], "about": [14, 16], "click": [14, 16], "interact": 14, "feel": 14, "8": [14, 15], "week": 14, "myself": [14, 17], "fork": [14, 16], "repo": [14, 16], "full": [14, 15], "tito": [14, 15], "cli": [14, 15], "14": 14, "assign": [14, 17], "mlop": [14, 15, 17], "classroom": [14, 16], "instructor": 14, "integr": [14, 15, 17], "200": [14, 15, 17], "across": [14, 15, 17], "flexibl": 14, "pace": 14, "16": [14, 15], "pedagog": 14, "turn": [14, 15], "kei": [14, 15], "educ": [14, 16], "1": 14, "math": [14, 16], "4": 14, "chain": 14, "cnn": [14, 17], "convolut": [14, 15, 17], "7": 14, "dataload": [14, 17], "preprocess": [14, 15, 17], "autograd": [14, 15, 17], "11": [14, 17], "kernel": [14, 17], "high": [14, 15, 16, 17], "benchmark": [14, 15, 17], "continu": [14, 15, 17], "def": 14, "return": 14, "should": 14, "output": 14, "input_tensor": 14, "784": 14, "128": 14, "repeat": 14, "everi": [14, 17], "fit": [14, 16], "after": [14, 15, 16, 17], "95": [14, 15], "vs": [14, 16], "20": [14, 15, 16], "befor": 14, "90": [14, 15], "deepli": [14, 15, 17], "15": 14, "85": [14, 15], "80": [14, 15], "user": [14, 15], "pursu": [14, 15], "advanc": [14, 15], "role": [14, 15], "30": [14, 15], "graduat": [14, 15], "our": [14, 15], "codebas": [14, 15], "know": 14, "happen": 14, "academ": [14, 15], "successfulli": 14, "univers": 14, "toi": [14, 17], "organ": [14, 17], "consider": [14, 17], "practic": [14, 15, 17], "indic": [14, 17], "success": [14, 17], "messag": [14, 17], "ensur": [14, 15, 17], "aha": 14, "moment": 14, "hello_world": 14, "next": 14, "deploi": [14, 17], "gap": 14, "step": 14, "carefulli": 14, "scaffold": 14, "just": [14, 16], "second": 14, "first": [14, 16, 17], "tradit": 14, "approach": [14, 16], "nn": 14, "mseloss": 14, "doe": [14, 15], "come": 14, "hand": [14, 16], "line": 14, "write": 14, "closer": 14, "ai": [14, 16], "provid": [15, 17], "progress": 15, "00": [15, 17], "13": [15, 17], "correctli": 15, "durat": 15, "git": [15, 17], "http": [15, 17], "github": [15, 17], "com": [15, 17], "org": [15, 17], "cd": [15, 17], "bin": [15, 17], "sh": [15, 17], "doctor": [15, 17], "verifi": [15, 17], "init": 15, "modul": 15, "00_setup": [15, 17], "releas": [15, 17], "ls": 15, "simul": 15, "submiss": [15, 17], "collect": 15, "goal": 15, "qualiti": 15, "assur": 15, "01_tensor": 15, "02_activ": 15, "nonlinear": [15, 16, 17], "25": 15, "03_layer": 15, "5": [15, 16], "04_network": 15, "35": 15, "construct": 15, "05_cnn": 15, "06_dataload": 15, "07_autograd": 15, "40": 15, "9": 15, "08_optim": 15, "analysi": 15, "09_train": 15, "10_compress": 15, "target": 15, "12": [15, 17], "11_kernel": 15, "12_benchmark": 15, "13_mlop": 15, "semest": 15, "Or": 15, "onc": 15, "rang": 15, "03": [15, 17], "auto": [15, 17], "detail": 15, "gradebook": 15, "check": [15, 17], "overal": 15, "verbos": 15, "analyt": 15, "unit": 15, "correct": [15, 17], "cross": [15, 17], "enforc": 15, "145": 15, "135": 15, "total": 15, "445": 15, "60": 15, "do": 15, "clear": 15, "comment": 15, "docstr": 15, "intens": 15, "per": 15, "dive": 15, "research": 15, "competit": 15, "leaderboard": 15, "challeng": 15, "novel": 15, "beginn": 15, "friendli": 15, "extra": 15, "tutori": 15, "earli": 15, "skip": 15, "basic": 15, "focu": 15, "overview": 15, "expect": 15, "nbgrader_config": 15, "py": [15, 17], "modifi": [15, 16], "length": 15, "institut": 15, "ongo": [15, 16], "direct": [15, 17], "commun": 15, "privat": 15, "slack": 15, "discord": 15, "lectur": 15, "note": 15, "offic": 15, "hour": 15, "weekli": 15, "virtual": [15, 17], "ever": 15, "take": 15, "anyth": 16, "button": 16, "live": 16, "jupyt": [16, 17], "your": 16, "pre": 16, "configur": 16, "abil": 16, "account": 16, "creation": 16, "now": [16, 17], "familiar": 16, "timeout": 16, "inact": 16, "save": 16, "great": 16, "For": 16, "relationship": 16, "learn": 16, "level": 16, "api": 16, "satisfi": 16, "ve": 16, "valuabl": 16, "insight": 16, "commit": 16, "my": 17, "A": 17, "includ": 17, "10": 17, "clone": 17, "lab": 17, "setup_dev": 17, "c": 17, "hello_tinytorch": 17, "name": 17, "01": 17, "02": 17, "04": 17, "05": 17, "06": 17, "07": 17, "08": 17, "variant": 17, "09": 17, "awar": 17, "intern": 17, "health": 17, "statu": 17, "dev": 17, "100": 17, "inlin": 17, "classifi": 17, "reliabl": 17, "coverag": 17, "follow": 17, "error": 17, "guidanc": 17, "experi": 17, "new": 17, "jump": 17, "try": 17, "discuss": 17, "question": 17, "bug": 17, "suggest": 17, "contact": 17, "team": 17, "self": 17, "awai": 17}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"modul": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17], "0": [0, 14, 16], "setup": [0, 15, 16, 17], "tinytorch": [0, 14], "system": [0, 13, 14, 15, 17], "configur": 0, "learn": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "goal": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "The": [0, 17], "big": [0, 14], "pictur": [0, 14], "why": [0, 14, 17], "matter": 0, "ml": [0, 11, 12, 13], "1": [0, 1, 15, 17], "awar": 0, "2": [0, 2, 14, 15, 16, 17], "reproduc": 0, "3": [0, 3, 14, 15, 16, 17], "profession": 0, "develop": [0, 17], "4": [0, 4, 15, 17], "context": 0, "interact": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "save": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "your": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "progress": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17], "tensor": 1, "core": 1, "data": [1, 6, 14, 17], "structur": [1, 15], "build": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "us": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "understand": [1, 2, 3, 14, 16, 17], "activ": [2, 14, 16], "nonlinear": 2, "neural": [2, 3, 4, 5, 9], "network": [2, 3, 4, 5, 9], "layer": [3, 16], "block": [3, 14, 15, 17], "architectur": 4, "reflect": [4, 5, 6], "what": [4, 5, 6, 14, 16, 17], "you": [4, 5, 6, 14, 16, 17], "ll": [4, 5, 6, 14, 16, 17], "5": [5, 14, 17], "cnn": 5, "convolut": 5, "6": [6, 14, 15, 17], "dataload": 6, "load": 6, "preprocess": 6, "7": [7, 15, 17], "autograd": 7, "automat": 7, "differenti": 7, "engin": 7, "analyz": [7, 8, 12], "8": [8, 17], "optim": [8, 9, 10, 11], "gradient": 8, "base": 8, "paramet": 8, "updat": 8, "9": [9, 14], "train": [9, 14, 15, 17], "complet": [9, 15], "pipelin": 9, "10": [10, 14, 15], "compress": 10, "make": [10, 14], "ai": 10, "model": 10, "effici": 10, "11": [11, 15], "kernel": 11, "hardwar": 11, "oper": 11, "12": 12, "benchmark": 12, "systemat": 12, "perform": [12, 14, 15, 17], "evalu": 12, "13": [13, 14], "mlop": 13, "product": [13, 14, 15, 17], "deploi": 13, "tini": 14, "torch": 14, "machin": 14, "from": 14, "scratch": 14, "achiev": 14, "choos": [14, 17], "path": [14, 16, 17], "three": 14, "wai": 14, "engag": 14, "complex": [14, 17], "each": 14, "previou": 14, "work": [14, 17], "foundat": [14, 15, 17], "philosophi": 14, "exampl": 14, "how": 14, "function": 14, "proven": [14, 15, 17], "student": [14, 15, 17], "outcom": [14, 15, 17], "real": [14, 17], "result": [14, 15, 17], "thi": [14, 17], "differ": 14, "immedi": [14, 16, 17], "feedback": [14, 15, 17], "readi": [14, 17], "start": [14, 15, 16, 17], "adventur": 14, "quick": [14, 15, 16, 17], "tast": 14, "try": [14, 16], "chapter": [14, 16], "right": 14, "now": 14, "classroom": 15, "guid": 15, "cours": 15, "infrastructur": 15, "instructor": 15, "step": [15, 16, 17], "clone": 15, "initi": 15, "nbgrader": 15, "gener": 15, "first": 15, "assign": 15, "test": [15, 17], "workflow": [15, 17], "pace": 15, "week": [15, 17], "14": 15, "manag": 15, "grade": 15, "statu": 15, "monitor": 15, "assess": 15, "autom": 15, "point": 15, "distribut": 15, "suggest": 15, "rubric": 15, "pedagog": 15, "custom": 15, "option": 15, "flexibl": 15, "variat": 15, "prerequisit": 15, "adjust": 15, "get": [15, 17], "review": 15, "materi": 15, "need": 15, "launch": [15, 16], "support": 15, "explor": 16, "requir": 16, "experi": 16, "recommend": 16, "here": 16, "Then": 16, "up": 16, "import": 16, "limit": 16, "next": 16, "seriou": 17, "minut": 17, "code": 17, "environ": 17, "export": 17, "tito": 17, "cli": 17, "qualiti": 17, "assur": 17, "approach": 17, "help": 17}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinxcontrib.bibtex": 9, "sphinx": 56}}) \ No newline at end of file +Search.setIndex({"docnames": ["chapters/01-setup", "chapters/02-tensor", "chapters/03-activations", "chapters/04-layers", "chapters/05-networks", "chapters/06-cnn", "chapters/07-dataloader", "chapters/08-autograd", "chapters/09-optimizers", "chapters/10-training", "chapters/11-compression", "chapters/12-kernels", "chapters/13-benchmarking", "chapters/14-mlops", "intro", "usage-paths/classroom-use", "usage-paths/quick-exploration", "usage-paths/serious-development"], "filenames": ["chapters/01-setup.md", "chapters/02-tensor.md", "chapters/03-activations.md", "chapters/04-layers.md", "chapters/05-networks.md", "chapters/06-cnn.md", "chapters/07-dataloader.md", "chapters/08-autograd.md", "chapters/09-optimizers.md", "chapters/10-training.md", "chapters/11-compression.md", "chapters/12-kernels.md", "chapters/13-benchmarking.md", "chapters/14-mlops.md", "intro.md", "usage-paths/classroom-use.md", "usage-paths/quick-exploration.md", "usage-paths/serious-development.md"], "titles": ["Setup - TinyTorch System Configuration", "Tensor - Core Data Structure", "Activations - Nonlinearity in Neural Networks", "Layers - Building Blocks of Neural Networks", "Networks - Neural Network Architectures", "CNN - Convolutional Neural Networks", "DataLoader - Data Loading and Preprocessing", "Autograd - Automatic Differentiation Engine", "Optimizers - Gradient-Based Parameter Updates", "Training - Complete Neural Network Training Pipeline", "Compression & Optimization - Making AI Models Efficient", "Kernels - Hardware-Optimized ML Operations", "Benchmarking - Systematic ML Performance Evaluation", "MLOps - Production ML Systems", "Tiny\ud83d\udd25Torch: Build Machine Learning Systems from Scratch", "\ud83d\udc68\u200d\ud83c\udfeb Classroom Use Guide", "\ud83d\udd2c Quick Exploration Path", "\ud83c\udfd7\ufe0f Serious Development Path"], "terms": {"welcom": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "thi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16], "person": [0, 14], "instal": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "teach": [0, 14, 15, 16], "you": [0, 1, 7, 10, 11], "nbgrader": [0, 1, 2, 14, 17], "workflow": [0, 1, 2, 13, 14, 16], "custom": [0, 11, 14, 17], "inform": 0, "queri": 0, "us": 0, "python": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 17], "master": [0, 1, 2, 4, 6, 7, 8, 9, 10, 11], "implement": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "test": [0, 1, 2, 3, 14], "export": [0, 15], "creat": [0, 1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 15, 16, 17], "function": [0, 2, 4, 9, 11, 15, 16, 17], "becom": [0, 7, 14, 16], "part": [0, 14], "packag": [0, 17], "understand": [0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15], "solut": [0, 14], "block": [0, 5, 16], "hidden": 0, "autom": [0, 13, 14, 17], "grade": [0, 14, 17], "foundat": [0, 1, 3, 6, 7], "ani": [0, 4, 16], "product": 0, "In": 0, "ll": [0, 1, 7, 10, 11], "real": [0, 3, 6, 9, 10, 11, 15, 16], "need": [0, 14, 16], "environ": [0, 14, 15, 16], "hardwar": [0, 15, 17], "constraint": 0, "memori": [0, 1, 6, 10, 11, 15, 17], "cpu": [0, 11], "core": [0, 5, 8, 14, 15, 17], "gpu": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "avail": 0, "softwar": 0, "depend": [0, 17], "version": [0, 15], "librari": [0, 11, 15, 17], "compat": 0, "platform": 0, "differ": [0, 4, 6, 12], "linux": 0, "server": 0, "maco": 0, "window": [0, 5], "deploy": [0, 9, 10, 13, 14, 15, 17], "enabl": [0, 2, 3, 5, 6, 8, 14, 17], "document": [0, 15], "exactli": 0, "what": 0, "wa": 0, "manag": [0, 1, 6, 13, 17], "precis": 0, "requir": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "debug": 0, "support": [0, 17], "info": [0, 15, 17], "help": 0, "troubleshoot": 0, "issu": [0, 13, 17], "proper": [0, 12], "show": [0, 17], "engin": [0, 6, 14, 15, 17], "matur": 0, "attribut": 0, "work": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16], "properli": 0, "credit": 0, "collabor": 0, "other": [0, 5, 14], "can": [0, 5, 14, 15, 16], "extend": [0, 15], "mainten": [0, 13], "updat": [0, 17], "maintain": [0, 13], "connect": [0, 6], "broader": 0, "model": [0, 6, 9, 11, 12, 13, 14, 15, 17], "config": 0, "monitor": [0, 13, 14, 17], "metric": [0, 9, 14, 15, 17], "track": [0, 7, 17], "perform": [0, 1, 6, 7, 9, 11, 13], "scale": 0, "optim": [0, 6, 14, 15, 17], "train": [0, 7, 8, 10, 13], "let": 0, "s": [0, 14], "build": 0, "skill": 0, "choos": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "prefer": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "wai": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "engag": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "launch": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "binder": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16], "run": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16], "browser": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16], "No": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16], "open": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 17], "colab": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "googl": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "access": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "cloud": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "comput": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "power": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16], "view": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "sourc": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 17], "brows": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15], "code": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], "session": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16], "ar": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16], "temporari": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16], "download": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "complet": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 16, 17], "notebook": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 17], "when": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16], "done": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "switch": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "local": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16], "persist": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17], "readi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16], "seriou": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16], "guid": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16], "where": [1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13], "tinytorch": [1, 7, 12, 13, 15, 16, 17], "realli": 1, "begin": 1, "fundament": [1, 3, 4], "all": [1, 3, 6, 13, 14, 15, 16, 17], "ml": [1, 6, 14, 15, 16, 17], "system": [1, 6, 7, 12, 16], "n": 1, "dimension": [1, 14, 15, 17], "arrai": [1, 14, 15, 17], "specif": [1, 15, 17], "oper": [1, 5, 7, 14, 15, 16, 17], "class": [1, 6, 7, 14, 15, 16, 17], "arithmet": 1, "handl": [1, 6, 14, 17], "shape": 1, "type": [1, 6, 17], "layout": 1, "neural": [1, 6, 7, 8, 10, 14, 15, 16, 17], "network": [1, 6, 7, 8, 10, 14, 15, 16, 17], "automat": [1, 13, 14, 15, 17], "differenti": [1, 14, 15, 17], "comprehens": [1, 2, 14, 15, 17], "transform": [1, 2, 3, 5, 15, 16], "how": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 16, 17], "form": [1, 3], "develop": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], "setup": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "get": [2, 14, 16], "through": [2, 4, 7, 8, 15], "why": [2, 5, 6, 10, 11, 13, 16], "essenti": [2, 9], "four": [2, 10, 12], "most": [2, 14, 15, 17], "import": [2, 3, 5, 14, 17], "relu": [2, 14, 16, 17], "sigmoid": [2, 14, 17], "tanh": [2, 14, 17], "softmax": [2, 17], "visual": [2, 4, 14, 15, 16, 17], "data": [2, 3, 5, 9, 15, 16], "complex": [2, 4, 7], "see": [2, 3, 5, 8, 13, 14, 16, 17], "layer": [2, 4, 5, 14, 15, 17], "add": [2, 15], "tensor": [2, 14, 15, 16, 17], "immedi": [2, 15], "result": [2, 12, 16], "pattern": [2, 4, 5, 6, 8, 11, 14, 15, 17], "we": [3, 4, 9, 11, 12, 13], "compon": [3, 12, 13, 14, 15, 16, 17], "stack": [3, 17], "togeth": [3, 9, 13, 16, 17], "matrix": [3, 14, 15, 16, 17], "multipl": [3, 14, 15, 16, 17], "naiv": 3, "from": [3, 5, 6, 10, 15, 16, 17], "scratch": [3, 5, 6, 10, 15, 16, 17], "deep": [3, 4, 15, 17], "dens": [3, 5, 14, 15, 16, 17], "linear": [3, 14, 15, 17], "weight": [3, 10, 14, 15, 17], "initi": [3, 17], "strategi": [3, 8, 17], "compos": [3, 4, 5], "activ": [3, 5, 15, 17], "featur": [3, 5, 17], "composit": [4, 15, 17], "f": 4, "x": [4, 14], "layer_n": 4, "layer_2": 4, "layer_1": 4, "sequenti": [4, 14, 15, 17], "common": [4, 12], "like": [4, 5, 14], "mlp": [4, 15], "multi": [4, 14, 15, 17], "perceptron": [4, 17], "capabl": 4, "forward": [4, 14, 15, 17], "pass": [4, 15], "infer": 4, "design": 4, "affect": [4, 6, 10], "behavior": [4, 8], "By": [4, 5, 6, 14], "end": [4, 5, 6, 14, 16, 17], "simpl": [4, 14, 16], "combin": [4, 10, 15, 16], "The": [4, 5, 6, 16], "number": 4, "shallow": 4, "wide": 4, "approxim": 4, "here": 5, "modern": [5, 11, 14], "vision": [5, 14, 15, 17], "its": 5, "conv2d": [5, 15], "explicit": 5, "loop": [5, 9, 13, 15, 17], "slide": [5, 15], "mechan": 5, "detect": [5, 13], "spatial": [5, 15, 17], "imag": [5, 14, 15, 16, 17], "paramet": 5, "share": 5, "translat": 5, "invari": 5, "map": 5, "emerg": 5, "hierarch": 5, "perfect": [5, 14, 15, 16, 17], "learnabl": 5, "pipelin": [5, 6, 13, 14, 15, 17], "flatten": 5, "make": [5, 7, 15, 17], "effici": [5, 6, 11, 17], "process": [6, 9, 11, 15, 17], "machin": 6, "batch": [6, 14, 15, 17], "reusabl": 6, "dataset": [6, 9, 14, 15, 17], "abstract": [6, 14], "framework": [6, 12, 14, 15, 16, 17], "think": 6, "i": [6, 14, 16, 17], "o": 6, "loader": 6, "feed": 6, "them": [6, 14], "scalabl": 6, "consist": [6, 14, 17], "shuffl": [6, 17], "crucial": [6, 16], "larger": [6, 14, 15], "than": [6, 11, 14, 15, 17], "between": [6, 16], "truli": 7, "possibl": [7, 14, 17], "graph": [7, 15, 17], "variabl": 7, "gradient": [7, 15, 17], "backward": [7, 14], "propag": [7, 15, 17], "mathemat": [7, 15, 17], "concept": 7, "behind": [7, 14], "backpropag": [7, 14, 15, 17], "express": 7, "flow": 7, "improv": [8, 9, 11, 17], "intellig": 8, "descent": [8, 17], "sgd": [8, 14, 15, 17], "momentum": 8, "acceler": 8, "converg": [8, 15, 17], "adam": [8, 14, 15, 17], "adapt": 8, "rate": [8, 14, 15, 17], "schedul": [8, 14, 15, 17], "effect": 8, "algorithm": [8, 11, 15], "appli": [8, 10, 11, 12], "compar": [8, 10], "bring": [9, 14], "everyth": [9, 15, 17], "loss": [9, 14, 15, 17], "thei": [9, 14], "measur": [9, 11, 14, 15, 17], "mse": 9, "crossentropi": 9, "binarycrossentropi": 9, "evalu": [9, 14, 15, 17], "classif": [9, 16, 17], "regress": 9, "orchestr": [9, 14, 15], "entir": 9, "checkpoint": [9, 17], "world": [9, 10, 14, 15, 17], "analyz": 9, "dynam": [9, 17], "smaller": 10, "faster": [10, 11], "more": [10, 16], "size": [10, 14, 15, 17], "matter": [10, 11, 16], "magnitud": 10, "base": [10, 15], "prune": [10, 14, 15, 17], "remov": 10, "unimport": 10, "quantiz": [10, 14, 15, 17], "reduc": [10, 17], "usag": 10, "75": [10, 14, 15, 17], "knowledg": 10, "distil": 10, "compact": 10, "structur": 10, "architectur": [10, 12, 14, 15, 17], "techniqu": 10, "trade": 10, "off": 10, "maximum": 10, "gain": [10, 16], "move": 11, "beyond": 11, "numpi": [11, 14], "standard": [11, 12, 15], "vector": 11, "simd": 11, "principl": 11, "better": [11, 14, 15, 17], "cach": 11, "util": 11, "parallel": 11, "style": [11, 14, 15, 17], "profil": [11, 15], "tool": [11, 14, 15], "compress": [11, 14, 15, 17], "workload": 11, "systemat": [11, 14, 15, 17], "industri": [12, 14, 15], "methodolog": 12, "inspir": 12, "mlperf": [12, 15, 17], "scenario": 12, "latenc": 12, "throughput": 12, "offlin": 12, "statist": [12, 15, 17], "valid": [12, 14, 15, 17], "meaning": 12, "profession": [12, 14, 15, 17], "report": [12, 15, 17], "project": [12, 15, 16], "avoid": 12, "pitfal": 12, "gener": [12, 17], "confid": 12, "close": 13, "lifecycl": 13, "degrad": 13, "over": 13, "time": 13, "without": [13, 16], "drift": 13, "retrain": 13, "trigger": 13, "comparison": 13, "infrastructur": [13, 14, 17], "respond": 13, "themselv": 13, "own": [14, 16, 17], "pytorch": [14, 17], "ground": 14, "up": 14, "cours": 14, "have": [14, 16, 17], "built": [14, 15, 17], "cifar": [14, 15, 17], "magic": [14, 17], "reduct": [14, 15], "load": [14, 15, 17], "importantli": 14, "actual": 14, "under": [14, 16], "hood": [14, 16], "explor": 14, "minut": [14, 16], "want": [14, 16, 17], "about": [14, 16], "click": [14, 16], "interact": 14, "feel": 14, "8": [14, 15], "week": 14, "myself": [14, 17], "fork": [14, 16], "repo": [14, 16], "full": [14, 15], "tito": [14, 15], "cli": [14, 15], "14": 14, "assign": [14, 17], "mlop": [14, 15, 17], "classroom": [14, 16], "instructor": 14, "integr": [14, 15, 17], "200": [14, 15, 17], "across": [14, 15, 17], "flexibl": 14, "pace": 14, "16": [14, 15], "pedagog": 14, "turn": [14, 15], "kei": [14, 15], "educ": [14, 16], "1": [], "math": [14, 16], "4": 14, "chain": 14, "cnn": [14, 17], "convolut": [14, 15, 17], "7": 14, "dataload": [14, 17], "preprocess": [14, 15, 17], "autograd": [14, 15, 17], "11": [14, 17], "kernel": [14, 17], "high": [14, 15, 16, 17], "benchmark": [14, 15, 17], "continu": [14, 15, 17], "def": 14, "return": 14, "should": 14, "output": 14, "input_tensor": 14, "784": 14, "128": 14, "repeat": 14, "everi": [14, 17], "fit": [14, 16], "after": [14, 15, 16, 17], "95": [14, 15], "vs": [14, 16], "20": [14, 15, 16], "befor": 14, "90": [14, 15], "deepli": [14, 15, 17], "15": 14, "85": [14, 15], "80": [14, 15], "user": [14, 15], "pursu": [14, 15], "advanc": [14, 15], "role": [14, 15], "30": [14, 15], "graduat": [14, 15], "our": [14, 15], "codebas": [14, 15], "know": 14, "happen": 14, "academ": [14, 15], "successfulli": 14, "univers": 14, "toi": [14, 17], "organ": [14, 17], "consider": [14, 17], "practic": [14, 15, 17], "indic": [14, 17], "success": [14, 17], "messag": [14, 17], "ensur": [14, 15, 17], "aha": 14, "moment": 14, "hello_world": 14, "next": 14, "deploi": [14, 17], "gap": 14, "step": 14, "carefulli": 14, "scaffold": 14, "just": [14, 16], "second": 14, "first": [14, 16, 17], "tradit": 14, "approach": [14, 16], "nn": 14, "mseloss": 14, "doe": [14, 15], "come": 14, "hand": [14, 16], "line": 14, "write": 14, "closer": 14, "ai": [14, 16], "provid": [15, 17], "progress": 15, "00": [15, 17], "13": [15, 17], "correctli": 15, "durat": 15, "git": [15, 17], "http": [15, 17], "github": [15, 17], "com": [15, 17], "org": [15, 17], "cd": [15, 17], "bin": [15, 17], "sh": [15, 17], "doctor": [15, 17], "verifi": [15, 17], "init": 15, "modul": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15], "00_setup": [15, 17], "releas": [15, 17], "ls": 15, "simul": 15, "submiss": [15, 17], "collect": 15, "goal": 15, "qualiti": 15, "assur": 15, "01_tensor": 15, "02_activ": 15, "nonlinear": [15, 16, 17], "25": 15, "03_layer": 15, "5": [15, 16], "04_network": 15, "35": 15, "construct": 15, "05_cnn": 15, "06_dataload": 15, "07_autograd": 15, "40": 15, "9": 15, "08_optim": 15, "analysi": 15, "09_train": 15, "10_compress": 15, "target": [14, 15], "12": [15, 17], "11_kernel": 15, "12_benchmark": 15, "13_mlop": 15, "semest": 15, "Or": 15, "onc": 15, "rang": 15, "03": [15, 17], "auto": [15, 17], "detail": 15, "gradebook": 15, "check": [15, 17], "overal": 15, "verbos": 15, "analyt": 15, "unit": 15, "correct": [15, 17], "cross": [15, 17], "enforc": 15, "145": 15, "135": 15, "total": 15, "445": 15, "60": 15, "do": 15, "clear": 15, "comment": 15, "docstr": 15, "intens": 15, "per": 15, "dive": 15, "research": 15, "competit": 15, "leaderboard": 15, "challeng": 15, "novel": 15, "beginn": 15, "friendli": 15, "extra": 15, "tutori": 15, "earli": 15, "skip": 15, "basic": 15, "focu": 15, "overview": 15, "expect": 15, "nbgrader_config": 15, "py": [15, 17], "modifi": [15, 16], "length": 15, "institut": 15, "ongo": [15, 16], "direct": [15, 17], "commun": 15, "privat": 15, "slack": 15, "discord": 15, "lectur": 15, "note": 15, "offic": 15, "hour": 15, "weekli": 15, "virtual": [15, 17], "ever": 15, "take": 15, "anyth": 16, "button": 16, "live": 16, "jupyt": [16, 17], "your": 16, "pre": 16, "configur": 16, "abil": 16, "account": 16, "creation": 16, "now": [16, 17], "familiar": 16, "timeout": 16, "inact": 16, "save": 16, "great": 16, "For": 16, "relationship": 16, "learn": 16, "level": 16, "api": 16, "satisfi": 16, "ve": 16, "valuabl": 16, "insight": 16, "commit": 16, "my": 17, "A": 17, "includ": 17, "10": 17, "clone": 17, "lab": 17, "setup_dev": 17, "c": 17, "hello_tinytorch": 17, "name": 17, "01": 17, "02": 17, "04": 17, "05": 17, "06": 17, "07": 17, "08": 17, "variant": 17, "09": 17, "awar": 17, "intern": 17, "health": 17, "statu": 17, "dev": 17, "100": 17, "inlin": 17, "classifi": 17, "reliabl": 17, "coverag": 17, "follow": 17, "error": 17, "guidanc": 17, "experi": 17, "new": 17, "jump": 17, "try": 17, "discuss": 17, "question": 17, "bug": 17, "suggest": 17, "contact": 17, "team": 17, "self": [14, 17], "awai": 17, "__add__": 14, "bia": 14, "mse_loss": 14, "pred": 14, "mean": 14, "param": 14, "lr": 14, "grad": 14, "2": 16}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"modul": [14, 17], "0": [14, 16], "setup": [0, 15, 16, 17], "tinytorch": [0, 14], "system": [0, 13, 14, 15, 17], "configur": 0, "learn": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "goal": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "The": [0, 17], "big": [0, 14], "pictur": [0, 14], "why": [0, 14, 17], "matter": 0, "ml": [0, 11, 12, 13], "1": [0, 14, 15, 16, 17], "awar": 0, "2": [0, 14, 15, 17], "reproduc": 0, "3": [0, 14, 15, 16, 17], "profession": 0, "develop": [0, 17], "4": [0, 15, 16, 17], "context": 0, "interact": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "save": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "your": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "progress": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17], "tensor": 1, "core": 1, "data": [1, 6, 14, 17], "structur": [1, 15], "build": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "us": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "understand": [1, 2, 3, 14, 16, 17], "activ": [2, 14, 16], "nonlinear": 2, "neural": [2, 3, 4, 5, 9], "network": [2, 3, 4, 5, 9], "layer": [3, 16], "block": [3, 14, 15, 17], "architectur": 4, "reflect": [4, 5, 6], "what": [4, 5, 6, 14, 16, 17], "you": [4, 5, 6, 14, 16, 17], "ll": [4, 5, 6, 14, 16, 17], "5": [14, 17], "cnn": 5, "convolut": 5, "6": [14, 15, 17], "dataload": 6, "load": 6, "preprocess": 6, "7": [15, 17], "autograd": 7, "automat": 7, "differenti": 7, "engin": 7, "analyz": [7, 8, 12], "8": 17, "optim": [8, 9, 10, 11], "gradient": 8, "base": 8, "paramet": 8, "updat": 8, "9": 14, "train": [9, 14, 15, 17], "complet": [9, 15], "pipelin": 9, "10": [14, 15], "compress": 10, "make": [10, 14], "ai": 10, "model": 10, "effici": 10, "11": 15, "kernel": 11, "hardwar": 11, "oper": 11, "12": [], "benchmark": 12, "systemat": 12, "perform": [12, 14, 15, 17], "evalu": 12, "13": 14, "mlop": 13, "product": [13, 14, 15, 17], "deploi": 13, "tini": 14, "torch": 14, "machin": 14, "from": 14, "scratch": 14, "achiev": 14, "choos": [14, 17], "path": [14, 16, 17], "three": 14, "wai": 14, "engag": 14, "complex": [14, 17], "each": 14, "previou": 14, "work": [14, 17], "foundat": [14, 15, 17], "philosophi": 14, "exampl": 14, "how": 14, "function": 14, "proven": [14, 15, 17], "student": [14, 15, 17], "outcom": [14, 15, 17], "real": [14, 17], "result": [14, 15, 17], "thi": [14, 17], "differ": 14, "immedi": [14, 16, 17], "feedback": [14, 15, 17], "readi": [14, 17], "start": [14, 15, 16, 17], "adventur": 14, "quick": [14, 15, 16, 17], "tast": 14, "try": [14, 16], "chapter": [14, 16], "right": 14, "now": 14, "classroom": 15, "guid": 15, "cours": 15, "infrastructur": 15, "instructor": 15, "step": [15, 16, 17], "clone": 15, "initi": 15, "nbgrader": 15, "gener": 15, "first": 15, "assign": 15, "test": [15, 17], "workflow": [15, 17], "pace": 15, "week": [15, 17], "14": 15, "manag": 15, "grade": 15, "statu": 15, "monitor": 15, "assess": 15, "autom": 15, "point": 15, "distribut": 15, "suggest": 15, "rubric": 15, "pedagog": 15, "custom": 15, "option": 15, "flexibl": 15, "variat": 15, "prerequisit": 15, "adjust": 15, "get": [15, 17], "review": 15, "materi": 15, "need": 15, "launch": [15, 16], "support": 15, "explor": 16, "requir": 16, "experi": 16, "recommend": 16, "here": 16, "Then": 16, "up": 16, "import": 16, "limit": 16, "next": 16, "seriou": 17, "minut": 17, "code": 17, "environ": 17, "export": 17, "tito": 17, "cli": 17, "qualiti": 17, "assur": 17, "approach": 17, "help": 17}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinxcontrib.bibtex": 9, "sphinx": 56}}) \ No newline at end of file diff --git a/book/_build/html/usage-paths/classroom-use.html b/book/_build/html/usage-paths/classroom-use.html index 818a5797..fad6182e 100644 --- a/book/_build/html/usage-paths/classroom-use.html +++ b/book/_build/html/usage-paths/classroom-use.html @@ -65,7 +65,7 @@ const thebe_selector_output = ".output, .cell_output" - + @@ -176,29 +176,29 @@ const thebe_selector_output = ".output, .cell_output"

    Foundation

    Building Blocks

    Training Systems

    Production & Performance

    @@ -779,7 +779,7 @@ tito nbgrader analytics

    1. Review Course Materials#

    @@ -866,11 +866,11 @@ tito nbgrader autograde

    next

    -

    Module 0: Setup - TinyTorch System Configuration

    +

    Setup - TinyTorch System Configuration

    diff --git a/book/_build/html/usage-paths/quick-exploration.html b/book/_build/html/usage-paths/quick-exploration.html index 957f12b4..97c6beb4 100644 --- a/book/_build/html/usage-paths/quick-exploration.html +++ b/book/_build/html/usage-paths/quick-exploration.html @@ -176,29 +176,29 @@ const thebe_selector_output = ".output, .cell_output"

    Foundation

    Building Blocks

    Training Systems

    Production & Performance

    @@ -413,9 +413,9 @@ document.write(`
    @@ -704,9 +704,9 @@ tito nbgrader autograde🚀 Ready to Start?#

    Choose Your Module#

    -

    New to ML frameworks? → Start with Setup
    -Have ML experience? → Jump to Tensors
    -Want to see the vision? → Try Activations

    +

    New to ML frameworks? → Start with Setup +Have ML experience? → Jump to Tensors +Want to see the vision? → Try Activations

    Get Help#

    diff --git a/book/_toc.yml b/book/_toc.yml index f34d0511..26bac265 100644 --- a/book/_toc.yml +++ b/book/_toc.yml @@ -17,43 +17,43 @@ parts: - caption: Foundation chapters: - - file: chapters/00-setup.md - title: "0. Setup" - - file: chapters/01-tensor.md - title: "1. Tensors" - - file: chapters/02-activations.md - title: "2. Activations" + - file: chapters/01-setup.md + title: "1. Setup" + - file: chapters/02-tensor.md + title: "2. Tensors" + - file: chapters/03-activations.md + title: "3. Activations" - caption: Building Blocks chapters: - - file: chapters/03-layers.md - title: "3. Layers" - - file: chapters/04-networks.md - title: "4. Networks" - - file: chapters/05-cnn.md - title: "5. CNNs" + - file: chapters/04-layers.md + title: "4. Layers" + - file: chapters/05-networks.md + title: "5. Networks" + - file: chapters/06-cnn.md + title: "6. CNNs" - caption: Training Systems chapters: - - file: chapters/06-dataloader.md - title: "6. DataLoader" - - file: chapters/07-autograd.md - title: "7. Autograd" - - file: chapters/08-optimizers.md - title: "8. Optimizers" - - file: chapters/09-training.md - title: "9. Training" + - file: chapters/07-dataloader.md + title: "7. DataLoader" + - file: chapters/08-autograd.md + title: "8. Autograd" + - file: chapters/09-optimizers.md + title: "9. Optimizers" + - file: chapters/10-training.md + title: "10. Training" - caption: Production & Performance chapters: - - file: chapters/10-compression.md - title: "10. Compression" - - file: chapters/11-kernels.md - title: "11. Kernels" - - file: chapters/12-benchmarking.md - title: "12. Benchmarking" - - file: chapters/13-mlops.md - title: "13. MLOps" + - file: chapters/11-compression.md + title: "11. Compression" + - file: chapters/12-kernels.md + title: "12. Kernels" + - file: chapters/13-benchmarking.md + title: "13. Benchmarking" + - file: chapters/14-mlops.md + title: "14. MLOps" - caption: Appendices chapters: diff --git a/book/chapters/01-setup.md b/book/chapters/01-setup.md new file mode 100644 index 00000000..4497494c --- /dev/null +++ b/book/chapters/01-setup.md @@ -0,0 +1,78 @@ +# Setup - TinyTorch System Configuration + +Welcome to TinyTorch! This setup module configures your personal TinyTorch installation and teaches you the NBGrader workflow. + +```{admonition} 🎯 Learning Goals +:class: tip +- Configure your personal TinyTorch installation with custom information +- Learn to query system information using Python modules +- Master the NBGrader workflow: implement → test → export +- Create functions that become part of your tinytorch package +- Understand solution blocks, hidden tests, and automated grading +``` + + +## The Big Picture: Why Configuration Matters in ML Systems +Configuration is the foundation of any production ML system. In this module, you'll learn: + +### 1. **System Awareness** +Real ML systems need to understand their environment: +- **Hardware constraints**: Memory, CPU cores, GPU availability +- **Software dependencies**: Python version, library compatibility +- **Platform differences**: Linux servers, macOS development, Windows deployment + +### 2. **Reproducibility** +Configuration enables reproducible ML: +- **Environment documentation**: Exactly what system was used +- **Dependency management**: Precise versions and requirements +- **Debugging support**: System info helps troubleshoot issues + +### 3. **Professional Development** +Proper configuration shows engineering maturity: +- **Attribution**: Your work is properly credited +- **Collaboration**: Others can understand and extend your setup +- **Maintenance**: Systems can be updated and maintained + +### 4. **ML Systems Context** +This connects to broader ML engineering: +- **Model deployment**: Different environments need different configs +- **Monitoring**: System metrics help track performance +- **Scaling**: Understanding hardware helps optimize training + +Let's build the foundation of your ML systems engineering skills! +## 🚀 Interactive Learning + +Choose your preferred way to engage with this module: + +````{grid} 1 2 3 3 + +```{grid-item-card} 🚀 Launch Binder +:link: https://mybinder.org/v2/gh/mlsysbook/TinyTorch/main?filepath=modules/source/01_setup/setup_dev.ipynb +:class-header: bg-light + +Run this module interactively in your browser. No installation required! +``` + +```{grid-item-card} ⚡ Open in Colab +:link: https://colab.research.google.com/github/mlsysbook/TinyTorch/blob/main/modules/source/01_setup/setup_dev.ipynb +:class-header: bg-light + +Use Google Colab for GPU access and cloud compute power. +``` + +```{grid-item-card} 📖 View Source +:link: https://github.com/mlsysbook/TinyTorch/blob/main/modules/source/01_setup/setup_dev.py +:class-header: bg-light + +Browse the Python source code and understand the implementation. +``` + +```` + +```{admonition} 💾 Save Your Progress +:class: tip +**Binder sessions are temporary!** Download your completed notebook when done, or switch to local development for persistent work. + +Ready for serious development? → [🏗️ Local Setup Guide](../usage-paths/serious-development.md) +``` + diff --git a/book/chapters/02-tensor.md b/book/chapters/02-tensor.md new file mode 100644 index 00000000..185e70a9 --- /dev/null +++ b/book/chapters/02-tensor.md @@ -0,0 +1,54 @@ +# Tensor - Core Data Structure + +Welcome to the Tensor module! This is where TinyTorch really begins. You'll implement the fundamental data structure that powers all ML systems. + +```{admonition} 🎯 Learning Goals +:class: tip +- Understand tensors as N-dimensional arrays with ML-specific operations +- Implement a complete Tensor class with arithmetic operations +- Handle shape management, data types, and memory layout +- Build the foundation for neural networks and automatic differentiation +- Master the NBGrader workflow with comprehensive testing +``` + + +## Build → Use → Understand +1. **Build**: Create the Tensor class with core operations +2. **Use**: Perform tensor arithmetic and transformations +3. **Understand**: How tensors form the foundation of ML systems +## 🚀 Interactive Learning + +Choose your preferred way to engage with this module: + +````{grid} 1 2 3 3 + +```{grid-item-card} 🚀 Launch Binder +:link: https://mybinder.org/v2/gh/mlsysbook/TinyTorch/main?filepath=modules/source/02_tensor/tensor_dev.ipynb +:class-header: bg-light + +Run this module interactively in your browser. No installation required! +``` + +```{grid-item-card} ⚡ Open in Colab +:link: https://colab.research.google.com/github/mlsysbook/TinyTorch/blob/main/modules/source/02_tensor/tensor_dev.ipynb +:class-header: bg-light + +Use Google Colab for GPU access and cloud compute power. +``` + +```{grid-item-card} 📖 View Source +:link: https://github.com/mlsysbook/TinyTorch/blob/main/modules/source/02_tensor/tensor_dev.py +:class-header: bg-light + +Browse the Python source code and understand the implementation. +``` + +```` + +```{admonition} 💾 Save Your Progress +:class: tip +**Binder sessions are temporary!** Download your completed notebook when done, or switch to local development for persistent work. + +Ready for serious development? → [🏗️ Local Setup Guide](../usage-paths/serious-development.md) +``` + diff --git a/book/chapters/03-activations.md b/book/chapters/03-activations.md new file mode 100644 index 00000000..a7e3a3bf --- /dev/null +++ b/book/chapters/03-activations.md @@ -0,0 +1,54 @@ +# Activations - Nonlinearity in Neural Networks + +Welcome to the Activations module! This is where neural networks get their power through nonlinearity. + +```{admonition} 🎯 Learning Goals +:class: tip +- Understand why activation functions are essential for neural networks +- Implement the four most important activation functions: ReLU, Sigmoid, Tanh, and Softmax +- Visualize how activations transform data and enable complex learning +- See how activations work with layers to build powerful networks +- Master the NBGrader workflow with comprehensive testing +``` + + +## Build → Use → Understand +1. **Build**: Activation functions that add nonlinearity +2. **Use**: Transform tensors and see immediate results +3. **Understand**: How nonlinearity enables complex pattern learning +## 🚀 Interactive Learning + +Choose your preferred way to engage with this module: + +````{grid} 1 2 3 3 + +```{grid-item-card} 🚀 Launch Binder +:link: https://mybinder.org/v2/gh/mlsysbook/TinyTorch/main?filepath=modules/source/03_activations/activations_dev.ipynb +:class-header: bg-light + +Run this module interactively in your browser. No installation required! +``` + +```{grid-item-card} ⚡ Open in Colab +:link: https://colab.research.google.com/github/mlsysbook/TinyTorch/blob/main/modules/source/03_activations/activations_dev.ipynb +:class-header: bg-light + +Use Google Colab for GPU access and cloud compute power. +``` + +```{grid-item-card} 📖 View Source +:link: https://github.com/mlsysbook/TinyTorch/blob/main/modules/source/03_activations/activations_dev.py +:class-header: bg-light + +Browse the Python source code and understand the implementation. +``` + +```` + +```{admonition} 💾 Save Your Progress +:class: tip +**Binder sessions are temporary!** Download your completed notebook when done, or switch to local development for persistent work. + +Ready for serious development? → [🏗️ Local Setup Guide](../usage-paths/serious-development.md) +``` + diff --git a/book/chapters/04-layers.md b/book/chapters/04-layers.md new file mode 100644 index 00000000..4dbc0034 --- /dev/null +++ b/book/chapters/04-layers.md @@ -0,0 +1,54 @@ +# Layers - Building Blocks of Neural Networks + +Welcome to the Layers module! This is where we build the fundamental components that stack together to form neural networks. + +```{admonition} 🎯 Learning Goals +:class: tip +- Understand how matrix multiplication powers neural networks +- Implement naive matrix multiplication from scratch for deep understanding +- Build the Dense (Linear) layer - the foundation of all neural networks +- Learn weight initialization strategies and their importance +- See how layers compose with activations to create powerful networks +``` + + +## Build → Use → Understand +1. **Build**: Matrix multiplication and Dense layers from scratch +2. **Use**: Create and test layers with real data +3. **Understand**: How linear transformations enable feature learning +## 🚀 Interactive Learning + +Choose your preferred way to engage with this module: + +````{grid} 1 2 3 3 + +```{grid-item-card} 🚀 Launch Binder +:link: https://mybinder.org/v2/gh/mlsysbook/TinyTorch/main?filepath=modules/source/04_layers/layers_dev.ipynb +:class-header: bg-light + +Run this module interactively in your browser. No installation required! +``` + +```{grid-item-card} ⚡ Open in Colab +:link: https://colab.research.google.com/github/mlsysbook/TinyTorch/blob/main/modules/source/04_layers/layers_dev.ipynb +:class-header: bg-light + +Use Google Colab for GPU access and cloud compute power. +``` + +```{grid-item-card} 📖 View Source +:link: https://github.com/mlsysbook/TinyTorch/blob/main/modules/source/04_layers/layers_dev.py +:class-header: bg-light + +Browse the Python source code and understand the implementation. +``` + +```` + +```{admonition} 💾 Save Your Progress +:class: tip +**Binder sessions are temporary!** Download your completed notebook when done, or switch to local development for persistent work. + +Ready for serious development? → [🏗️ Local Setup Guide](../usage-paths/serious-development.md) +``` + diff --git a/book/chapters/05-networks.md b/book/chapters/05-networks.md new file mode 100644 index 00000000..90ae7ab8 --- /dev/null +++ b/book/chapters/05-networks.md @@ -0,0 +1,62 @@ +# Networks - Neural Network Architectures + +Welcome to the Networks module! This is where we compose layers into complete neural network architectures. + +```{admonition} 🎯 Learning Goals +:class: tip +- Understand networks as function composition: `f(x) = layer_n(...layer_2(layer_1(x)))` +- Build the Sequential network architecture for composing layers +- Create common network patterns like MLPs (Multi-Layer Perceptrons) +- Visualize network architectures and understand their capabilities +- Master forward pass inference through complete networks +``` + + +## Build → Use → Reflect +1. **Build**: Sequential networks that compose layers into complete architectures +2. **Use**: Create different network patterns and run inference +3. **Reflect**: How architecture design affects network behavior and capability + +## What You'll Learn +By the end of this module, you'll understand: +- How simple layers combine to create complex behaviors +- The fundamental Sequential architecture pattern +- How to build MLPs with any number of layers +- Different network architectures (shallow, deep, wide) +- How neural networks approximate complex functions +## 🚀 Interactive Learning + +Choose your preferred way to engage with this module: + +````{grid} 1 2 3 3 + +```{grid-item-card} 🚀 Launch Binder +:link: https://mybinder.org/v2/gh/mlsysbook/TinyTorch/main?filepath=modules/source/05_networks/networks_dev.ipynb +:class-header: bg-light + +Run this module interactively in your browser. No installation required! +``` + +```{grid-item-card} ⚡ Open in Colab +:link: https://colab.research.google.com/github/mlsysbook/TinyTorch/blob/main/modules/source/05_networks/networks_dev.ipynb +:class-header: bg-light + +Use Google Colab for GPU access and cloud compute power. +``` + +```{grid-item-card} 📖 View Source +:link: https://github.com/mlsysbook/TinyTorch/blob/main/modules/source/05_networks/networks_dev.py +:class-header: bg-light + +Browse the Python source code and understand the implementation. +``` + +```` + +```{admonition} 💾 Save Your Progress +:class: tip +**Binder sessions are temporary!** Download your completed notebook when done, or switch to local development for persistent work. + +Ready for serious development? → [🏗️ Local Setup Guide](../usage-paths/serious-development.md) +``` + diff --git a/book/chapters/06-cnn.md b/book/chapters/06-cnn.md new file mode 100644 index 00000000..0e27368f --- /dev/null +++ b/book/chapters/06-cnn.md @@ -0,0 +1,62 @@ +# CNN - Convolutional Neural Networks + +Welcome to the CNN module! Here you'll implement the core building block of modern computer vision: the convolutional layer. + +```{admonition} 🎯 Learning Goals +:class: tip +- Understand the convolution operation and its importance in computer vision +- Implement Conv2D with explicit for-loops to understand the sliding window mechanism +- Build convolutional layers that can detect spatial patterns in images +- Compose Conv2D with other layers to build complete convolutional networks +- See how convolution enables parameter sharing and translation invariance +``` + + +## Build → Use → Reflect +1. **Build**: Conv2D layer using sliding window convolution from scratch +2. **Use**: Transform images and see feature maps emerge +3. **Reflect**: How CNNs learn hierarchical spatial patterns + +## What You'll Learn +By the end of this module, you'll understand: +- How convolution works as a sliding window operation +- Why convolution is perfect for spatial data like images +- How to build learnable convolutional layers +- The CNN pipeline: Conv2D → Activation → Flatten → Dense +- How parameter sharing makes CNNs efficient +## 🚀 Interactive Learning + +Choose your preferred way to engage with this module: + +````{grid} 1 2 3 3 + +```{grid-item-card} 🚀 Launch Binder +:link: https://mybinder.org/v2/gh/mlsysbook/TinyTorch/main?filepath=modules/source/06_cnn/cnn_dev.ipynb +:class-header: bg-light + +Run this module interactively in your browser. No installation required! +``` + +```{grid-item-card} ⚡ Open in Colab +:link: https://colab.research.google.com/github/mlsysbook/TinyTorch/blob/main/modules/source/06_cnn/cnn_dev.ipynb +:class-header: bg-light + +Use Google Colab for GPU access and cloud compute power. +``` + +```{grid-item-card} 📖 View Source +:link: https://github.com/mlsysbook/TinyTorch/blob/main/modules/source/06_cnn/cnn_dev.py +:class-header: bg-light + +Browse the Python source code and understand the implementation. +``` + +```` + +```{admonition} 💾 Save Your Progress +:class: tip +**Binder sessions are temporary!** Download your completed notebook when done, or switch to local development for persistent work. + +Ready for serious development? → [🏗️ Local Setup Guide](../usage-paths/serious-development.md) +``` + diff --git a/book/chapters/07-dataloader.md b/book/chapters/07-dataloader.md new file mode 100644 index 00000000..5f0cdc50 --- /dev/null +++ b/book/chapters/07-dataloader.md @@ -0,0 +1,62 @@ +# DataLoader - Data Loading and Preprocessing + +Welcome to the DataLoader module! This is where you'll learn how to efficiently load, process, and manage data for machine learning systems. + +```{admonition} 🎯 Learning Goals +:class: tip +- Understand data pipelines as the foundation of ML systems +- Implement efficient data loading with memory management and batching +- Build reusable dataset abstractions for different data types +- Master the Dataset and DataLoader pattern used in all ML frameworks +- Learn systems thinking for data engineering and I/O optimization +``` + + +## Build → Use → Reflect +1. **Build**: Create dataset classes and data loaders from scratch +2. **Use**: Load real datasets and feed them to neural networks +3. **Reflect**: How data engineering affects system performance and scalability + +## What You'll Learn +By the end of this module, you'll understand: +- The Dataset pattern for consistent data access +- How DataLoaders enable efficient batch processing +- Why batching and shuffling are crucial for ML +- How to handle datasets larger than memory +- The connection between data engineering and model performance +## 🚀 Interactive Learning + +Choose your preferred way to engage with this module: + +````{grid} 1 2 3 3 + +```{grid-item-card} 🚀 Launch Binder +:link: https://mybinder.org/v2/gh/mlsysbook/TinyTorch/main?filepath=modules/source/07_dataloader/dataloader_dev.ipynb +:class-header: bg-light + +Run this module interactively in your browser. No installation required! +``` + +```{grid-item-card} ⚡ Open in Colab +:link: https://colab.research.google.com/github/mlsysbook/TinyTorch/blob/main/modules/source/07_dataloader/dataloader_dev.ipynb +:class-header: bg-light + +Use Google Colab for GPU access and cloud compute power. +``` + +```{grid-item-card} 📖 View Source +:link: https://github.com/mlsysbook/TinyTorch/blob/main/modules/source/07_dataloader/dataloader_dev.py +:class-header: bg-light + +Browse the Python source code and understand the implementation. +``` + +```` + +```{admonition} 💾 Save Your Progress +:class: tip +**Binder sessions are temporary!** Download your completed notebook when done, or switch to local development for persistent work. + +Ready for serious development? → [🏗️ Local Setup Guide](../usage-paths/serious-development.md) +``` + diff --git a/book/chapters/08-autograd.md b/book/chapters/08-autograd.md new file mode 100644 index 00000000..a184126b --- /dev/null +++ b/book/chapters/08-autograd.md @@ -0,0 +1,54 @@ +# Autograd - Automatic Differentiation Engine + +Welcome to the Autograd module! This is where TinyTorch becomes truly powerful. You'll implement the automatic differentiation engine that makes neural network training possible. + +```{admonition} 🎯 Learning Goals +:class: tip +- Understand how automatic differentiation works through computational graphs +- Implement the Variable class that tracks gradients and operations +- Build backward propagation for gradient computation +- Create the foundation for neural network training +- Master the mathematical concepts behind backpropagation +``` + + +## Build → Use → Analyze +1. **Build**: Create the Variable class and gradient computation system +2. **Use**: Perform automatic differentiation on complex expressions +3. **Analyze**: Understand how gradients flow through computational graphs +## 🚀 Interactive Learning + +Choose your preferred way to engage with this module: + +````{grid} 1 2 3 3 + +```{grid-item-card} 🚀 Launch Binder +:link: https://mybinder.org/v2/gh/mlsysbook/TinyTorch/main?filepath=modules/source/08_autograd/autograd_dev.ipynb +:class-header: bg-light + +Run this module interactively in your browser. No installation required! +``` + +```{grid-item-card} ⚡ Open in Colab +:link: https://colab.research.google.com/github/mlsysbook/TinyTorch/blob/main/modules/source/08_autograd/autograd_dev.ipynb +:class-header: bg-light + +Use Google Colab for GPU access and cloud compute power. +``` + +```{grid-item-card} 📖 View Source +:link: https://github.com/mlsysbook/TinyTorch/blob/main/modules/source/08_autograd/autograd_dev.py +:class-header: bg-light + +Browse the Python source code and understand the implementation. +``` + +```` + +```{admonition} 💾 Save Your Progress +:class: tip +**Binder sessions are temporary!** Download your completed notebook when done, or switch to local development for persistent work. + +Ready for serious development? → [🏗️ Local Setup Guide](../usage-paths/serious-development.md) +``` + diff --git a/book/chapters/09-optimizers.md b/book/chapters/09-optimizers.md new file mode 100644 index 00000000..46a432f5 --- /dev/null +++ b/book/chapters/09-optimizers.md @@ -0,0 +1,54 @@ +# Optimizers - Gradient-Based Parameter Updates + +Welcome to the Optimizers module! This is where neural networks learn to improve through intelligent parameter updates. + +```{admonition} 🎯 Learning Goals +:class: tip +- Understand gradient descent and how optimizers use gradients to update parameters +- Implement SGD with momentum for accelerated convergence +- Build Adam optimizer with adaptive learning rates +- Master learning rate scheduling strategies +- See how optimizers enable effective neural network training +``` + + +## Build → Use → Analyze +1. **Build**: Core optimization algorithms (SGD, Adam) +2. **Use**: Apply optimizers to train neural networks +3. **Analyze**: Compare optimizer behavior and convergence patterns +## 🚀 Interactive Learning + +Choose your preferred way to engage with this module: + +````{grid} 1 2 3 3 + +```{grid-item-card} 🚀 Launch Binder +:link: https://mybinder.org/v2/gh/mlsysbook/TinyTorch/main?filepath=modules/source/09_optimizers/optimizers_dev.ipynb +:class-header: bg-light + +Run this module interactively in your browser. No installation required! +``` + +```{grid-item-card} ⚡ Open in Colab +:link: https://colab.research.google.com/github/mlsysbook/TinyTorch/blob/main/modules/source/09_optimizers/optimizers_dev.ipynb +:class-header: bg-light + +Use Google Colab for GPU access and cloud compute power. +``` + +```{grid-item-card} 📖 View Source +:link: https://github.com/mlsysbook/TinyTorch/blob/main/modules/source/09_optimizers/optimizers_dev.py +:class-header: bg-light + +Browse the Python source code and understand the implementation. +``` + +```` + +```{admonition} 💾 Save Your Progress +:class: tip +**Binder sessions are temporary!** Download your completed notebook when done, or switch to local development for persistent work. + +Ready for serious development? → [🏗️ Local Setup Guide](../usage-paths/serious-development.md) +``` + diff --git a/book/chapters/10-training.md b/book/chapters/10-training.md new file mode 100644 index 00000000..a23a2e34 --- /dev/null +++ b/book/chapters/10-training.md @@ -0,0 +1,54 @@ +# Training - Complete Neural Network Training Pipeline + +Welcome to the Training module! This is where we bring everything together to train neural networks on real data. + +```{admonition} 🎯 Learning Goals +:class: tip +- Understand loss functions and how they measure model performance +- Implement essential loss functions: MSE, CrossEntropy, and BinaryCrossEntropy +- Build evaluation metrics for classification and regression +- Create a complete training loop that orchestrates the entire process +- Master checkpointing and model persistence for real-world deployment +``` + + +## Build → Use → Optimize +1. **Build**: Loss functions, metrics, and training orchestration +2. **Use**: Train complete models on real datasets +3. **Optimize**: Analyze training dynamics and improve performance +## 🚀 Interactive Learning + +Choose your preferred way to engage with this module: + +````{grid} 1 2 3 3 + +```{grid-item-card} 🚀 Launch Binder +:link: https://mybinder.org/v2/gh/mlsysbook/TinyTorch/main?filepath=modules/source/10_training/training_dev.ipynb +:class-header: bg-light + +Run this module interactively in your browser. No installation required! +``` + +```{grid-item-card} ⚡ Open in Colab +:link: https://colab.research.google.com/github/mlsysbook/TinyTorch/blob/main/modules/source/10_training/training_dev.ipynb +:class-header: bg-light + +Use Google Colab for GPU access and cloud compute power. +``` + +```{grid-item-card} 📖 View Source +:link: https://github.com/mlsysbook/TinyTorch/blob/main/modules/source/10_training/training_dev.py +:class-header: bg-light + +Browse the Python source code and understand the implementation. +``` + +```` + +```{admonition} 💾 Save Your Progress +:class: tip +**Binder sessions are temporary!** Download your completed notebook when done, or switch to local development for persistent work. + +Ready for serious development? → [🏗️ Local Setup Guide](../usage-paths/serious-development.md) +``` + diff --git a/book/chapters/11-compression.md b/book/chapters/11-compression.md new file mode 100644 index 00000000..a2407384 --- /dev/null +++ b/book/chapters/11-compression.md @@ -0,0 +1,55 @@ +# Compression & Optimization - Making AI Models Efficient + +Welcome to the Compression module! This is where you'll learn to make neural networks smaller, faster, and more efficient for real-world deployment. + +```{admonition} 🎯 Learning Goals +:class: tip +- Understand how model size affects deployment and why compression matters +- Implement magnitude-based pruning to remove unimportant weights +- Master quantization to reduce memory usage by 75% +- Build knowledge distillation for training compact models +- Create structured pruning to optimize network architectures +- Compare compression techniques and their trade-offs +``` + + +## Build → Use → Optimize +1. **Build**: Four compression techniques from scratch +2. **Use**: Apply compression to real neural networks +3. **Optimize**: Combine techniques for maximum efficiency gains +## 🚀 Interactive Learning + +Choose your preferred way to engage with this module: + +````{grid} 1 2 3 3 + +```{grid-item-card} 🚀 Launch Binder +:link: https://mybinder.org/v2/gh/mlsysbook/TinyTorch/main?filepath=modules/source/11_compression/compression_dev.ipynb +:class-header: bg-light + +Run this module interactively in your browser. No installation required! +``` + +```{grid-item-card} ⚡ Open in Colab +:link: https://colab.research.google.com/github/mlsysbook/TinyTorch/blob/main/modules/source/11_compression/compression_dev.ipynb +:class-header: bg-light + +Use Google Colab for GPU access and cloud compute power. +``` + +```{grid-item-card} 📖 View Source +:link: https://github.com/mlsysbook/TinyTorch/blob/main/modules/source/11_compression/compression_dev.py +:class-header: bg-light + +Browse the Python source code and understand the implementation. +``` + +```` + +```{admonition} 💾 Save Your Progress +:class: tip +**Binder sessions are temporary!** Download your completed notebook when done, or switch to local development for persistent work. + +Ready for serious development? → [🏗️ Local Setup Guide](../usage-paths/serious-development.md) +``` + diff --git a/book/chapters/12-kernels.md b/book/chapters/12-kernels.md new file mode 100644 index 00000000..9f315fc4 --- /dev/null +++ b/book/chapters/12-kernels.md @@ -0,0 +1,55 @@ +# Kernels - Hardware-Optimized ML Operations + +Welcome to the Kernels module! This is where we move beyond NumPy to understand how ML operations are optimized for modern hardware. You'll implement custom kernels that run faster than standard library functions. + +```{admonition} 🎯 Learning Goals +:class: tip +- Understand why custom kernels matter for ML performance +- Implement vectorized operations using SIMD principles +- Master memory-efficient algorithms for better cache utilization +- Build parallel processing patterns for CPU and GPU-style computing +- Create performance profiling tools to measure and optimize code +- Apply kernel optimizations to compressed model operations +``` + + +## Build → Use → Optimize +1. **Build**: Custom operations, vectorization, and memory optimization +2. **Use**: Apply optimized kernels to real ML workloads +3. **Optimize**: Profile, measure, and improve performance systematically +## 🚀 Interactive Learning + +Choose your preferred way to engage with this module: + +````{grid} 1 2 3 3 + +```{grid-item-card} 🚀 Launch Binder +:link: https://mybinder.org/v2/gh/mlsysbook/TinyTorch/main?filepath=modules/source/12_kernels/kernels_dev.ipynb +:class-header: bg-light + +Run this module interactively in your browser. No installation required! +``` + +```{grid-item-card} ⚡ Open in Colab +:link: https://colab.research.google.com/github/mlsysbook/TinyTorch/blob/main/modules/source/12_kernels/kernels_dev.ipynb +:class-header: bg-light + +Use Google Colab for GPU access and cloud compute power. +``` + +```{grid-item-card} 📖 View Source +:link: https://github.com/mlsysbook/TinyTorch/blob/main/modules/source/12_kernels/kernels_dev.py +:class-header: bg-light + +Browse the Python source code and understand the implementation. +``` + +```` + +```{admonition} 💾 Save Your Progress +:class: tip +**Binder sessions are temporary!** Download your completed notebook when done, or switch to local development for persistent work. + +Ready for serious development? → [🏗️ Local Setup Guide](../usage-paths/serious-development.md) +``` + diff --git a/book/chapters/13-benchmarking.md b/book/chapters/13-benchmarking.md new file mode 100644 index 00000000..85795952 --- /dev/null +++ b/book/chapters/13-benchmarking.md @@ -0,0 +1,54 @@ +# Benchmarking - Systematic ML Performance Evaluation + +Welcome to the Benchmarking module! This is where we learn to systematically evaluate ML systems using industry-standard methodology inspired by MLPerf. + +```{admonition} 🎯 Learning Goals +:class: tip +- Understand the four-component MLPerf benchmarking architecture +- Implement different benchmark scenarios (latency, throughput, offline) +- Apply statistical validation for meaningful results +- Create professional performance reports for ML projects +- Learn to avoid common benchmarking pitfalls +``` + + +## Build → Use → Analyze +1. **Build**: Benchmarking framework with proper statistical validation +2. **Use**: Apply systematic evaluation to your TinyTorch models +3. **Analyze**: Generate professional reports with statistical confidence +## 🚀 Interactive Learning + +Choose your preferred way to engage with this module: + +````{grid} 1 2 3 3 + +```{grid-item-card} 🚀 Launch Binder +:link: https://mybinder.org/v2/gh/mlsysbook/TinyTorch/main?filepath=modules/source/13_benchmarking/benchmarking_dev.ipynb +:class-header: bg-light + +Run this module interactively in your browser. No installation required! +``` + +```{grid-item-card} ⚡ Open in Colab +:link: https://colab.research.google.com/github/mlsysbook/TinyTorch/blob/main/modules/source/13_benchmarking/benchmarking_dev.ipynb +:class-header: bg-light + +Use Google Colab for GPU access and cloud compute power. +``` + +```{grid-item-card} 📖 View Source +:link: https://github.com/mlsysbook/TinyTorch/blob/main/modules/source/13_benchmarking/benchmarking_dev.py +:class-header: bg-light + +Browse the Python source code and understand the implementation. +``` + +```` + +```{admonition} 💾 Save Your Progress +:class: tip +**Binder sessions are temporary!** Download your completed notebook when done, or switch to local development for persistent work. + +Ready for serious development? → [🏗️ Local Setup Guide](../usage-paths/serious-development.md) +``` + diff --git a/book/chapters/14-mlops.md b/book/chapters/14-mlops.md new file mode 100644 index 00000000..2740ab83 --- /dev/null +++ b/book/chapters/14-mlops.md @@ -0,0 +1,54 @@ +# MLOps - Production ML Systems + +Welcome to the MLOps module! This is where we close the loop on the complete ML system lifecycle. + +```{admonition} 🎯 Learning Goals +:class: tip +- Understand why ML models degrade over time without maintenance +- Implement performance monitoring and drift detection systems +- Build automated retraining triggers that use your training pipeline +- Create model comparison and deployment workflows +- See how all TinyTorch components work together in production +``` + + +## Build → Use → Deploy +1. **Build**: Complete MLOps infrastructure for model lifecycle management +2. **Use**: Deploy and monitor ML systems that automatically respond to issues +3. **Deploy**: Create production-ready systems that maintain themselves over time +## 🚀 Interactive Learning + +Choose your preferred way to engage with this module: + +````{grid} 1 2 3 3 + +```{grid-item-card} 🚀 Launch Binder +:link: https://mybinder.org/v2/gh/mlsysbook/TinyTorch/main?filepath=modules/source/14_mlops/mlops_dev.ipynb +:class-header: bg-light + +Run this module interactively in your browser. No installation required! +``` + +```{grid-item-card} ⚡ Open in Colab +:link: https://colab.research.google.com/github/mlsysbook/TinyTorch/blob/main/modules/source/14_mlops/mlops_dev.ipynb +:class-header: bg-light + +Use Google Colab for GPU access and cloud compute power. +``` + +```{grid-item-card} 📖 View Source +:link: https://github.com/mlsysbook/TinyTorch/blob/main/modules/source/14_mlops/mlops_dev.py +:class-header: bg-light + +Browse the Python source code and understand the implementation. +``` + +```` + +```{admonition} 💾 Save Your Progress +:class: tip +**Binder sessions are temporary!** Download your completed notebook when done, or switch to local development for persistent work. + +Ready for serious development? → [🏗️ Local Setup Guide](../usage-paths/serious-development.md) +``` + diff --git a/book/convert_modules.py b/book/convert_modules.py index 7248a848..78c2ab0e 100644 --- a/book/convert_modules.py +++ b/book/convert_modules.py @@ -30,38 +30,38 @@ class ModuleConverter: # Module to chapter mapping self.module_mapping = { - "00_setup": {"title": "Development Environment", "filename": "00-setup"}, - "01_tensor": {"title": "Tensors", "filename": "01-tensor"}, - "02_activations": {"title": "Activations", "filename": "02-activations"}, - "03_layers": {"title": "Layers", "filename": "03-layers"}, - "04_networks": {"title": "Networks", "filename": "04-networks"}, - "05_cnn": {"title": "CNNs", "filename": "05-cnn"}, - "06_dataloader": {"title": "DataLoader", "filename": "06-dataloader"}, - "07_autograd": {"title": "Autograd", "filename": "07-autograd"}, - "08_optimizers": {"title": "Optimizers", "filename": "08-optimizers"}, - "09_training": {"title": "Training", "filename": "09-training"}, - "10_compression": {"title": "Compression", "filename": "10-compression"}, - "11_kernels": {"title": "Kernels", "filename": "11-kernels"}, - "12_benchmarking": {"title": "Benchmarking", "filename": "12-benchmarking"}, - "13_mlops": {"title": "MLOps", "filename": "13-mlops"}, + "01_setup": {"title": "Development Environment", "filename": "01-setup"}, + "02_tensor": {"title": "Tensors", "filename": "02-tensor"}, + "03_activations": {"title": "Activations", "filename": "03-activations"}, + "04_layers": {"title": "Layers", "filename": "04-layers"}, + "05_networks": {"title": "Networks", "filename": "05-networks"}, + "06_cnn": {"title": "CNNs", "filename": "06-cnn"}, + "07_dataloader": {"title": "DataLoader", "filename": "07-dataloader"}, + "08_autograd": {"title": "Autograd", "filename": "08-autograd"}, + "09_optimizers": {"title": "Optimizers", "filename": "09-optimizers"}, + "10_training": {"title": "Training", "filename": "10-training"}, + "11_compression": {"title": "Compression", "filename": "11-compression"}, + "12_kernels": {"title": "Kernels", "filename": "12-kernels"}, + "13_benchmarking": {"title": "Benchmarking", "filename": "13-benchmarking"}, + "14_mlops": {"title": "MLOps", "filename": "14-mlops"}, } # Mapping from directory name to dev file name self.dev_file_mapping = { - "00_setup": "setup_dev.py", - "01_tensor": "tensor_dev.py", - "02_activations": "activations_dev.py", - "03_layers": "layers_dev.py", - "04_networks": "networks_dev.py", - "05_cnn": "cnn_dev.py", - "06_dataloader": "dataloader_dev.py", - "07_autograd": "autograd_dev.py", - "08_optimizers": "optimizers_dev.py", - "09_training": "training_dev.py", - "10_compression": "compression_dev.py", - "11_kernels": "kernels_dev.py", - "12_benchmarking": "benchmarking_dev.py", - "13_mlops": "mlops_dev.py", + "01_setup": "setup_dev.py", + "02_tensor": "tensor_dev.py", + "03_activations": "activations_dev.py", + "04_layers": "layers_dev.py", + "05_networks": "networks_dev.py", + "06_cnn": "cnn_dev.py", + "07_dataloader": "dataloader_dev.py", + "08_autograd": "autograd_dev.py", + "09_optimizers": "optimizers_dev.py", + "10_training": "training_dev.py", + "11_compression": "compression_dev.py", + "12_kernels": "kernels_dev.py", + "13_benchmarking": "benchmarking_dev.py", + "14_mlops": "mlops_dev.py", } def convert_to_notebook(self, dev_file: Path) -> Optional[Path]: diff --git a/book/intro.md b/book/intro.md index bc7a4439..ebf68a26 100644 --- a/book/intro.md +++ b/book/intro.md @@ -168,9 +168,9 @@ model = Sequential([ **Teaching a class?** → **[👨‍🏫 Classroom Use](usage-paths/classroom-use.md)** *(Complete course infrastructure)* ``` -### **Quick Taste: Try Chapter 0 Right Now** +### **Quick Taste: Try Chapter 1 Right Now** -Want to see what TinyTorch feels like? **[Launch the Setup chapter](chapters/00-setup.ipynb)** in Binder and implement your first TinyTorch function in 2 minutes! +Want to see what TinyTorch feels like? **[Launch the Setup chapter](chapters/01-setup.md)** in Binder and implement your first TinyTorch function in 2 minutes! --- diff --git a/book/usage-paths/classroom-use.md b/book/usage-paths/classroom-use.md index 53103348..25c2148d 100644 --- a/book/usage-paths/classroom-use.md +++ b/book/usage-paths/classroom-use.md @@ -278,7 +278,7 @@ Total: 445 points ### **1. Review Course Materials** - Browse the [course overview](../intro.md) -- Test the [setup module](../chapters/00-setup.ipynb) +- Test the [setup module](../chapters/01-setup.md) - Check [expected student outcomes](../usage-paths/serious-development.md) ### **2. Setup Your Course** diff --git a/book/usage-paths/quick-exploration.md b/book/usage-paths/quick-exploration.md index 73e3b4ff..8e99ca2e 100644 --- a/book/usage-paths/quick-exploration.md +++ b/book/usage-paths/quick-exploration.md @@ -27,26 +27,26 @@ All running live in your browser! ## 📚 Recommended Exploration Path -### **Start Here: Chapter 0 - Setup** +### **Start Here: Chapter 1 - Setup** - Understand the TinyTorch development workflow - Get familiar with the educational approach - See how components fit together -**🚀 [Launch Setup Chapter](../chapters/00-setup.md)** +**🚀 [Launch Setup Chapter](../chapters/01-setup.md)** -### **Then Try: Chapter 2 - Activations** +### **Then Try: Chapter 3 - Activations** - Implement your first ML function (ReLU) - See immediate visual results - Understand why nonlinearity matters -**🚀 [Launch Activations Chapter](../chapters/02-activations.md)** +**🚀 [Launch Activations Chapter](../chapters/03-activations.md)** -### **Build Up: Chapter 3 - Layers** +### **Build Up: Chapter 4 - Layers** - Create the building blocks of neural networks - Combine your ReLU with matrix operations - See how simple math becomes powerful AI -**🚀 [Launch Layers Chapter](../chapters/03-layers.md)** +**🚀 [Launch Layers Chapter](../chapters/04-layers.md)** --- diff --git a/book/usage-paths/serious-development.md b/book/usage-paths/serious-development.md index a4ff3a12..045f67d9 100644 --- a/book/usage-paths/serious-development.md +++ b/book/usage-paths/serious-development.md @@ -222,9 +222,9 @@ Every component follows this pattern: ## 🚀 **Ready to Start?** ### **Choose Your Module** -**New to ML frameworks?** → Start with [Setup](../chapters/00-setup.ipynb) -**Have ML experience?** → Jump to [Tensors](../chapters/01-tensor.ipynb) -**Want to see the vision?** → Try [Activations](../chapters/02-activations.ipynb) +**New to ML frameworks?** → Start with [Setup](../chapters/01-setup.md) +**Have ML experience?** → Jump to [Tensors](../chapters/02-tensor.md) +**Want to see the vision?** → Try [Activations](../chapters/03-activations.md) ### **Get Help** - **💬 Discussions**: GitHub Discussions for questions diff --git a/modules/source/00_setup/README.md b/modules/source/01_setup/README.md similarity index 100% rename from modules/source/00_setup/README.md rename to modules/source/01_setup/README.md diff --git a/modules/source/00_setup/module.yaml b/modules/source/01_setup/module.yaml similarity index 100% rename from modules/source/00_setup/module.yaml rename to modules/source/01_setup/module.yaml diff --git a/modules/source/00_setup/setup_dev.py b/modules/source/01_setup/setup_dev.py similarity index 100% rename from modules/source/00_setup/setup_dev.py rename to modules/source/01_setup/setup_dev.py diff --git a/modules/source/00_setup/tinytorch_flame.txt b/modules/source/01_setup/tinytorch_flame.txt similarity index 100% rename from modules/source/00_setup/tinytorch_flame.txt rename to modules/source/01_setup/tinytorch_flame.txt diff --git a/modules/source/01_tensor/README.md b/modules/source/02_tensor/README.md similarity index 100% rename from modules/source/01_tensor/README.md rename to modules/source/02_tensor/README.md diff --git a/modules/source/01_tensor/module.yaml b/modules/source/02_tensor/module.yaml similarity index 100% rename from modules/source/01_tensor/module.yaml rename to modules/source/02_tensor/module.yaml diff --git a/modules/source/01_tensor/tensor_dev.ipynb b/modules/source/02_tensor/tensor_dev.ipynb similarity index 100% rename from modules/source/01_tensor/tensor_dev.ipynb rename to modules/source/02_tensor/tensor_dev.ipynb diff --git a/modules/source/01_tensor/tensor_dev.py b/modules/source/02_tensor/tensor_dev.py similarity index 100% rename from modules/source/01_tensor/tensor_dev.py rename to modules/source/02_tensor/tensor_dev.py diff --git a/modules/source/01_tensor/tensor_dev_backup.py b/modules/source/02_tensor/tensor_dev_backup.py similarity index 100% rename from modules/source/01_tensor/tensor_dev_backup.py rename to modules/source/02_tensor/tensor_dev_backup.py diff --git a/modules/source/02_activations/README.md b/modules/source/03_activations/README.md similarity index 100% rename from modules/source/02_activations/README.md rename to modules/source/03_activations/README.md diff --git a/modules/source/02_activations/activations_dev.py b/modules/source/03_activations/activations_dev.py similarity index 100% rename from modules/source/02_activations/activations_dev.py rename to modules/source/03_activations/activations_dev.py diff --git a/modules/source/02_activations/activations_dev_backup.py b/modules/source/03_activations/activations_dev_backup.py similarity index 100% rename from modules/source/02_activations/activations_dev_backup.py rename to modules/source/03_activations/activations_dev_backup.py diff --git a/modules/source/02_activations/module.yaml b/modules/source/03_activations/module.yaml similarity index 100% rename from modules/source/02_activations/module.yaml rename to modules/source/03_activations/module.yaml diff --git a/modules/source/03_layers/README.md b/modules/source/04_layers/README.md similarity index 100% rename from modules/source/03_layers/README.md rename to modules/source/04_layers/README.md diff --git a/modules/source/03_layers/layers_dev.py b/modules/source/04_layers/layers_dev.py similarity index 100% rename from modules/source/03_layers/layers_dev.py rename to modules/source/04_layers/layers_dev.py diff --git a/modules/source/03_layers/layers_dev_backup.py b/modules/source/04_layers/layers_dev_backup.py similarity index 100% rename from modules/source/03_layers/layers_dev_backup.py rename to modules/source/04_layers/layers_dev_backup.py diff --git a/modules/source/03_layers/module.yaml b/modules/source/04_layers/module.yaml similarity index 100% rename from modules/source/03_layers/module.yaml rename to modules/source/04_layers/module.yaml diff --git a/modules/source/04_networks/README.md b/modules/source/05_networks/README.md similarity index 100% rename from modules/source/04_networks/README.md rename to modules/source/05_networks/README.md diff --git a/modules/source/04_networks/module.yaml b/modules/source/05_networks/module.yaml similarity index 100% rename from modules/source/04_networks/module.yaml rename to modules/source/05_networks/module.yaml diff --git a/modules/source/04_networks/networks_dev.py b/modules/source/05_networks/networks_dev.py similarity index 100% rename from modules/source/04_networks/networks_dev.py rename to modules/source/05_networks/networks_dev.py diff --git a/modules/source/04_networks/networks_dev_backup.py b/modules/source/05_networks/networks_dev_backup.py similarity index 100% rename from modules/source/04_networks/networks_dev_backup.py rename to modules/source/05_networks/networks_dev_backup.py diff --git a/modules/source/05_cnn/README.md b/modules/source/06_cnn/README.md similarity index 100% rename from modules/source/05_cnn/README.md rename to modules/source/06_cnn/README.md diff --git a/modules/source/05_cnn/cnn_dev.py b/modules/source/06_cnn/cnn_dev.py similarity index 100% rename from modules/source/05_cnn/cnn_dev.py rename to modules/source/06_cnn/cnn_dev.py diff --git a/modules/source/05_cnn/cnn_dev_backup.py b/modules/source/06_cnn/cnn_dev_backup.py similarity index 100% rename from modules/source/05_cnn/cnn_dev_backup.py rename to modules/source/06_cnn/cnn_dev_backup.py diff --git a/modules/source/05_cnn/module.yaml b/modules/source/06_cnn/module.yaml similarity index 100% rename from modules/source/05_cnn/module.yaml rename to modules/source/06_cnn/module.yaml diff --git a/modules/source/06_dataloader/README.md b/modules/source/07_dataloader/README.md similarity index 100% rename from modules/source/06_dataloader/README.md rename to modules/source/07_dataloader/README.md diff --git a/modules/source/06_dataloader/dataloader_dev.py b/modules/source/07_dataloader/dataloader_dev.py similarity index 100% rename from modules/source/06_dataloader/dataloader_dev.py rename to modules/source/07_dataloader/dataloader_dev.py diff --git a/modules/source/06_dataloader/dataloader_dev_backup.py b/modules/source/07_dataloader/dataloader_dev_backup.py similarity index 100% rename from modules/source/06_dataloader/dataloader_dev_backup.py rename to modules/source/07_dataloader/dataloader_dev_backup.py diff --git a/modules/source/06_dataloader/module.yaml b/modules/source/07_dataloader/module.yaml similarity index 100% rename from modules/source/06_dataloader/module.yaml rename to modules/source/07_dataloader/module.yaml diff --git a/modules/source/07_autograd/README.md b/modules/source/08_autograd/README.md similarity index 100% rename from modules/source/07_autograd/README.md rename to modules/source/08_autograd/README.md diff --git a/modules/source/07_autograd/autograd_dev.py b/modules/source/08_autograd/autograd_dev.py similarity index 100% rename from modules/source/07_autograd/autograd_dev.py rename to modules/source/08_autograd/autograd_dev.py diff --git a/modules/source/07_autograd/autograd_dev_backup.py b/modules/source/08_autograd/autograd_dev_backup.py similarity index 100% rename from modules/source/07_autograd/autograd_dev_backup.py rename to modules/source/08_autograd/autograd_dev_backup.py diff --git a/modules/source/07_autograd/module.yaml b/modules/source/08_autograd/module.yaml similarity index 100% rename from modules/source/07_autograd/module.yaml rename to modules/source/08_autograd/module.yaml diff --git a/modules/source/08_optimizers/README.md b/modules/source/09_optimizers/README.md similarity index 100% rename from modules/source/08_optimizers/README.md rename to modules/source/09_optimizers/README.md diff --git a/modules/source/08_optimizers/module.yaml b/modules/source/09_optimizers/module.yaml similarity index 100% rename from modules/source/08_optimizers/module.yaml rename to modules/source/09_optimizers/module.yaml diff --git a/modules/source/08_optimizers/optimizers_dev.ipynb b/modules/source/09_optimizers/optimizers_dev.ipynb similarity index 100% rename from modules/source/08_optimizers/optimizers_dev.ipynb rename to modules/source/09_optimizers/optimizers_dev.ipynb diff --git a/modules/source/08_optimizers/optimizers_dev.py b/modules/source/09_optimizers/optimizers_dev.py similarity index 100% rename from modules/source/08_optimizers/optimizers_dev.py rename to modules/source/09_optimizers/optimizers_dev.py diff --git a/modules/source/09_training/README.md b/modules/source/10_training/README.md similarity index 100% rename from modules/source/09_training/README.md rename to modules/source/10_training/README.md diff --git a/modules/source/09_training/module.yaml b/modules/source/10_training/module.yaml similarity index 100% rename from modules/source/09_training/module.yaml rename to modules/source/10_training/module.yaml diff --git a/modules/source/09_training/training_dev.ipynb b/modules/source/10_training/training_dev.ipynb similarity index 100% rename from modules/source/09_training/training_dev.ipynb rename to modules/source/10_training/training_dev.ipynb diff --git a/modules/source/09_training/training_dev.py b/modules/source/10_training/training_dev.py similarity index 100% rename from modules/source/09_training/training_dev.py rename to modules/source/10_training/training_dev.py diff --git a/modules/source/10_compression/README.md b/modules/source/11_compression/README.md similarity index 100% rename from modules/source/10_compression/README.md rename to modules/source/11_compression/README.md diff --git a/modules/source/10_compression/compression_dev.ipynb b/modules/source/11_compression/compression_dev.ipynb similarity index 100% rename from modules/source/10_compression/compression_dev.ipynb rename to modules/source/11_compression/compression_dev.ipynb diff --git a/modules/source/10_compression/compression_dev.py b/modules/source/11_compression/compression_dev.py similarity index 100% rename from modules/source/10_compression/compression_dev.py rename to modules/source/11_compression/compression_dev.py diff --git a/modules/source/10_compression/module.yaml b/modules/source/11_compression/module.yaml similarity index 100% rename from modules/source/10_compression/module.yaml rename to modules/source/11_compression/module.yaml diff --git a/modules/source/11_kernels/README.md b/modules/source/12_kernels/README.md similarity index 100% rename from modules/source/11_kernels/README.md rename to modules/source/12_kernels/README.md diff --git a/modules/source/11_kernels/kernels_dev.ipynb b/modules/source/12_kernels/kernels_dev.ipynb similarity index 100% rename from modules/source/11_kernels/kernels_dev.ipynb rename to modules/source/12_kernels/kernels_dev.ipynb diff --git a/modules/source/11_kernels/kernels_dev.py b/modules/source/12_kernels/kernels_dev.py similarity index 100% rename from modules/source/11_kernels/kernels_dev.py rename to modules/source/12_kernels/kernels_dev.py diff --git a/modules/source/11_kernels/kernels_dev_backup.py b/modules/source/12_kernels/kernels_dev_backup.py similarity index 100% rename from modules/source/11_kernels/kernels_dev_backup.py rename to modules/source/12_kernels/kernels_dev_backup.py diff --git a/modules/source/11_kernels/module.yaml b/modules/source/12_kernels/module.yaml similarity index 100% rename from modules/source/11_kernels/module.yaml rename to modules/source/12_kernels/module.yaml diff --git a/modules/source/12_benchmarking/README.md b/modules/source/13_benchmarking/README.md similarity index 100% rename from modules/source/12_benchmarking/README.md rename to modules/source/13_benchmarking/README.md diff --git a/modules/source/12_benchmarking/benchmarking_dev.ipynb b/modules/source/13_benchmarking/benchmarking_dev.ipynb similarity index 100% rename from modules/source/12_benchmarking/benchmarking_dev.ipynb rename to modules/source/13_benchmarking/benchmarking_dev.ipynb diff --git a/modules/source/12_benchmarking/benchmarking_dev.py b/modules/source/13_benchmarking/benchmarking_dev.py similarity index 100% rename from modules/source/12_benchmarking/benchmarking_dev.py rename to modules/source/13_benchmarking/benchmarking_dev.py diff --git a/modules/source/12_benchmarking/module.yaml b/modules/source/13_benchmarking/module.yaml similarity index 100% rename from modules/source/12_benchmarking/module.yaml rename to modules/source/13_benchmarking/module.yaml diff --git a/modules/source/12_benchmarking/test_report.md b/modules/source/13_benchmarking/test_report.md similarity index 100% rename from modules/source/12_benchmarking/test_report.md rename to modules/source/13_benchmarking/test_report.md diff --git a/modules/source/13_mlops/README.md b/modules/source/14_mlops/README.md similarity index 100% rename from modules/source/13_mlops/README.md rename to modules/source/14_mlops/README.md diff --git a/modules/source/13_mlops/mlops_dev.ipynb b/modules/source/14_mlops/mlops_dev.ipynb similarity index 100% rename from modules/source/13_mlops/mlops_dev.ipynb rename to modules/source/14_mlops/mlops_dev.ipynb diff --git a/modules/source/13_mlops/mlops_dev.py b/modules/source/14_mlops/mlops_dev.py similarity index 100% rename from modules/source/13_mlops/mlops_dev.py rename to modules/source/14_mlops/mlops_dev.py diff --git a/modules/source/13_mlops/module.yaml b/modules/source/14_mlops/module.yaml similarity index 100% rename from modules/source/13_mlops/module.yaml rename to modules/source/14_mlops/module.yaml diff --git a/modules/source/13_mlops/test_report.md b/modules/source/14_mlops/test_report.md similarity index 100% rename from modules/source/13_mlops/test_report.md rename to modules/source/14_mlops/test_report.md