Dynamically updating plots in Jupyter notebooks, e.g. for visualizing training progress.
Project description
trainplot
Dynamically updating plots in Jupyter notebooks, e.g. for visualizing training progress. Inspired by livelossplot.
Installation
pip install trainplot
Usage
In your Jupyter notebook import it using:
from trainplot import TrainPlot
Then you can use it like this:
trainplot = TrainPlot()
for i in range(100):
trainplot(i = i+random.random()*10, root = i**.5*3)
time.sleep(0.1)
trainplot.close()
It also works with tqdm
and printing:
trainplot = TrainPlot()
for i in trange(50):
trainplot(i=i, root=i**.5)
if i % 10 == 0:
print(f'currently at {i} iterations')
time.sleep(0.1)
trainplot.close()
You can also add a bunch of custumizations, e.g.:
trainplot = TrainPlot(
update_period=.2,
fig_args=dict(nrows=2, ncols=2, figsize=(10, 8), gridspec_kw={'height_ratios': [1, 1], 'width_ratios': [1, 1]}),
plot_pos={'loss': (0, 0, 0), 'accuracy': (0, 1, 0), 'val_loss': (1, 0, 0), 'val_accuracy': (1, 1, 0)},
plot_args={'loss': {'color': 'orange'}, 'accuracy': {'color': 'green'}, 'val_loss': {'color': 'orange', 'label': 'validation loss'}, 'val_accuracy': {'color': 'green', 'label': 'validation accuracy'}},
)
for i in range(100, 200):
trainplot(step=i, loss=(i/100-2)**4, accuracy=i/2, val_loss=(i/100-2.1)**4, val_accuracy=i/2.1)
time.sleep(0.1)
trainplot.close()
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
trainplot-0.1.1.tar.gz
(5.9 kB
view hashes)
Built Distribution
Close
Hashes for trainplot-0.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9d23772754bf8f3101f7b88b9d40d43169c46d849ca4760491a5290850be6c9f |
|
MD5 | d28f07bbd3fc0aeb51b84b7ccb2a3908 |
|
BLAKE2b-256 | 9cd34849a1e631e76f86f70ad7b7568f3e52c93d0354a4fbd7a287c84eded0b7 |