This repository contains the various files for the PACMAN Julia AD workshop @ UBC, Feb 2024.
PACMAN: https://sites.google.com/view/pacman-ubc
We provide Julia notebooks in this repository. The two main ingredients required are Jupyter Notebook and Julia (> 1.9 recommended).
VScode is recommended. To install Julia and the VScode extension:
https://www.julia-vscode.org/docs/stable/gettingstarted/
To set up the Jupyter notevbook kernel:
https://www.matecdev.com/posts/julia-introduction-vscode.html
The files for each session are given below.
- Automatic differentiation for multivariate functions and pushforward/pullback
- Example: Multi-layer perceptron (MLP)
TBC
- More links to resources for learning AD: https://juliadiff.org/ChainRulesCore.jl/previews/PR282/FAQ.html#Where-can-I-learn-more-about-AD-
- Julia code examples, a bit outdate but it is still nice: https://github.com/MikeInnes/diff-zoo
- Explaining adjoint method (i.e. backward mode) with an example of recurrence relations: https://math.mit.edu/~stevenj/18.336/recurrence2.pdf