PulseML
Pulse — a live ML training debugger, GUI or CLI, any backend.
Pulse is a live machine learning training debugger designed to monitor tensors, track metrics, visualize heatmaps and line charts, and interact with an integrated AI analyst.
Key Features
- GUI Mode — Opens an interactive matrix picker with live shapes, followed by a live dashboard with a heatmap grid and an integrated AI chat panel.
- Smart Scalars — Scalars (loss, accuracy, learning rate) automatically render as live step-charts rather than heatmaps. Loss-like scalars are auto-detected and pre-selected in the picker.
- CLI Mode — Built for Colab, SSH, or headless environments, printing tensor stats step-by-step, displaying live ASCII charts for scalars, and supporting optional labeled PDF snapshots. Supports pausing training so you can tag new matrices or ask the AI to interpret results, right from the terminal.
- Universal Backend Support — Automatically detects and works with NumPy, PyTorch, TensorFlow, CuPy, and JAX via a shared backend abstraction layer.
- High Performance — Keeps overhead low by converting tensors to
host-side NumPy arrays, reusing Matplotlib figures (
set_data) instead of rebuilding them every step, and matching render sizes to the actual on-screen thumbnail. - Pulse AI Analyst — A context-aware chat panel briefed on its role that can inspect live matrix statistics, heatmaps, and your training code when "Send Code" is enabled.
Past Debugs
- Debugged a custom LLM after a vocab size increase (2.5x) by catching a
normalization bug — dividing residual growth by
math.sqrt(num_layers)instead ofnum_layers— that let activations blow up and halted training. - Debugged another developer's custom attention mechanism producing NaN loss, tracing it to a missing infinity check before a division.
See pulsedb.netlify.app for screenshots of matrix selection, the live dashboard, and the CLI view.
Install
pip install pulseml
tkinter is required for GUI mode and ships with most Python installs.
On Debian/Ubuntu, if it's missing:
sudo apt install python3-tk
For CLI-mode PDF snapshots, fpdf2 is installed automatically as part of
the base package.
To also track PyTorch, TensorFlow, CuPy, or JAX tensors, install the matching extra:
pip install "pulseml[torch]"
pip install "pulseml[tensorflow]"
pip install "pulseml[cupy]"
pip install "pulseml[jax]"
Quickstart
Import auto_track and call it right before your training loop starts.
Make sure your loop is wrapped in if __name__ == '__main__':.
from pulse import auto_track
if __name__ == '__main__':
auto_track() # pass your training function for shape discovery, or call directly
# Your training loop
for epoch in range(num_epochs):
# Training logic here
pass
AI Chat & API Keys
To enable the AI chat panel, set the relevant provider's API key as an
environment variable (e.g. ANTHROPIC_API_KEY, OPENAI_API_KEY,
GEMINI_API_KEY, DEEPSEEK_API_KEY) — or leave it unset and Pulse will
prompt you for one inside the GUI the first time you send a message.
License
Proprietary. See LICENSE. Use of this software is governed by the
terms in that file — copying, redistribution, and reverse engineering
are not permitted.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pulseml-0.1.1.tar.gz.
File metadata
- Download URL: pulseml-0.1.1.tar.gz
- Upload date:
- Size: 43.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
da9023d3bb1dc191ddfa200d06831fa967ce7c7ae07290f729952e6d5b5862cc
|
|
| MD5 |
928414a5ed5ee7826c600d140541d068
|
|
| BLAKE2b-256 |
e3df95b1ddfa56a0461bc356919c6ce1361f10d33e46bcb80bd1e963d01bcf5d
|
File details
Details for the file pulseml-0.1.1-py3-none-any.whl.
File metadata
- Download URL: pulseml-0.1.1-py3-none-any.whl
- Upload date:
- Size: 42.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5bfb5e90db4363fdd6eba6cd32a39db8c504081107fa452998d333257db52f3d
|
|
| MD5 |
76f7d00aa0b1bc1ea23e27ee8924f2cf
|
|
| BLAKE2b-256 |
60af18b3ee20fb3c837c87b6a4ac04a923e24c46a9919662353b43231d5e389c
|