Skip to main content

Gradient field & loss landscape visualizer for PyTorch and NumPy

Project description

gradfield 🔥

Gradient field & loss landscape visualizer for PyTorch and NumPy

Visualize any function's loss surface, gradient arrows, and optimization trajectories — in an interactive 3D HTML chart. No server, no config, one function call.

Python PyPI License


Install

pip install gradfield

With PyTorch support:

pip install gradfield torch

Quick Start

Any Python function

from gradfield import sample_grid, render

field = sample_grid(
    lambda x, y: (1 - x)**2 + 100 * (y - x**2)**2,  # Rosenbrock
    x_range=(-2, 2),
    y_range=(-1, 3),
    resolution=80,
)

render(field, title="Rosenbrock Banana")
# Opens an interactive HTML in your browser ✓

PyTorch model loss landscape

import torch.nn as nn
from gradfield import model_loss_fn, sample_grid, render

landscape = model_loss_fn(
    model=my_model,
    loss_fn=nn.CrossEntropyLoss(),
    inputs=X_batch,
    targets=y_batch,
    scale=0.5,
)

field = sample_grid(landscape, resolution=50)
render(field, title="My Model Loss Landscape")

With optimization trajectories

import numpy as np

traj = np.array([[2.0, 2.0], [1.5, 1.5], [0.5, 0.5], [0.0, 0.0]])

render(field, trajectories=[traj], title="Gradient Descent Path")

API Reference

sample_grid(fn, x_range, y_range, resolution)

Sample a function over a 2D grid using NumPy central differences for gradients.

sample_grid_torch(fn, x_range, y_range, resolution)

Same as above but uses torch.autograd for exact gradients.

model_loss_fn(model, loss_fn, inputs, targets, scale)

Wraps a PyTorch model into a 2D landscape function using random filter-normalized directions (Li et al. 2018).

render(field, trajectories, title, output, colorscale, show_gradients)

Render the sampled field as an interactive Plotly HTML with:

  • 3D surface plot
  • 2D contour map
  • Gradient vector field overlay
  • Optimization trajectory paths

Examples

cd examples
python example_numpy.py       # Rosenbrock + gradient descent
python example_torch_model.py # MLP on XOR loss landscape

Roadmap

  • C++ accelerated grid sampler via pybind11
  • 1D loss curve along a direction
  • SGD / Adam / RMSProp built-in trajectory recorders
  • Jupyter widget support
  • Multi-trajectory comparison

License

MIT — built with ❤️ by Aman

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gradfield-0.3.0.tar.gz (11.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gradfield-0.3.0-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

Details for the file gradfield-0.3.0.tar.gz.

File metadata

  • Download URL: gradfield-0.3.0.tar.gz
  • Upload date:
  • Size: 11.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for gradfield-0.3.0.tar.gz
Algorithm Hash digest
SHA256 87d5c82355c38610b9115906141d062e48c763ff9e984b283d3f75b91cb7505a
MD5 526da5a357f12eec703d281764144a1a
BLAKE2b-256 858b9091ac161be431a03365e4515a5f4a25fa94290ed3071da018fdb11a52ac

See more details on using hashes here.

File details

Details for the file gradfield-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: gradfield-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 11.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for gradfield-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cdb67ef98611c89885a06f0151c2e9184927ced62ea2fb04abc5e4a3b3367c3f
MD5 cb575747225d2f0e2ef28c81f6567219
BLAKE2b-256 9224c1b96ebb0e3467872de837c513cd9afbfd6f8da080df1d37bc02020b3d27

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page