Don't train deep learning models blindfolded! Be impatient and look at each epoch of your training!
A live training loss plot in Jupyter Notebook for Keras, PyTorch and other frameworks. An open source Python package by Piotr Migdał.
from livelossplot import PlotLossesKeras
model.fit(X_train, Y_train,
epochs=10,
validation_data=(X_test, Y_test),
callbacks=[PlotLossesKeras()],
verbose=0)
So remember, log your loss!
- (The most FA)Q: Why not TensorBoard?
- A: Jupyter Notebook compability (for exploration and teaching). Simplicity of use.
To install this verson from PyPI, type:
pip install livelossplot
To get the newest one from this repo (note that we are in the alpha stage, so there may be frequent updates), type:
pip install git+git://github.com/stared/livelossplot.git
Look at notebook files with full working examples:
- keras_example.ipynb - a Keras callback
- minimal_example.ipynb - a bare API, to use anyware
- pytorch_example.ipynb - a bare API, as applied to PyTorch
Text logs are easy, but it's easy to miss the most crucial information: is it learning, doing nothing or overfitting?
Visual feedback allows us to keep track of the training proces. Now there is one for Jupyter.
If you want to get serious - use TensorBoard or even better - Neptune - Machine Learning Lab (as it allows to compare between models, in a Kaggle leaderboard style).
But what if you just want to train a small model in Jupyter Notebook? Here is a way to do so, using livelossplot
as a plug&play component.
It started as this gist. Since it went popular, I decided to rewrite it as a package.
- Add Bokeh backend
- History saving
- Add connectors to Tensorboard and Neptune
If you want more functionality - open an Issue or even better - prepare a Pull Request.