Neural Network Training Example - Jax Typing CST Test
Loading…
Neural Network Training Example — Jax Code
Training a small neural network using JAX and gradient descent.
import jax.numpy as jnp
from jax import grad
# Data
X = jnp.array([[1.0],[2.0],[3.0],[4.0]])
y = jnp.array([2.0,4.0,6.0,8.0])
# Parameters
w = 0.0
b = 0.0
# Prediction
def predict(w, b, X):
return w * X + b
# Loss
def loss(w, b):
y_pred = predict(w, b, X)
return jnp.mean((y - y_pred)**2)
grad_loss = grad(loss, argnums=(0,1))
# Gradient descent
for _ in range(1000):
dw, db = grad_loss(w, b)
w -= 0.01 * dw
b -= 0.01 * db
print('Learned w,b:', w, b)Jax Language Guide
JAX is an open-source Python library for high-performance numerical computing, combining NumPy-like API with automatic differentiation (autograd), GPU/TPU acceleration, and composable function transformations for machine learning and scientific computing.
Primary Use Cases
- ▸High-performance machine learning and deep learning model development
- ▸Gradient-based optimization and automatic differentiation
- ▸Physics simulations and scientific computing requiring differentiable functions
- ▸Research in reinforcement learning and generative models
- ▸GPU/TPU accelerated numerical computing at scale
Notable Features
- ▸NumPy-compatible API with hardware acceleration
- ▸Automatic differentiation with `grad`
- ▸Just-in-time compilation (`jit`) for optimized performance
- ▸Vectorization (`vmap`) and parallelization (`pmap`) of functions
- ▸Composable transformations for advanced research pipelines
Origin & Creator
JAX was developed by researchers at Google Research starting in 2018, building on Autograd and XLA (Accelerated Linear Algebra) to enable high-performance, differentiable programming.
Industrial Note
JAX is widely used in cutting-edge machine learning research, physics simulations, reinforcement learning, and differentiable programming, where composable gradients and hardware acceleration are essential.