Giter Club home page Giter Club logo

app's Introduction

⚠️ 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/},
}

app's People

Contributors

adrien1018 avatar hnipun avatar nmasnadithya avatar vpj avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

app's Issues

Local file system to sync with app

Service needs to be implemented to communicate the server and a local machine.

  • Sync deleted/active/stale runs.
  • Delete checkpoints/artefacts/Tensor board logs/runs from UI.
  • Send disk space usage of each runs to the server.
  • Check whether the local machine is actively communicating with the server.

Smoothing in log scale

Currently, we use linear scale smoothing for the Log-chart. Preferably, Log scale smoothing should be used.

Hyperparameters are not working

  1. Currently, some of the hyperparameters are showing incorrect (rounded integer) values. GET /api/v1/run/[id] is returning correct types and values.
  2. Hyperparameter saving is not working for all hyperparameters (no matter if it is displayed correctly), either by tweaking sliders or by manually entering values. POST /api/v1/hyper_params/[id] is returning 500 now.

Though these are more likely two separate issues, they both appeared today (on app.labml.ai).

The screenshot of the first issue:
drawing

The numbers on the Run page shows correct numbers:
drawing

Aggregate distributed processes

Currently, the server only uses data from the master process in a distributed run. ideally, all the processes should be aggregated.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.