Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/labmlai/labml
๐ Monitor deep learning model training and hardware usage from your mobile phone ๐ฑ
https://github.com/labmlai/labml
analytics deep-learning experiment fastai keras keras-tensorflow machine-learning mobile pytorch pytorch-lightning tensorboard tensorflow tensorflow2 visualization
Last synced: 5 days ago
JSON representation
๐ Monitor deep learning model training and hardware usage from your mobile phone ๐ฑ
- Host: GitHub
- URL: https://github.com/labmlai/labml
- Owner: labmlai
- License: mit
- Created: 2018-11-16T09:34:48.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2024-10-25T17:36:27.000Z (3 months ago)
- Last Synced: 2024-10-29T14:50:32.444Z (3 months ago)
- Topics: analytics, deep-learning, experiment, fastai, keras, keras-tensorflow, machine-learning, mobile, pytorch, pytorch-lightning, tensorboard, tensorflow, tensorflow2, visualization
- Language: Python
- Homepage: https://labml.ai
- Size: 101 MB
- Stars: 2,040
- Watchers: 27
- Forks: 136
- Open Issues: 5
-
Metadata Files:
- Readme: readme.md
- License: license
Awesome Lists containing this project
- awesome-list - labml - Monitor deep learning model training and hardware usage from your mobile phone. (Machine Learning Framework / Experiment Management)
- awesome-python-machine-learning-resources - GitHub - 44% open ยท โฑ๏ธ 15.08.2022): (ๅทฅไฝๆต็จๅๅฎ้ช่ท่ธช)
- StarryDivineSky - labmlai/labml
README
Monitor deep learning model training and hardware usage from mobile.
[![PyPI - Python Version](https://badge.fury.io/py/labml.svg)](https://badge.fury.io/py/labml)
[![PyPI Status](https://pepy.tech/badge/labml)](https://pepy.tech/project/labml)
[![Docs](https://img.shields.io/badge/labml-docs-blue)](https://docs.labml.ai/)
[![Twitter](https://img.shields.io/twitter/follow/labmlai?style=social)](https://twitter.com/labmlai?ref_src=twsrc%5Etfw)
### ๐ฅ Features
* Monitor running experiments from mobile phone or laptop
* Monitor hardware usage on any computer
with a single command
* Integrate with just 2 lines of code (see examples below)
* Keeps track of experiments including infomation like git commit, configurations and hyper-parameters
* API for custom visualizations
[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/labmlai/labml/blob/master/samples/stocks/analysis.ipynb)
[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/vpj/poker/blob/master/kuhn_cfr/kuhn_cfr.ipynb)
* Pretty logs of training progress
* Open source!### Hosting the experiments server
#### Prerequisites
To install `MongoDB`, refer to the official
documentation [here](https://www.mongodb.com/docs/manual/tutorial/install-mongodb-on-ubuntu/).#### Installation
Install the package using pip:
```bash
pip install labml-app
```#### Starting the server
```sh
# Start the server on the default port (5005)
labml app-server# To start the server on a different port, use the following command
labml app-server --port PORT
```***Optional: to setup and configure Nginx in your server, please refer
to [this](https://github.com/labmlai/labml/blob/master/guides/server-setup.md).***You can access the user interface either by visiting `http://localhost:{port}` or, if configured on a separate machine,
by navigating to `http://{server-ip}:{port}`.### Monitor Experiments
#### Installation
1. Install the package using pip.
```bash
pip install labml
```2. Create a file named `.labml.yaml` at the top level of your project folder, and add the following line to the file:
```yaml
app_url: http://localhost:{port}/api/v1/default# If you are setting up the project on a different machine, include the following line instead,
app_url: http://{server-ip}:{port}/api/v1/default
```#### PyTorch example
```python
from labml import tracker, experimentwith experiment.record(name='sample', exp_conf=conf):
for i in range(50):
loss, accuracy = train()
tracker.save(i, {'loss': loss, 'accuracy': accuracy})
```#### Distributed training example
```python
from labml import tracker, experimentuuid = experiment.generate_uuid() # make sure to sync this in every machine
experiment.create(uuid=uuid,
name='distributed training sample',
distributed_rank=0,
distributed_world_size=8,
)
with experiment.start():
for i in range(50):
loss, accuracy = train()
tracker.save(i, {'loss': loss, 'accuracy': accuracy})
```### ๐ Documentation
* [Python API Reference](https://docs.labml.ai)
* [Samples](https://github.com/labmlai/labml/tree/master/samples)##### Guides
* [API to create experiments](https://colab.research.google.com/github/labmlai/labml/blob/master/guides/experiment.ipynb)
* [Track training metrics](https://colab.research.google.com/github/labmlai/labml/blob/master/guides/tracker.ipynb)
* [Monitored training loop and other iterators](https://colab.research.google.com/github/labmlai/labml/blob/master/guides/monitor.ipynb)
* [API for custom visualizations](https://colab.research.google.com/github/labmlai/labml/blob/master/guides/analytics.ipynb)
* [Configurations management API](https://colab.research.google.com/github/labmlai/labml/blob/master/guides/configs.ipynb)
* [Logger for stylized logging](https://colab.research.google.com/github/labmlai/labml/blob/master/guides/logger.ipynb)### ๐ฅ Screenshots
#### Formatted training loop output
#### Custom visualizations based on Tensorboard logs
[//]: # (## Tools)
[//]: # ()
[//]: # (### [Training models on cloud](https://github.com/labmlai/labml/tree/master/remote))[//]: # ()
[//]: # (```bash)[//]: # (# Install the package)
[//]: # (pip install labml_remote)
[//]: # ()
[//]: # (# Initialize the project)[//]: # (labml_remote init)
[//]: # ()
[//]: # (# Add cloud server(s) to .remote/configs.yaml)[//]: # ()
[//]: # (# Prepare the remote server(s))[//]: # (labml_remote prepare)
[//]: # ()
[//]: # (# Start a PyTorch distributed training job)[//]: # (labml_remote helper-torch-launch --cmd 'train.py' --nproc-per-node 2 --env GLOO_SOCKET_IFNAME enp1s0)
[//]: # (```)
### [Monitoring hardware usage](https://github.com/labmlai/labml/blob/master/guides/hardware_monitoring.md)
```sh
# Install packages and dependencies
pip install labml psutil py3nvml# Start monitoring
labml monitor
```[//]: # (## Other Guides)
[//]: # ()
[//]: # (#### [Setting up a local Ubuntu workstation for deep learning](https://github.com/labmlai/labml/blob/master/guides/local-ubuntu.md))[//]: # ()
[//]: # (#### [Setting up a cloud computer for deep learning](https://github.com/labmlai/labml/blob/master/guides/remote-python.md))## Citing
If you use LabML for academic research, please cite the library using the following BibTeX entry.
```bibtext
@misc{labml,
author = {Varuna Jayasiri, Nipun Wijerathne, Adithya Narasinghe, Lakshith Nishshanke},
title = {labml.ai: A library to organize machine learning experiments},
year = {2020},
url = {https://labml.ai/},
}
```