Skip to content
This repository has been archived by the owner on Jul 9, 2021. It is now read-only.

labmlai/app

Repository files navigation

⚠️ This repo has been moved to labml/app

Mobile first web app to monitor PyTorch & TensorFlow model training

Relax while your models are training instead of sitting in front of a computer

PyPI - Python Version PyPI Status Slack Docs Twitter

This is an open-source library to push updates of your ML/DL model training to mobile. Here's a sample experiment

You can host this on your own. We also have a small AWS instance running. and you are welcome to use it. Please consider using your own installation if you are running lots of experiments. Thanks.

Notable Features

  • Mobile first design: web version, that gives you a great mobile experience on a mobile browser.
  • Model Gradients, Activations and Parameters: Track and compare these indicators independently. We provide a separate analysis for each of the indicator types.
  • Summary and Detail Views: Summary views would help you to quickly scan and understand your model progress. You can use detail views for more in-depth analysis.
  • Track only what you need: You can pick and save the indicators that you want to track in the detail view. This would give you a customised summary view where you can focus on specific model indicators.
  • Standard ouptut: Check the terminal output from your mobile. No need to SSH.

How to use it ?

  1. Install the labml client library.
pip install labml
  1. Start pushing updates to the app with two lines of code. Refer to the examples below.
  2. Click on the link printed in the terminal to open the app. View Run

Examples

  1. Pytorch Open In Colab Kaggle
from labml import tracker, experiment

with experiment.record(name='sample', exp_conf=conf):
    for i in range(50):
        loss, accuracy = train()
        tracker.save(i, {'loss': loss, 'accuracy': accuracy})
  1. PyTorch Lightning Open In Colab Kaggle
from labml import experiment
from labml.utils.lightening import LabMLLighteningLogger

trainer = pl.Trainer(gpus=1, max_epochs=5, progress_bar_refresh_rate=20, logger=LabMLLighteningLogger())

with experiment.record(name='sample', exp_conf=conf, disable_screen=True):
        trainer.fit(model, data_loader)
  1. TensorFlow 2.0 Keras Open In Colab Kaggle
from labml import experiment
from labml.utils.keras import LabMLKerasCallback

with experiment.record(name='sample', exp_conf=conf):
    for i in range(50):
        model.fit(x_train, y_train, epochs=conf['epochs'], validation_data=(x_test, y_test),
                  callbacks=[LabMLKerasCallback()], verbose=None)

Citing LabML

If you use LabML for academic research, please cite the library using the following BibTeX entry.

@misc{labml,
 author = {Varuna Jayasiri, Nipun Wijerathne},
 title = {LabML: A library to organize machine learning experiments},
 year = {2020},
 url = {https://lab-ml.com/},
}