{"id":13427035,"url":"https://github.com/labmlai/labml","last_synced_at":"2025-05-13T19:17:38.301Z","repository":{"id":38081358,"uuid":"157845016","full_name":"labmlai/labml","owner":"labmlai","description":"🔎 Monitor deep learning model training and hardware usage from your mobile phone 📱","archived":false,"fork":false,"pushed_at":"2025-04-10T09:30:35.000Z","size":105754,"stargazers_count":2153,"open_issues_count":6,"forks_count":141,"subscribers_count":27,"default_branch":"master","last_synced_at":"2025-04-28T11:52:39.716Z","etag":null,"topics":["analytics","deep-learning","experiment","fastai","keras","keras-tensorflow","machine-learning","mobile","pytorch","pytorch-lightning","tensorboard","tensorflow","tensorflow2","visualization"],"latest_commit_sha":null,"homepage":"https://labml.ai","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/labmlai.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"license","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-11-16T09:34:48.000Z","updated_at":"2025-04-27T12:52:59.000Z","dependencies_parsed_at":"2025-04-28T12:02:43.131Z","dependency_job_id":null,"html_url":"https://github.com/labmlai/labml","commit_stats":{"total_commits":1959,"total_committers":10,"mean_commits":195.9,"dds":"0.38489025012761613","last_synced_commit":"1033edb109ac24268ed7810171060a63243a67bd"},"previous_names":["lab-ml/lab"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/labmlai%2Flabml","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/labmlai%2Flabml/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/labmlai%2Flabml/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/labmlai%2Flabml/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/labmlai","download_url":"https://codeload.github.com/labmlai/labml/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254010830,"owners_count":21999004,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["analytics","deep-learning","experiment","fastai","keras","keras-tensorflow","machine-learning","mobile","pytorch","pytorch-lightning","tensorboard","tensorflow","tensorflow2","visualization"],"created_at":"2024-07-31T00:01:51.758Z","updated_at":"2025-05-13T19:17:38.280Z","avatar_url":"https://github.com/labmlai.png","language":"Python","readme":"\u003cdiv align=\"center\" style=\"margin-bottom: 100px;\"\u003e\n\n\u003ch1\u003eMonitor deep learning model training and hardware usage from mobile.\u003c/h1\u003e\n\n[![PyPI - Python Version](https://badge.fury.io/py/labml.svg)](https://badge.fury.io/py/labml)\n[![PyPI Status](https://pepy.tech/badge/labml)](https://pepy.tech/project/labml)\n[![Docs](https://img.shields.io/badge/labml-docs-blue)](https://docs.labml.ai/)\n[![Twitter](https://img.shields.io/twitter/follow/labmlai?style=social)](https://twitter.com/labmlai?ref_src=twsrc%5Etfw)\n\n\u003cimg src=\"https://github.com/labmlai/labml/blob/master/images/cover-dark.png\" alt=\"\"/\u003e\n\u003c/div\u003e\n\n### 🔥 Features\n\n* Monitor running experiments from mobile phone or laptop\n* Monitor hardware usage on any computer\n  with a single command\n* Integrate with just 2 lines of code (see examples below)\n* Keeps track of experiments including infomation like git commit, configurations and hyper-parameters\n* API for custom visualizations\n  [![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)\n  [![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)\n* Pretty logs of training progress\n* Open source!\n\n### Hosting the experiments server\n\n#### Prerequisites\n\nTo install `MongoDB`, refer to the official\n   documentation [here](https://www.mongodb.com/docs/manual/tutorial/install-mongodb-on-ubuntu/).\n\n#### Installation\n\nInstall the package using pip:\n\n```bash\npip install labml-app\n```\n\n#### Starting the server\n\n```sh\n# Start the server on the default port (5005)\nlabml app-server\n\n# To start the server on a different port, use the following command\nlabml app-server --port PORT\n```\n\n***Optional: to setup and configure Nginx in your server, please refer\nto [this](https://github.com/labmlai/labml/blob/master/guides/server-setup.md).***\n\nYou can access the user interface either by visiting `http://localhost:{port}` or, if configured on a separate machine,\nby navigating to `http://{server-ip}:{port}`.\n\n### Monitor Experiments\n\n#### Installation\n\n1. Install the package using pip.\n\n```bash\npip install labml\n```\n\n2. Create a file named `.labml.yaml` at the top level of your project folder, and add the following line to the file:\n\n```yaml\napp_url: http://localhost:{port}/api/v1/default\n\n# If you are setting up the project on a different machine, include the following line instead,\napp_url: http://{server-ip}:{port}/api/v1/default\n```\n\n#### PyTorch example\n\n```python\nfrom labml import tracker, experiment\n\nwith experiment.record(name='sample', exp_conf=conf):\n    for i in range(50):\n        loss, accuracy = train()\n        tracker.save(i, {'loss': loss, 'accuracy': accuracy})\n```\n\n#### Distributed training example\n\n```python\nfrom labml import tracker, experiment\n\nuuid = experiment.generate_uuid() # make sure to sync this in every machine\nexperiment.create(uuid=uuid,\n                  name='distributed training sample',\n                  distributed_rank=0,\n                  distributed_world_size=8,\n                  )\nwith experiment.start():\n    for i in range(50):\n        loss, accuracy = train()\n        tracker.save(i, {'loss': loss, 'accuracy': accuracy})\n```\n\n### 📚 Documentation\n\n* [Python API Reference](https://docs.labml.ai)\n* [Samples](https://github.com/labmlai/labml/tree/master/samples)\n\n##### Guides\n\n* [API to create experiments](https://colab.research.google.com/github/labmlai/labml/blob/master/guides/experiment.ipynb)\n* [Track training metrics](https://colab.research.google.com/github/labmlai/labml/blob/master/guides/tracker.ipynb)\n* [Monitored training loop and other iterators](https://colab.research.google.com/github/labmlai/labml/blob/master/guides/monitor.ipynb)\n* [API for custom visualizations](https://colab.research.google.com/github/labmlai/labml/blob/master/guides/analytics.ipynb)\n* [Configurations management API](https://colab.research.google.com/github/labmlai/labml/blob/master/guides/configs.ipynb)\n* [Logger for stylized logging](https://colab.research.google.com/github/labmlai/labml/blob/master/guides/logger.ipynb)\n\n### 🖥 Screenshots\n\n#### Formatted training loop output\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/vpj/lab/master/images/logger_sample.png\" alt=\"Sample Logs\"/\u003e\n\u003c/div\u003e\n\n#### Custom visualizations based on Tensorboard logs\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/vpj/lab/master/images/analytics.png\" alt=\"Analytics\"/\u003e\n\u003c/div\u003e\n\n[//]: # (## Tools)\n\n[//]: # ()\n[//]: # (### [Training models on cloud]\u0026#40;https://github.com/labmlai/labml/tree/master/remote\u0026#41;)\n\n[//]: # ()\n[//]: # (```bash)\n\n[//]: # (# Install the package)\n\n[//]: # (pip install labml_remote)\n\n[//]: # ()\n[//]: # (# Initialize the project)\n\n[//]: # (labml_remote init)\n\n[//]: # ()\n[//]: # (# Add cloud server\u0026#40;s\u0026#41; to .remote/configs.yaml)\n\n[//]: # ()\n[//]: # (# Prepare the remote server\u0026#40;s\u0026#41;)\n\n[//]: # (labml_remote prepare)\n\n[//]: # ()\n[//]: # (# Start a PyTorch distributed training job)\n\n[//]: # (labml_remote helper-torch-launch --cmd 'train.py' --nproc-per-node 2 --env GLOO_SOCKET_IFNAME enp1s0)\n\n[//]: # (```)\n\n### [Monitoring hardware usage](https://github.com/labmlai/labml/blob/master/guides/hardware_monitoring.md)\n\n```sh\n# Install packages and dependencies\npip install labml psutil py3nvml\n\n# Start monitoring\nlabml monitor\n```\n\n[//]: # (## Other Guides)\n\n[//]: # ()\n[//]: # (#### [Setting up a local Ubuntu workstation for deep learning]\u0026#40;https://github.com/labmlai/labml/blob/master/guides/local-ubuntu.md\u0026#41;)\n\n[//]: # ()\n[//]: # (#### [Setting up a cloud computer for deep learning]\u0026#40;https://github.com/labmlai/labml/blob/master/guides/remote-python.md\u0026#41;)\n\n## Citing\n\nIf you use LabML for academic research, please cite the library using the following BibTeX entry.\n\n```bibtext\n@misc{labml,\n author = {Varuna Jayasiri, Nipun Wijerathne, Adithya Narasinghe, Lakshith Nishshanke},\n title = {labml.ai: A library to organize machine learning experiments},\n year = {2020},\n url = {https://labml.ai/},\n}\n```\n","funding_links":[],"categories":["Jupyter Notebook","Python","Machine Learning Framework","工作流程和实验跟踪","其他_机器学习与深度学习"],"sub_categories":["Experiment Management"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flabmlai%2Flabml","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flabmlai%2Flabml","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flabmlai%2Flabml/lists"}