Monitorch documentation#
A modular tool to inspect, log, and visualize neural network internals during training in PyTorch.
Quickstart
To install monitorch run
pip install monitorch
in your virtual environment.
To use monitorch it is enough to define an inspector as shown below
from monitorch.inspector import PyTorchInspector
from monitorch.lens import (
LossMetrics,
ParameterGradientGeometry,
OutputActivation
)
loss_fn = nn.NLLLoss() # Any loss
inspector = PyTorchInspector(
lenses = [
LossMetrics(loss_fn=loss_fn),
ParameterGradientGeometry(),
OutputActivation()
]
)
And to attach the inspector to a net that will be trained. At an end of an epoch or episode inspector must be ticked.
inspector.attach(custom_net)
for epoch in range(N_EPOCHS):
...
# Training and validation
# subloops remain the same
...
inspector.tick_epoch()
Lastly, if visualizer is set to "matplotlib" (default), figure must be shown.
fig = inspector.visualizer.show_fig()
Now you can see the training process in great detail!
For further examples see demonstration notebooks.
Author: Maksym Khavil Repository: ZhigaMason/monitorch