How mcmahon-lab/physics-aware-training works
This repository is an educational demonstration of Physics-Aware Training (PAT) for simulated physical neural networks, rather than a conventional package. The main user workflow is to run a notebook example that constructs and trains a PNN for a classification or autodifferentiable-function task, then inspect its output; precomputed training artifacts are also present. The standalone Python files provide a generic PAT autograd-function builder and RK4 ODE helpers. The README says examples are largely self-contained notebooks, and their contents were not sampled, so links from those notebooks to the standalone helpers are not asserted.
Main entry points: pat.py PAT autograd builder · Example 1 MNIST classification with PNN.ipynb MNIST PNN · Example 2 Fashion MNIST classification with PNN and PAT.ipynb Fashion PNN · Example 3 Toy example of a PAT autodifferentiable function.ipynb PAT toy function
Components 7
Notebook examples
- MNIST PNN
Example 1 MNIST classification with PNN.ipynb - Fashion PNN
Example 2 Fashion MNIST classification with PNN and PAT.ipynb - PAT toy function
Example 3 Toy example of a PAT autodifferentiable function.ipynb
Training runtime
- PAT autograd builder
pat.py - RK4 ODE solver
ode_utils.py
Training artifacts
- Precomputed results
training_logs/precomputed_results
Other components
- Learner
Connections 6
- Learner → MNIST PNN: runs example
README.md - Learner → Fashion PNN: runs example
README.md - Learner → PAT toy function: runs example
README.md - MNIST PNN → PAT autograd builder: uses PAT
- Fashion PNN → PAT autograd builder: uses PAT
- PAT toy function → PAT autograd builder: uses PAT