Training Progress Visualizer
Plot loss, accuracy, and learning rate curves for any training run. Paste CSV epoch data or use the built-in demo. Overfitting is flagged automatically.
Built by Michael Lip
Paste CSV — header: epoch,loss,val_loss,accuracy,val_accuracy,lr
(omit columns you don't have; only epoch and at least one metric required)
Frequently Asked Questions
What CSV format does this tool accept?
The first row must be a header. Required column: epoch. Optional columns (any combination): loss, val_loss, accuracy, val_accuracy, lr. Columns in any order. Extra columns are ignored. Values must be numeric.
How is overfitting detected?
When val_loss and loss are both present, the tool computes the ratio val_loss / loss at each epoch. When this ratio exceeds the configured threshold (default 1.15) for 3 or more consecutive epochs, an overfitting annotation is drawn on the chart at the first divergence point.
What does the smoothing parameter do?
Smoothing applies exponential moving average (EMA) to each series before plotting. A value of 0 means no smoothing. A value of 0.9 applies heavy smoothing. This matches the smoothing slider in TensorBoard.
How do I zoom and pan the chart?
Scroll the mouse wheel over the chart to zoom in/out along the epoch axis. Click and drag left/right to pan. Press Reset Zoom or use the button to return to full view.
What LR schedules are available?
If your CSV includes a lr column the actual values are plotted. The dropdown overlays a synthetic schedule on top: step decay (halve every 10 epochs), cosine annealing, or linear warmup followed by cosine decay. This is useful for planning before a run.
How It Works
All rendering uses the browser's native Canvas 2D API — no external charting library is loaded. The chart engine handles multi-axis scaling (loss/accuracy on the left, LR on the right), zoom/pan state, and PNG export via canvas.toDataURL().
Overfitting detection scans for sustained val/train divergence above your chosen threshold. The annotation marker is drawn directly on the canvas and included in exported images.
Related Tools
Privacy
All data stays in your browser. No CSV rows are sent anywhere. Source is on GitHub.
Contact
EpochPilot is maintained by Michael Lip. Questions: [email protected].