Loading...
Loading...
This course teaches concepts framework-agnostically, with code examples in PyTorch. Here's how the three major frameworks compare — and how to apply what you learn to each.
Dynamic graphs, research-first
The framework used throughout this course. PyTorch excels at research and rapid prototyping with its eager execution mode. Most LLM papers (GPT, LLaMA, Mistral) release PyTorch code first.
Functional, XLA-compiled, TPU-native
Google's high-performance ML framework. JAX combines NumPy-like syntax with automatic differentiation and XLA compilation. Ideal for TPU training and large-scale distributed workloads. Gemini and PaLM were trained with JAX.
Production-grade, deployment ecosystem
Google's mature ML framework with the strongest deployment story. TensorFlow Serving, TFLite, and TF.js make it easy to deploy models anywhere — from servers to phones to browsers. Keras 3 now supports JAX and PyTorch backends too.
| PyTorch | JAX | TensorFlow | |
|---|---|---|---|
| Execution Mode | Eager (dynamic) | JIT compiled (XLA) | Eager + Graph |
| Best Hardware | NVIDIA GPUs | Google TPUs | GPUs / TPUs / Edge |
| Learning Curve | Moderate | Steep (functional) | Easy (Keras) |
| Debugging | Excellent (pdb) | Hard (pure functions) | Good (eager mode) |
| Deployment | TorchServe / ONNX | SavedModel / custom | TF Serving / Lite / JS |
| Community | Largest (research) | Growing fast | Large (enterprise) |
We're building lecture supplements that show how to translate each PyTorch code example into JAX and TensorFlow. Follow the GitHub repo for updates.