GitHub - opherdonchin/ProbabilisticMachineLearning: Website for developing a course on probabilistic machine learning · GitHub
Skip to content

About

Website for developing a course on probabilistic machine learning

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1,009 Commits

Folders and files

Repository files navigation

ProbabilisticMachineLearning

Course-development repository for probabilistic machine learning.

Course architecture

The course's intellectual purpose and mathematical progression are defined in course_architecture.typ (PDF). Detailed proposed teaching allocations, Murphy readings, notebook practice and reference material are in the curriculum map (PDF). The student syllabus summarizes the plan; architecture_audit.md tests scope proposals. The actual curriculum map will be filled in alongside the proposed map as teaching proceeds; no class has yet been taught.

Notebook development

The student runtime is Google Colab; uv provides the reproducible local check in the repository's standard .venv.

uv sync --locked
uv run python scripts/execute_notebook.py Lectures/L01_Probability_Statistics/coin_model.ipynb --expect-file figures/coin_model__prior_likelihood_posterior.svg --expect-file figures/coin_model__sequential_updating.svg --expect-file figures/coin_model__posterior_predictive.svg --expect-file figures/coin_model__sampling_monte_carlo.svg
uv run python scripts/execute_notebook.py Lectures/L01_Probability_Statistics/task_examples_figures.ipynb --expect-file figures/task_examples_figures__prediction_iris_logistic.svg --expect-file figures/task_examples_figures__generation_vae_samples.png --expect-file figures/task_examples_figures__discovery_gmm_clusters.svg --expect-file figures/task_examples_figures__action_active_learning.svg --expect-file figures/task_examples_figures__iris_prediction.svg --expect-file figures/task_examples_figures__iris_generation.svg --expect-file figures/task_examples_figures__iris_discovery.svg --expect-file figures/task_examples_figures__iris_action.svg --expect-file figures/task_examples_figures__iris_four_questions.svg
uv run jupyter lab

To intentionally regenerate the figures produced by a notebook, run the same notebook-check command with --in-place and review the resulting figure changes.

task_examples_figures.ipynb also pulls in scikit-learn and a CPU build of torch, on top of the NumPy/SciPy/Matplotlib baseline used by coin_model.ipynb; both are pinned in pyproject.toml (torch resolves from the pytorch-cpu extra index configured in [tool.uv.sources]). Only the VAE cell needs torch; every figure draws from its own seeded generator, so that cell can be skipped without changing any other figure.

L01's supplied plotting functions live in src/plots.py. The development notebook imports this local module; the published student notebook fetches the same file from the current main of the student repository. The notebook retains its model and mathematical calculations. Hosted Colab validation is still required before publication.

Before publishing a notebook, connect it to the course-target runtime through the official Google Colab VS Code extension and run every cell from a fresh hosted runtime. The current baseline is Colab 2026.07 on CPU.

Student publishing

This repository is the development source for the student materials repository. Only files deliberately staged in public_content/ are mirrored to students. See student publishing instructions for Snakemake installation, explicit publication targets, credential setup, checks, initial-history preservation and semester archival.

The default snakemake --cores 1 build writes only under ignored build/ and never stages student content. Publishing a lesson notebook or slide deck requires an explicitly named publish_* rule and an instructor-authorized commit changing public_content/. The first authenticated synchronization is deliberately manual; later snapshot changes trigger GitHub Actions.

About

Website for developing a course on probabilistic machine learning

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages