Skip to main content
grasp.study
About
Explore
Pricing
Log in
Try it for free
Back to course
👋
Welcome to a Grasp lesson
Create a free account
to keep studying and create your own study path.
JAX for PyTorch Users
·
Module 5
Building Neural Networks with Equinox
1
Equinox: Models as Pytrees
Explain Equinox's philosophy: models as pytrees of arrays with no separate parameter dictionaries.
2
Building Custom Equinox Modules
Define a custom eqx.Module subclass with parameters, submodules, and static fields.
Building Blocks of Neural Networks with JAX: Layers and PRNG Keys
Implement common layers (Linear, LayerNorm, Dropout) and explain how PRNG keys are threaded through the model.
4
Filtering and Combining Trainable Parameters with eqx
Use eqx.filter, eqx.partition, and eqx.combine to separate trainable arrays from static data.
5
Efficient Equinox Model Training with `filter_jit` and `filter_grad`
Apply eqx.filter_jit and eqx.filter_grad to train Equinox models cleanly.
6
Conditional Dropout and PRNG Key Management
Use an inference-mode flag to conditionally apply operations like dropout, demonstrating correct PRNG key management.
7
Stateful Model Partitioning
Manage and update evolving state (e.g., BatchNorm running statistics) by partitioning the model and returning updated state from the forward pass.
Next module isn't ready yet,
Back to course
Previous module
Automatic Differentiation in Depth
Next module