Commit Graph

9483 Commits

Author SHA1 Message Date
Vijay Janapa Reddi
7b43dc5ff5 Merge dev into feature/tinytorch-core 2026-02-10 13:10:48 -05:00
kai
f05bb12cb2 updated the iframe login issues 2026-02-10 10:25:11 -05:00
kai
1178d21600 flow with particles as new timeline opening 2026-02-09 17:46:03 -05:00
kai
e95c9d96c7 updating antialiasing ant crawl issue...arxiv 2026-02-09 08:15:18 -05:00
github-actions[bot]
2ac790601e chore(tinytorch): bump version to tinytorch-v0.1.8 2026-02-07 20:55:09 +00:00
github-actions[bot]
b01b83506b docs: add @Takosaga as tinytorch contributor for doc, bug 2026-02-06 12:10:07 +00:00
Dang Truong
af23c13999 fix small typo (#1163) 2026-02-06 02:09:30 -05:00
Vijay Janapa Reddi
956e7277c8 feat(site): auto-generate team page from .all-contributorsrc
Add generate_team.py script that reads .all-contributorsrc and generates
the team.md page automatically. This keeps the website team page in sync
with the README contributors.

- Add tinytorch/site/scripts/generate_team.py
- Update both deploy workflows to run the script before building
- Contributors added via @all-contributors now appear on the website

The script runs during site build, so team.md stays fresh with each deploy.
2026-02-05 20:25:02 -05:00
github-actions[bot]
6c33a3e3ab docs: add @oscarf189 as tinytorch contributor for doc 2026-02-06 01:20:45 +00:00
Vijay Janapa Reddi
c1c8c11eec fix(layers): correct Xavier/Glorot initialization terminology
The formula sqrt(1/fan_in) is actually LeCun initialization (1998),
not Xavier/Glorot. True Xavier uses sqrt(2/(fan_in+fan_out)).

- Rename XAVIER_SCALE_FACTOR → INIT_SCALE_FACTOR
- Update all comments to say "LeCun-style initialization"
- Add note explaining difference between LeCun, Xavier, and He init
- Keep the simpler formula for pedagogical clarity

Fixes #1161
2026-02-05 20:11:50 -05:00
Vijay Janapa Reddi
852bc5c2fc fix(ci): download slide decks from release during deployment
Slides were not loading on the live site because the PDFs exist in a
GitHub Release (tinytorch-slides-v0.1.0) but were never downloaded
during the build process. The .gitignore has *.pdf which prevents
slides from being committed to git.

Add a step to both deployment workflows to download all slide PDFs
from the release and inject them into _static/slides/ before deploy.

Fixes harvard-edge/cs249r_book#1162
2026-02-05 15:43:55 -05:00
kai
0cfebb6f42 index.html comm site with arxiv 2026-02-04 22:23:11 -05:00
Vijay Janapa Reddi
118df45d41 ci: trigger validation workflow after bibtex tidy fix 2026-02-04 11:59:29 -05:00
github-actions[bot]
1c0fac8aae Update contributors list [skip ci] 2026-02-04 16:42:46 +00:00
Vijay Janapa Reddi
ddca8652ce fix(contributors): merge duplicate Andrea entries in TinyTorch
AndreaMattiaGaravagn (truncated) and AndreaMattiaGaravagno were listed
as separate contributors. Merged into a single entry with the correct
username, avatar, and combined contributions (code + doc).
2026-02-04 11:29:34 -05:00
Vijay Janapa Reddi
299fcc14e1 style(paper): tidy references.bib for pre-commit compliance
Fix line wrapping and add trailing newline to pass bibtex-tidy
pre-commit hook.
2026-02-04 10:44:02 -05:00
github-actions[bot]
ee0c1a75f3 Update contributors list [skip ci] 2026-02-04 15:35:29 +00:00
Vijay Janapa Reddi
d01b1acd4b Merge feature/tinytorch-core: fix Jupyter kernel mismatch (#1147) 2026-02-04 10:28:52 -05:00
Vijay Janapa Reddi
25fc9e4848 fix(tito): resolve Jupyter kernel mismatch causing ModuleNotFoundError (#1147)
Students hit "No module named 'tinytorch.core.tensor'" in notebooks because
the Jupyter kernel used a different Python than where tinytorch was installed.

- setup: install ipykernel + nbdev, register named kernel during tito setup
- health: add Notebook Readiness checks (import, kernel, Python match)
- export: verify exported file exists and has content (fail loudly)
- Windows: add get_venv_bin_dir() helper for cross-platform venv paths
2026-02-04 10:24:37 -05:00
Vijay Janapa Reddi
3a2b1bf482 fix(ci): use head_ref for PR branch in fresh install test
On PR events, github.ref_name resolves to the merge ref (e.g.
"1159/merge") which doesn't exist on raw.githubusercontent.com,
causing a 404. Use github.head_ref (the actual source branch)
for PRs, falling back to ref_name for push events.

Also adds -f flag to curl so HTTP errors fail immediately with
a clear message instead of silently saving the 404 HTML page.
2026-02-04 10:06:25 -05:00
Vijay Janapa Reddi
24ab7599c6 fix(paper): escape special LaTeX characters breaking PDF build
Escape unescaped & characters in references.bib (Taylor & Francis,
AI & Machine-Learning) and replace Unicode em-dashes (U+2014) with
LaTeX --- ligatures in paper.tex for T1 font compatibility.
2026-02-04 10:05:32 -05:00
Vijay Janapa Reddi
0be9325fbe fix(workflow): deterministic project detection in all-contributors
LLM now only parses username + contribution types (strict 2-field JSON).
Project detection is fully deterministic from file paths:
  tinytorch/ → tinytorch, book/ → book, kits/ → kits, labs/ → labs

If project cannot be determined, the bot asks the user instead of
silently defaulting to book. Also removes @AndreaMattiaGaravagno
from book/.all-contributorsrc (was incorrectly added there by the
old workflow — their PR only touched tinytorch/ files).
2026-02-04 10:03:20 -05:00
Vijay Janapa Reddi
d2c875c919 fix(ci): handle branch names with slashes in fresh install test
fix(ci): handle branch names with slashes in fresh install test
2026-02-04 09:00:38 -05:00
Vijay Janapa Reddi
19093cec1b fix(ci): use pipe delimiter in sed to handle branch names with slashes
The fresh install test script used / as the sed delimiter when
substituting the branch name, which breaks on any branch containing /
(e.g. feature/foo, fix/bar, or GitHub merge refs like 1156/merge).
2026-02-04 09:00:20 -05:00
Vijay Janapa Reddi
0ae32c9f6a Merge feature/tinytorch-core: expand GELU docs with both approximation forms
docs(activations): expand GELU explanation with both approximation forms
2026-02-04 08:49:59 -05:00
Vijay Janapa Reddi
4fb5173503 docs(activations): expand GELU explanation with both approximation forms
Show the exact definition, tanh approximation, and sigmoid approximation
side by side so students understand where 1.702 comes from and why we
chose the sigmoid form. Avoids erf notation in favor of plain-language
description of Φ(x) appropriate for Module 2 students.

Related to harvard-edge/cs249r_book#1154
2026-02-04 08:49:41 -05:00
Vijay Janapa Reddi
1d8d76bd95 Merge feature/tinytorch-core: fix GELU hint about 1.702 constant (fixes #1154)
fix(activations): correct GELU hint about 1.702 constant
2026-02-04 08:43:17 -05:00
Vijay Janapa Reddi
c3a9230ea8 fix(activations): correct misleading GELU hint about 1.702 constant
The hint claimed 1.702 comes from √(2/π) ≈ 0.798, which is incorrect.
The 1.702 constant is empirically fitted so that sigmoid(1.702x) ≈ Φ(x),
the Gaussian CDF. The √(2/π) constant appears in the separate tanh-based
GELU approximation, not the sigmoid approximation used here.

Fixes harvard-edge/cs249r_book#1154
2026-02-04 08:42:58 -05:00
Vijay Janapa Reddi
85ed754354 Merge feature/tinytorch-core: fix attention complexity and memory table (fixes #1150)
fix(attention): correct complexity explanation and memory table bug
2026-02-04 08:37:57 -05:00
Vijay Janapa Reddi
20a4ba2379 fix(attention): correct O(n²) complexity explanation and memory table bug
- Clarify that attention time complexity is O(n²×d), not O(n²), since each
  of the n² query-key pairs requires a d-dimensional dot product
- Fix Total Memory column in analyze_attention_memory_overhead() which was
  duplicating the Optimizer column instead of summing all components
- Update KEY INSIGHT multiplier from 4x to 7x to match corrected total

Fixes harvard-edge/cs249r_book#1150
2026-02-04 08:37:32 -05:00
github-actions[bot]
1a80e57fa0 docs: add @AndreaMattiaGaravagno as book contributor for code 2026-02-04 03:25:37 +00:00
Vijay Janapa Reddi
819ed75bc1 Merge pull request #1151 from AndreaMattiaGaravagno/feature/step-by-step-milestone-visualization
feat: add step-by-step visualization to milestones
2026-02-03 22:21:46 -05:00
github-actions[bot]
a33d600fbd docs: add @AndreaMattiaGaravagno as tinytorch contributor for code 2026-02-04 03:20:48 +00:00
Vijay Janapa Reddi
3e3a635a70 Merge pull request #1152 from AndreaMattiaGaravagno/fix/milestone-frame-alignment
fix(tito-milestone): align bold cyan frame
2026-02-03 22:17:26 -05:00
Vijay Janapa Reddi
d596c3bb0f Merge pull request #1153 from harvard-edge/fix/auto-label-permissions
fix(ci): auto-label permissions for fork PRs
2026-02-03 22:08:38 -05:00
Vijay Janapa Reddi
83a3ce3712 fix(ci): use pull_request_target for auto-label write permissions
Fork PRs downgrade GITHUB_TOKEN to read-only, causing 403 when
applying labels. pull_request_target runs in the base repo context
and grants the declared write permissions.
2026-02-03 22:08:20 -05:00
Vijay Janapa Reddi
7665a3662c Merge feature/tinytorch-core: team page, slide viewers, site-only deploy 2026-02-03 15:41:19 -05:00
Vijay Janapa Reddi
05500f6bc2 refactor(workflow): add site_only option to TinyTorch publish workflow
Instead of a separate workflow, adds a 'site_only' boolean checkbox
to the existing Publish (Live) workflow. When checked:
- Skips version bump (pyproject.toml, badges, installer, announcement)
- Skips PDF generation
- Skips tag creation and GitHub Release

The build & deploy steps still run identically. One workflow, two modes.
Removes the previously added tinytorch-deploy-site-only.yml.
2026-02-03 14:26:14 -05:00
Vijay Janapa Reddi
a143385f86 feat(workflow): add website-only deploy for TinyTorch (no version bump)
Adds a new workflow 'TinyTorch · 🌐 Deploy Site Only' for deploying
website content updates without triggering version bumps, tags, or
releases. Ideal for:
- Typo fixes
- Team page updates
- CSS/styling changes
- Documentation updates

Use 'Publish (Live)' for versioned releases, 'Deploy Site Only' for
quick website-only updates.
2026-02-03 14:22:40 -05:00
AndreaMattiaGaravagno
668a50af87 feat: add step-by-step visualization to milestones 2026-02-03 19:42:21 +01:00
Vijay Janapa Reddi
30a267a793 feat(site): add Team page and reorganize Community section
- Add new Team page featuring core staff and contributors
- Vijay Janapa Reddi (Nerdy Professor), Andrea Garavagno (Tech Lead),
  Kari Janapareddi (Chief of Staff), Kai Kleinbard (Web Wizard)
- Display community staff side-by-side with fun role titles
- Move Acknowledgments to separate page for MiniTorch/micrograd credits
- Add contributor generator script for future automation
- Update navigation: Team → Ecosystem → Acknowledgments
2026-02-03 13:41:10 -05:00
Vijay Janapa Reddi
0c7509ff35 feat(site): add embedded PDF slide viewer to all module pages
Replace the slide download card with an inline PDF viewer using PDF.js:
- Change grid layout from 4 cards (2x2) to 3 cards in a row
- Add embedded slide viewer with navigation, zoom, and fullscreen
- Load slides from local _static/slides/ for reliable CORS handling
- Add "· AI-generated" subtitle to match audio card pattern
- Use 🔥 icon consistently across all viewers

Affected: 20 module ABOUT.md files + big-picture.md
2026-02-03 12:06:52 -05:00
Vijay Janapa Reddi
e8ffd090e3 fix(paper): normalize BibTeX escaping in references.bib
Standardize LaTeX accent escaping and ampersand formatting for
consistency across bibliography entries.
2026-02-03 10:23:51 -05:00
AndreaMattiaGaravagno
5f6a8468f3 fix(tito-milestone): align bold cyan frame and correct "Press Enter" color 2026-02-03 12:24:18 +01:00
github-actions[bot]
cb564234a4 docs: add @AndreaMattiaGaravagn as tinytorch contributor for doc 2026-02-01 15:03:42 +00:00
AndreaMattiaGaravagno
ad94870ed2 docs(slides): specify genai usage (#1149) 2026-02-01 10:01:47 -05:00
kai
9d8e54776a restoring init file that was accidently changed 2026-01-30 15:28:19 -05:00
kai
3409e91322 updated the bundle remove auto o 2026-01-30 15:23:23 -05:00
kai
6cbdbe56ea bundle for socratiq button on 2026-01-30 15:09:00 -05:00
kai
b6201fda8b :::Merge branch 'dev' of github.com:harvard-edge/cs249r_book into dev 2026-01-30 14:14:31 -05:00