lightning-lab

deep learning with pytorch lightning

https://github.com/jxtngx/lightning-lab

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.0%) to scientific vocabulary

Keywords

artificial-intelligence data-science deep-learning fastapi machine-learning python pytorch pytorch-lightning reinforcement-learning streamlit wandb
Last synced: 6 months ago · JSON representation ·

Repository

deep learning with pytorch lightning

Basic Info
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 8
Topics
artificial-intelligence data-science deep-learning fastapi machine-learning python pytorch pytorch-lightning reinforcement-learning streamlit wandb
Created over 3 years ago · Last pushed over 1 year ago
Metadata Files
Readme License Citation

README.md

Lightning Lab

Overview

Lightning Lab is a public template for artificial intelligence and machine learning research projects using Lightning AI's PyTorch Lightning.

[!NOTE] Lightning Lab was featured by Weights and Biases in this community spotlight

The Structure

Source Module

lab.components/ contains experiment utilities grouped by purpose for cohesion.

lab.cli contains code for the command line interface built with Typer.

lab.config assists with project, trainer, and sweep configurations.

lab.datamodule contains code for the LightningDataModule.

lab.dataset contains code for the Torch Dataset.

lab.module contains code for the LightningModule.

lab.trainer contains code for the Lightning Trainer.

Project Root

checkpoints directory contains training checkpoints and the pre-trained production model.

data directory should be used to cache the TorchDataset and training splits locally if the size of the dataset allows for local storage. additionally, this directory should be used to cache predictions during HPO sweeps.

docs directory should be used for technical documentation.

logs directory contains logs generated from experiment managers and profilers.

notebooks directory can be used to present exploratory data analysis, explain math concepts, and create a presentation notebook to accompany a conference style paper.

requirements directory should mirror base requirements and extras found in setup.cfg. the requirements directory and requirements.txt at root are required by the basic Coverage GitHub Action.

tests module contains unit and integration tests targeted by pytest.

setup.py setup.cfg pyproject.toml and MANIFEST.ini assist with packaging the Python project.

.pre-commit-config.yaml is required by pre-commit to install its git-hooks.

Installation

Lightning Lab installs minimal requirements out of the box, and provides extras to make creating robust virtual environments easier. To view the requirements, in setup.cfg, see install_requires for the base requirements and options.extras_require for the available extras.

The recommended install is as follows:

sh python3 -m venv .venv source .venv/bin/activate pip install -e ".[all, { domain extra(s) }]"

where { domain extra(s) } is one of, or some combination of (vision, text, audio, rl, forecast) e.g.

sh python3 -m venv .venv source .venv/bin/activate pip install -e ".[all, forecast]"

[!NOTE] Do not install multiple variations of Lightning Lab into a single virtual environment. As this will override the studio CLI for each new variation that is installed.

Refactoring the Template

Lightning Lab is a great template for deep learning projects. Using the template will require some refactoring if you intend to rename src/lab to something like src/textlab. You can refactor in a few simple steps in VS Code:

  1. Start by renaming the src/lab to something like src/textlab or src/imagenetlab. Doing so will allow VS Code to refactor all instance of lab that exists in any .py file.
  2. Open the search pane in VS Code and search for lightniglab in tests/ and replace those occurences with whatever you have renamed the source module to.
  3. Next, search for lab and replace those occurences in all .toml .md cfg files and string occurences in .py files.
  4. Next, search for Lightning Lab and change that to your repo name.
  5. Next, search for my name – Justin Goheen and replace that with either your name or GitHub username.
  6. Next, search once again for my name as jxtngx and do the following:
    • replace the occurences in mkdocs.yml with your GitHub username.
    • replace the occurences in authors.yml with your choice of author name for your docs and blog.

Owner

  • Login: jxtngx
  • Kind: user

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: lastName
    given-names: firstName
  - name: "FirstName LastName"
title: "Project Title"
version: 0.0.1
date-released: 2022-08-06
license: "Apache-2.0"
repository-code: ""
keywords:
  - machine learning
  - deep learning
  - artificial intelligence

GitHub Events

Total
  • Public event: 2
  • Push event: 9
Last Year
  • Public event: 2
  • Push event: 9

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 13
  • Total pull requests: 33
  • Average time to close issues: about 14 hours
  • Average time to close pull requests: 6 days
  • Total issue authors: 1
  • Total pull request authors: 2
  • Average comments per issue: 0.15
  • Average comments per pull request: 0.18
  • Merged pull requests: 33
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • jxtngx (7)
Pull Request Authors
  • jxtngx (21)
  • CircleCI-config-suggestions-bot (1)
Top Labels
Issue Labels
Pull Request Labels
enhancement (6)

Dependencies

.github/workflows/codeql-analysis.yml actions
  • actions/checkout v3 composite
  • github/codeql-action/analyze v2 composite
  • github/codeql-action/autobuild v2 composite
  • github/codeql-action/init v2 composite
.github/workflows/coverage.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v4 composite
  • codecov/codecov-action v3 composite
.github/workflows/docs.yml actions
  • actions/cache v3 composite
  • actions/checkout v4 composite
  • actions/setup-python v4 composite
pyproject.toml pypi
requirements/base.txt pypi
  • optuna *
  • pytorch-lightning *
  • torch *
  • torch-tb-profiler *
  • wandb *
requirements/cli.txt pypi
  • rich *
  • typer *
requirements/dev.txt pypi
  • bandit * development
  • black * development
  • coverage * development
  • isort * development
  • mypy * development
  • pre-commit * development
  • pytest * development
  • ruff * development
requirements/docs.txt pypi
  • mkdocs-material *
  • mkdocstrings *
requirements/frontends.txt pypi
  • plotly *
  • streamlit *
requirements/packaging.txt pypi
  • build *
  • setuptools *
  • twine *
requirements.txt pypi
setup.py pypi